From ce668c556cba8a2eb0e9033ef2d9dbd90ec7edf2 Mon Sep 17 00:00:00 2001 From: Sukchan Lee Date: Sun, 26 Feb 2023 10:01:08 +0900 Subject: [PATCH] [SBI] Fixed openapitools MAP generation (#2103) MAP was generated incorrectly because {{#items}}..{{#items}} was missing. Because of this, If scpInfo has scpPort, NRF crashes. --- lib/sbi/meson.build | 1 - lib/sbi/ogs-sbi.h | 2 +- lib/sbi/openapi/meson.build | 3 + lib/sbi/openapi/model/acc_net_ch_id.c | 2 +- .../openapi/model/acceptable_service_info.c | 12 +- .../access_and_mobility_subscription_data.c | 19 +- .../access_and_mobility_subscription_data_1.c | 19 +- lib/sbi/openapi/model/access_token_req.c | 2 +- .../openapi/model/af_event_exposure_data.c | 4 +- lib/sbi/openapi/model/am_policy_data.c | 14 +- .../model/amf_event_subscription_add_info.c | 2 +- .../model/app_session_context_req_data.c | 12 +- .../model/app_session_context_update_data.c | 12 +- lib/sbi/openapi/model/area.c | 2 +- lib/sbi/openapi/model/area_1.c | 2 +- lib/sbi/openapi/model/area_scope.c | 18 +- lib/sbi/openapi/model/assign_ebi_data.c | 2 +- lib/sbi/openapi/model/assigned_ebi_data.c | 2 +- lib/sbi/openapi/model/ausf_info.c | 2 +- lib/sbi/openapi/model/authentication_info.c | 2 +- .../model/authentication_info_request.c | 2 +- .../model/authorized_network_slice_info.c | 2 +- lib/sbi/openapi/model/bsf_info.c | 4 +- lib/sbi/openapi/model/cag_data.c | 12 +- lib/sbi/openapi/model/cag_data_1.c | 12 +- lib/sbi/openapi/model/cag_info.c | 2 +- lib/sbi/openapi/model/cag_info_1.c | 2 +- .../openapi/model/candidate_for_replacement.c | 2 +- lib/sbi/openapi/model/context_info.c | 2 +- lib/sbi/openapi/model/data_change_notify.c | 2 +- lib/sbi/openapi/model/data_filter.c | 14 +- .../model/default_notification_subscription.c | 2 +- .../openapi/model/default_unrelated_class.c | 2 +- .../openapi/model/default_unrelated_class_1.c | 2 +- lib/sbi/openapi/model/dnn_info.c | 2 +- lib/sbi/openapi/model/dnn_upf_info_item.c | 13 +- lib/sbi/openapi/model/eap_session.c | 12 +- lib/sbi/openapi/model/ee_group_profile_data.c | 19 +- lib/sbi/openapi/model/ee_profile_data.c | 19 +- lib/sbi/openapi/model/ee_subscription.c | 12 +- lib/sbi/openapi/model/eps_interworking_info.c | 12 +- lib/sbi/openapi/model/eth_flow_description.c | 2 +- .../model/exposure_data_change_notification.c | 2 +- .../model/exposure_data_subscription.c | 2 +- .../model/ext_amf_event_subscription.c | 2 +- lib/sbi/openapi/model/flow_info.c | 2 +- lib/sbi/openapi/model/flows.c | 4 +- lib/sbi/openapi/model/hsmf_update_data.c | 6 +- lib/sbi/openapi/model/hsmf_updated_data.c | 2 +- lib/sbi/openapi/model/identity_data.c | 4 +- lib/sbi/openapi/model/inline_response_200.c | 12 +- .../openapi/model/inter_freq_target_info.c | 2 +- .../openapi/model/inter_freq_target_info_1.c | 2 +- .../openapi/model/interface_upf_info_item.c | 4 +- lib/sbi/openapi/model/iptv_config_data.c | 12 +- .../openapi/model/iptv_config_data_patch.c | 12 +- .../model/limit_id_to_monitoring_key.c | 2 +- lib/sbi/openapi/model/media_component.c | 16 +- lib/sbi/openapi/model/media_component_rm.c | 16 +- lib/sbi/openapi/model/media_sub_component.c | 2 +- .../openapi/model/media_sub_component_rm.c | 2 +- lib/sbi/openapi/model/mm_context.c | 2 +- .../model/model_5_gvn_group_configuration.c | 2 +- .../model/n2_information_notification.c | 2 +- lib/sbi/openapi/model/n2_interface_amf_info.c | 4 +- lib/sbi/openapi/model/nef_cond.c | 2 +- lib/sbi/openapi/model/nef_info.c | 2 +- lib/sbi/openapi/model/network_slice_cond.c | 2 +- .../openapi/model/nf_instance_id_list_cond.c | 2 +- lib/sbi/openapi/model/nf_profile.c | 174 +- lib/sbi/openapi/model/nf_service.c | 27 +- lib/sbi/openapi/model/notif_condition.c | 4 +- lib/sbi/openapi/model/npn_access_info.c | 2 +- lib/sbi/openapi/model/nrf_info.c | 420 +- lib/sbi/openapi/model/nssai.c | 12 +- lib/sbi/openapi/model/nssai_1.c | 12 +- lib/sbi/openapi/model/nwdaf_cond.c | 2 +- lib/sbi/openapi/model/patch_item.c | 2 +- lib/sbi/openapi/model/pcc_rule.c | 16 +- lib/sbi/openapi/model/pcf_binding.c | 8 +- lib/sbi/openapi/model/pcf_binding_patch.c | 4 +- lib/sbi/openapi/model/pcf_info.c | 2 +- lib/sbi/openapi/model/pcscf_info.c | 6 +- .../openapi/model/pdu_session_create_data.c | 4 +- .../openapi/model/pdu_session_created_data.c | 2 +- .../model/pdu_session_management_data.c | 4 +- lib/sbi/openapi/model/pfd_content.c | 6 +- lib/sbi/openapi/model/pfd_data.c | 4 +- lib/sbi/openapi/model/plmn_operator_class.c | 2 +- lib/sbi/openapi/model/plmn_operator_class_1.c | 2 +- lib/sbi/openapi/model/policy_association.c | 12 +- .../model/policy_association_request.c | 8 +- .../model/policy_association_update_request.c | 18 +- .../model/policy_data_change_notification.c | 14 +- .../openapi/model/policy_data_subscription.c | 2 +- lib/sbi/openapi/model/policy_update.c | 12 +- .../model/pp5g_vn_group_profile_data.c | 19 +- lib/sbi/openapi/model/pp_profile_data.c | 19 +- lib/sbi/openapi/model/problem_details_2.c | 288 ++ lib/sbi/openapi/model/problem_details_2.h | 53 + lib/sbi/openapi/model/psa_information.c | 2 +- lib/sbi/openapi/model/qos_flow_tunnel.c | 2 +- lib/sbi/openapi/model/qos_monitoring_report.c | 6 +- lib/sbi/openapi/model/requested_rule_data.c | 2 +- lib/sbi/openapi/model/requested_usage_data.c | 2 +- lib/sbi/openapi/model/resource_item.c | 2 +- lib/sbi/openapi/model/rule_report.c | 4 +- .../model/scheduled_communication_time.c | 2 +- .../model/scheduled_communication_time_1.c | 2 +- .../model/scheduled_communication_time_rm.c | 2 +- lib/sbi/openapi/model/scp_domain_cond.c | 2 +- lib/sbi/openapi/model/scp_domain_info.c | 11 +- lib/sbi/openapi/model/scp_info.c | 38 +- lib/sbi/openapi/model/sdm_subs_modification.c | 2 +- lib/sbi/openapi/model/sdm_subscription.c | 2 +- lib/sbi/openapi/model/sdm_subscription_1.c | 2 +- lib/sbi/openapi/model/sequence_number.c | 11 +- .../model/service_type_unrelated_class.c | 2 +- .../model/service_type_unrelated_class_1.c | 2 +- .../session_management_subscription_data.c | 49 +- .../session_management_subscription_data_1.c | 49 +- lib/sbi/openapi/model/session_rule_report.c | 2 +- lib/sbi/openapi/model/shared_data.c | 36 +- .../openapi/model/sm_context_create_data.c | 10 +- .../openapi/model/sm_context_retrieve_data.c | 2 +- .../model/sm_context_status_notification.c | 2 +- .../openapi/model/sm_context_update_data.c | 6 +- .../openapi/model/sm_context_updated_data.c | 6 +- .../openapi/model/sm_policy_context_data.c | 6 +- lib/sbi/openapi/model/sm_policy_data.c | 36 +- lib/sbi/openapi/model/sm_policy_data_patch.c | 24 +- lib/sbi/openapi/model/sm_policy_decision.c | 120 +- lib/sbi/openapi/model/sm_policy_dnn_data.c | 39 +- .../openapi/model/sm_policy_dnn_data_patch.c | 11 +- lib/sbi/openapi/model/sm_policy_snssai_data.c | 12 +- .../model/sm_policy_snssai_data_patch.c | 12 +- .../model/sm_policy_update_context_data.c | 14 +- lib/sbi/openapi/model/smf_change_info.c | 2 +- lib/sbi/openapi/model/smf_selection_data.c | 12 +- .../model/smf_selection_subscription_data.c | 12 +- .../model/smf_selection_subscription_data_1.c | 12 +- .../model/sms_management_subscription_data.c | 2 +- .../sms_management_subscription_data_1.c | 2 +- lib/sbi/openapi/model/spatial_validity.c | 12 +- lib/sbi/openapi/model/spatial_validity_rm.c | 12 +- .../openapi/model/sponsor_connectivity_data.c | 2 +- lib/sbi/openapi/model/subscription_data.c | 2 +- .../model/subscription_data_subscr_cond.c | 4 +- .../model/subscription_data_subscriptions.c | 2 +- lib/sbi/openapi/model/tac_info.c | 2 +- lib/sbi/openapi/model/tngf_info.c | 4 +- lib/sbi/openapi/model/traffic_influ_data.c | 2 +- .../openapi/model/traffic_influ_data_patch.c | 2 +- lib/sbi/openapi/model/traffic_influ_sub.c | 6 +- lib/sbi/openapi/model/twif_info.c | 4 +- lib/sbi/openapi/model/udm_info.c | 2 +- lib/sbi/openapi/model/udsf_info.c | 19 +- .../model}/ue_authentication_ctx.c | 138 +- .../model}/ue_authentication_ctx.h | 26 +- .../ue_authentication_ctx_5g_auth_data.c | 166 + .../ue_authentication_ctx_5g_auth_data.h | 43 + lib/sbi/openapi/model/ue_context.c | 4 +- .../openapi/model/ue_context_in_smf_data.c | 12 +- .../openapi/model/ue_context_in_smf_data_1.c | 12 +- lib/sbi/openapi/model/ue_id.c | 2 +- lib/sbi/openapi/model/ue_policy_set.c | 42 +- lib/sbi/openapi/model/ue_policy_set_patch.c | 16 +- .../model/ue_reg_status_update_req_data.c | 2 +- lib/sbi/openapi/model/upf_cond.c | 2 +- lib/sbi/openapi/model/upf_info.c | 2 +- lib/sbi/openapi/model/usage_mon_data.c | 12 +- lib/sbi/openapi/model/usage_mon_data_limit.c | 12 +- lib/sbi/openapi/model/usage_mon_data_scope.c | 2 +- lib/sbi/openapi/model/usage_monitoring_data.c | 2 +- lib/sbi/openapi/model/vsmf_update_data.c | 4 +- lib/sbi/openapi/model/vsmf_updated_data.c | 2 +- lib/sbi/openapi/model/w_agf_info.c | 4 +- lib/sbi/openapi/model/wireline_area.c | 4 +- lib/sbi/openapi/model/wireline_area_1.c | 4 +- .../README.md | 0 .../generator.sh | 0 .../modified/TS29122_CommonData.yaml | 0 .../modified/TS29122_PfdManagement.yaml | 0 .../TS29122_ResourceManagementOfBdt.yaml | 0 .../modified/TS29502_Nsmf_PDUSession.yaml | 0 .../modified/TS29503_Nudm_EE.yaml | 0 .../modified/TS29503_Nudm_NIDDAU.yaml | 0 .../modified/TS29503_Nudm_PP.yaml | 0 .../modified/TS29503_Nudm_SDM.yaml | 0 .../modified/TS29503_Nudm_UEAU.yaml | 0 .../modified/TS29503_Nudm_UECM.yaml | 0 .../modified/TS29504_Nudr_DR.yaml | 0 .../modified/TS29505_Subscription_Data.yaml | 0 .../TS29507_Npcf_AMPolicyControl.yaml | 0 .../modified/TS29509_Nausf_SoRProtection.yaml | 0 .../TS29509_Nausf_UEAuthentication.yaml | 0 .../modified/TS29509_Nausf_UPUProtection.yaml | 0 .../modified/TS29510_Nnrf_AccessToken.yaml | 0 .../modified/TS29510_Nnrf_NFDiscovery.yaml | 0 .../modified/TS29510_Nnrf_NFManagement.yaml | 0 .../TS29512_Npcf_SMPolicyControl.yaml | 0 .../TS29514_Npcf_PolicyAuthorization.yaml | 0 .../modified/TS29517_Naf_EventExposure.yaml | 0 .../modified/TS29518_Namf_Communication.yaml | 0 .../modified/TS29518_Namf_EventExposure.yaml | 0 .../modified/TS29519_Application_Data.yaml | 0 .../modified/TS29519_Exposure_Data.yaml | 0 .../modified/TS29519_Policy_Data.yaml | 0 .../TS29520_Nnwdaf_AnalyticsInfo.yaml | 0 .../TS29520_Nnwdaf_EventsSubscription.yaml | 0 .../modified/TS29521_Nbsf_Management.yaml | 0 .../modified/TS29522_IPTVConfiguration.yaml | 0 .../modified/TS29522_ServiceParameter.yaml | 0 .../modified/TS29522_TrafficInfluence.yaml | 0 .../modified/TS29531_Nnssf_NSSelection.yaml | 0 .../modified/TS29544_Nspaf_SecuredPacket.yaml | 0 .../modified/TS29551_Nnef_PFDmanagement.yaml | 0 .../TS29554_Npcf_BDTPolicyControl.yaml | 0 .../modified/TS29571_CommonData.yaml | 0 .../modified/TS29572_Nlmf_Location.yaml | 0 .../TS32291_Nchf_ConvergedCharging.yaml | 0 .../openapi-generator/VERSION | 0 .../openapi-generator/config.yaml | 0 .../openapi-generator/templates/any_type.c | 0 .../openapi-generator/templates/any_type.h | 0 .../templates/apiKey.c.mustache | 0 .../templates/binary.c.mustache | 0 .../templates/binary.h.mustache | 0 .../templates/cJSON.c.mustache | 0 .../templates/cJSON.h.mustache | 0 .../templates/keyValuePair.h.mustache | 0 .../templates/list.c.mustache | 0 .../templates/list.h.mustache | 0 .../templates/model-body.mustache | 50 +- .../templates/model-header.mustache | 0 .../templates/object-body.mustache | 0 .../templates/object-header.mustache | 0 .../openapi-generator/uncrustify-rules.cfg | 0 .../openapitools.json | 0 .../standard/TS29122_AsSessionWithQoS.yaml | 0 .../standard/TS29122_ChargeableParty.yaml | 0 .../standard/TS29122_CommonData.yaml | 0 .../standard/TS29122_CpProvisioning.yaml | 0 .../standard/TS29122_DeviceTriggering.yaml | 0 .../standard/TS29122_ECRControl.yaml | 0 .../standard/TS29122_GMDviaMBMSbyMB2.yaml | 0 .../standard/TS29122_GMDviaMBMSbyxMB.yaml | 0 .../standard/TS29122_MonitoringEvent.yaml | 0 .../standard/TS29122_MsisdnLessMoSms.yaml | 0 .../standard/TS29122_NIDD.yaml | 0 .../standard/TS29122_NpConfiguration.yaml | 0 .../standard/TS29122_PfdManagement.yaml | 0 .../TS29122_RacsParameterProvisioning.yaml | 0 .../TS29122_ReportingNetworkStatus.yaml | 0 .../TS29122_ResourceManagementOfBdt.yaml | 0 .../standard/TS29502_Nsmf_PDUSession.yaml | 0 .../standard/TS29503_Nudm_EE.yaml | 0 .../standard/TS29503_Nudm_MT.yaml | 0 .../standard/TS29503_Nudm_NIDDAU.yaml | 0 .../standard/TS29503_Nudm_PP.yaml | 0 .../standard/TS29503_Nudm_SDM.yaml | 0 .../standard/TS29503_Nudm_UEAU.yaml | 0 .../standard/TS29503_Nudm_UECM.yaml | 0 .../standard/TS29504_Nudr_DR.yaml | 0 .../standard/TS29504_Nudr_GroupIDmap.yaml | 0 .../standard/TS29505_Subscription_Data.yaml | 0 .../TS29507_Npcf_AMPolicyControl.yaml | 0 .../standard/TS29509_Nausf_SoRProtection.yaml | 0 .../TS29509_Nausf_UEAuthentication.yaml | 0 .../standard/TS29509_Nausf_UPUProtection.yaml | 0 .../standard/TS29510_Nnrf_AccessToken.yaml | 0 .../standard/TS29510_Nnrf_Bootstrapping.yaml | 0 .../standard/TS29510_Nnrf_NFDiscovery.yaml | 0 .../standard/TS29510_Nnrf_NFManagement.yaml | 0 .../TS29512_Npcf_SMPolicyControl.yaml | 0 .../TS29514_Npcf_PolicyAuthorization.yaml | 0 .../standard/TS29517_Naf_EventExposure.yaml | 0 .../standard/TS29518_Namf_Communication.yaml | 0 .../standard/TS29518_Namf_EventExposure.yaml | 0 .../standard/TS29518_Namf_Location.yaml | 0 .../standard/TS29518_Namf_MT.yaml | 0 .../standard/TS29519_Application_Data.yaml | 0 .../standard/TS29519_Exposure_Data.yaml | 0 .../standard/TS29519_Policy_Data.yaml | 0 .../TS29520_Nnwdaf_AnalyticsInfo.yaml | 0 .../TS29520_Nnwdaf_EventsSubscription.yaml | 0 .../standard/TS29521_Nbsf_Management.yaml | 0 .../TS29522_5GLANParameterProvision.yaml | 0 .../TS29522_ACSParameterProvision.yaml | 0 .../standard/TS29522_AnalyticsExposure.yaml | 0 .../standard/TS29522_ApplyingBdtPolicy.yaml | 0 .../standard/TS29522_IPTVConfiguration.yaml | 0 .../TS29522_LpiParameterProvision.yaml | 0 .../standard/TS29522_MoLcsNotify.yaml | 0 .../TS29522_NIDDConfigurationTrigger.yaml | 0 .../standard/TS29522_ServiceParameter.yaml | 0 .../standard/TS29522_TrafficInfluence.yaml | 0 .../TS29531_Nnssf_NSSAIAvailability.yaml | 0 .../standard/TS29531_Nnssf_NSSelection.yaml | 0 .../standard/TS29544_Nspaf_SecuredPacket.yaml | 0 .../standard/TS29551_Nnef_PFDmanagement.yaml | 0 .../TS29554_Npcf_BDTPolicyControl.yaml | 0 .../standard/TS29571_CommonData.yaml | 0 .../standard/TS29572_Nlmf_Broadcast.yaml | 0 .../standard/TS29572_Nlmf_Location.yaml | 0 .../TS32291_Nchf_ConvergedCharging.yaml | 0 .../TS32291_Nchf_OfflineOnlyCharging.yaml | 0 .../r16-20230226-openapitools-6.4.0/README.md | 16 + .../generator.sh | 27 + .../modified/TS29122_CommonData.yaml | 521 ++ .../modified/TS29122_PfdManagement.yaml | 636 +++ .../TS29122_ResourceManagementOfBdt.yaml | 403 ++ .../modified/TS29502_Nsmf_PDUSession.yaml | 4395 ++++++++++++++++ .../modified/TS29503_Nudm_EE.yaml | 498 ++ .../modified/TS29503_Nudm_NIDDAU.yaml | 172 + .../modified/TS29503_Nudm_PP.yaml | 551 ++ .../modified/TS29503_Nudm_SDM.yaml | 2900 +++++++++++ .../modified/TS29503_Nudm_UEAU.yaml | 649 +++ .../modified/TS29503_Nudm_UECM.yaml | 1658 ++++++ .../modified/TS29504_Nudr_DR.yaml | 202 + .../modified/TS29505_Subscription_Data.yaml | 4528 +++++++++++++++++ .../TS29507_Npcf_AMPolicyControl.yaml | 607 +++ .../modified/TS29509_Nausf_SoRProtection.yaml | 162 + .../TS29509_Nausf_UEAuthentication.yaml | 608 +++ .../modified/TS29509_Nausf_UPUProtection.yaml | 147 + .../modified/TS29510_Nnrf_AccessToken.yaml | 271 + .../modified/TS29510_Nnrf_NFDiscovery.yaml | 1198 +++++ .../modified/TS29510_Nnrf_NFManagement.yaml | 3000 +++++++++++ .../TS29512_Npcf_SMPolicyControl.yaml | 2204 ++++++++ .../TS29514_Npcf_PolicyAuthorization.yaml | 1801 +++++++ .../modified/TS29517_Naf_EventExposure.yaml | 503 ++ .../modified/TS29518_Namf_Communication.yaml | 3373 ++++++++++++ .../modified/TS29518_Namf_EventExposure.yaml | 707 +++ .../modified/TS29519_Application_Data.yaml | 2008 ++++++++ .../modified/TS29519_Exposure_Data.yaml | 684 +++ .../modified/TS29519_Policy_Data.yaml | 1624 ++++++ .../TS29520_Nnwdaf_AnalyticsInfo.yaml | 270 + .../TS29520_Nnwdaf_EventsSubscription.yaml | 1093 ++++ .../modified/TS29521_Nbsf_Management.yaml | 417 ++ .../modified/TS29522_IPTVConfiguration.yaml | 400 ++ .../modified/TS29522_ServiceParameter.yaml | 341 ++ .../modified/TS29522_TrafficInfluence.yaml | 594 +++ .../modified/TS29531_Nnssf_NSSelection.yaml | 327 ++ .../modified/TS29544_Nspaf_SecuredPacket.yaml | 94 + .../modified/TS29551_Nnef_PFDmanagement.yaml | 417 ++ .../TS29554_Npcf_BDTPolicyControl.yaml | 423 ++ .../modified/TS29571_CommonData.yaml | 2882 +++++++++++ .../modified/TS29572_Nlmf_Location.yaml | 1201 +++++ .../TS32291_Nchf_ConvergedCharging.yaml | 1509 ++++++ .../openapi-generator/VERSION | 1 + .../openapi-generator/config.yaml | 13 + .../openapi-generator/templates/any_type.c | 121 + .../openapi-generator/templates/any_type.h | 55 + .../templates/apiKey.c.mustache | 30 + .../templates/binary.c.mustache | 65 + .../templates/binary.h.mustache | 27 + .../templates/cJSON.c.mustache | 3139 ++++++++++++ .../templates/cJSON.h.mustache | 300 ++ .../templates/keyValuePair.h.mustache | 25 + .../templates/list.c.mustache | 241 + .../templates/list.h.mustache | 58 + .../templates/model-body.mustache | 1066 ++++ .../templates/model-header.mustache | 204 + .../templates/object-body.mustache | 55 + .../templates/object-header.mustache | 30 + .../openapi-generator/uncrustify-rules.cfg | 210 + .../openapitools.json | 7 + .../standard/TS29122_AsSessionWithQoS.yaml | 595 +++ .../standard/TS29122_ChargeableParty.yaml | 390 ++ .../standard/TS29122_CommonData.yaml | 521 ++ .../standard/TS29122_CpProvisioning.yaml | 661 +++ .../standard/TS29122_DeviceTriggering.yaml | 413 ++ .../standard/TS29122_ECRControl.yaml | 191 + .../standard/TS29122_GMDviaMBMSbyMB2.yaml | 771 +++ .../standard/TS29122_GMDviaMBMSbyxMB.yaml | 704 +++ .../standard/TS29122_MonitoringEvent.yaml | 857 ++++ .../standard/TS29122_MsisdnLessMoSms.yaml | 96 + .../standard/TS29122_NIDD.yaml | 1044 ++++ .../standard/TS29122_NpConfiguration.yaml | 452 ++ .../standard/TS29122_PfdManagement.yaml | 636 +++ .../TS29122_RacsParameterProvisioning.yaml | 400 ++ .../TS29122_ReportingNetworkStatus.yaml | 317 ++ .../TS29122_ResourceManagementOfBdt.yaml | 403 ++ .../standard/TS29502_Nsmf_PDUSession.yaml | 4375 ++++++++++++++++ .../standard/TS29503_Nudm_EE.yaml | 498 ++ .../standard/TS29503_Nudm_MT.yaml | 205 + .../standard/TS29503_Nudm_NIDDAU.yaml | 172 + .../standard/TS29503_Nudm_PP.yaml | 551 ++ .../standard/TS29503_Nudm_SDM.yaml | 2888 +++++++++++ .../standard/TS29503_Nudm_UEAU.yaml | 642 +++ .../standard/TS29503_Nudm_UECM.yaml | 1654 ++++++ .../standard/TS29504_Nudr_DR.yaml | 202 + .../standard/TS29504_Nudr_GroupIDmap.yaml | 94 + .../standard/TS29505_Subscription_Data.yaml | 4522 ++++++++++++++++ .../TS29507_Npcf_AMPolicyControl.yaml | 604 +++ .../standard/TS29509_Nausf_SoRProtection.yaml | 162 + .../TS29509_Nausf_UEAuthentication.yaml | 607 +++ .../standard/TS29509_Nausf_UPUProtection.yaml | 147 + .../standard/TS29510_Nnrf_AccessToken.yaml | 271 + .../standard/TS29510_Nnrf_Bootstrapping.yaml | 83 + .../standard/TS29510_Nnrf_NFDiscovery.yaml | 1198 +++++ .../standard/TS29510_Nnrf_NFManagement.yaml | 2946 +++++++++++ .../TS29512_Npcf_SMPolicyControl.yaml | 2179 ++++++++ .../TS29514_Npcf_PolicyAuthorization.yaml | 1784 +++++++ .../standard/TS29517_Naf_EventExposure.yaml | 502 ++ .../standard/TS29518_Namf_Communication.yaml | 3352 ++++++++++++ .../standard/TS29518_Namf_EventExposure.yaml | 707 +++ .../standard/TS29518_Namf_Location.yaml | 468 ++ .../standard/TS29518_Namf_MT.yaml | 203 + .../standard/TS29519_Application_Data.yaml | 2008 ++++++++ .../standard/TS29519_Exposure_Data.yaml | 684 +++ .../standard/TS29519_Policy_Data.yaml | 1622 ++++++ .../TS29520_Nnwdaf_AnalyticsInfo.yaml | 270 + .../TS29520_Nnwdaf_EventsSubscription.yaml | 1093 ++++ .../standard/TS29521_Nbsf_Management.yaml | 416 ++ .../TS29522_5GLANParameterProvision.yaml | 439 ++ .../TS29522_ACSParameterProvision.yaml | 295 ++ .../standard/TS29522_AnalyticsExposure.yaml | 792 +++ .../standard/TS29522_ApplyingBdtPolicy.yaml | 270 + .../standard/TS29522_IPTVConfiguration.yaml | 400 ++ .../TS29522_LpiParameterProvision.yaml | 295 ++ .../standard/TS29522_MoLcsNotify.yaml | 99 + .../TS29522_NIDDConfigurationTrigger.yaml | 97 + .../standard/TS29522_ServiceParameter.yaml | 341 ++ .../standard/TS29522_TrafficInfluence.yaml | 594 +++ .../TS29531_Nnssf_NSSAIAvailability.yaml | 649 +++ .../standard/TS29531_Nnssf_NSSelection.yaml | 326 ++ .../standard/TS29544_Nspaf_SecuredPacket.yaml | 94 + .../standard/TS29551_Nnef_PFDmanagement.yaml | 417 ++ .../TS29554_Npcf_BDTPolicyControl.yaml | 423 ++ .../standard/TS29571_CommonData.yaml | 2832 +++++++++++ .../standard/TS29572_Nlmf_Broadcast.yaml | 222 + .../standard/TS29572_Nlmf_Location.yaml | 1201 +++++ .../TS32291_Nchf_ConvergedCharging.yaml | 1509 ++++++ .../TS32291_Nchf_OfflineOnlyCharging.yaml | 697 +++ src/amf/nausf-handler.c | 2 +- src/ausf/nudm-handler.c | 2 +- 437 files changed, 111103 insertions(+), 906 deletions(-) create mode 100644 lib/sbi/openapi/model/problem_details_2.c create mode 100644 lib/sbi/openapi/model/problem_details_2.h rename lib/sbi/{custom => openapi/model}/ue_authentication_ctx.c (60%) rename lib/sbi/{custom => openapi/model}/ue_authentication_ctx.h (63%) create mode 100644 lib/sbi/openapi/model/ue_authentication_ctx_5g_auth_data.c create mode 100644 lib/sbi/openapi/model/ue_authentication_ctx_5g_auth_data.h rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/README.md (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/generator.sh (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29122_CommonData.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29122_PfdManagement.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29122_ResourceManagementOfBdt.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29502_Nsmf_PDUSession.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29503_Nudm_EE.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29503_Nudm_NIDDAU.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29503_Nudm_PP.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29503_Nudm_SDM.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29503_Nudm_UEAU.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29503_Nudm_UECM.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29504_Nudr_DR.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29505_Subscription_Data.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29507_Npcf_AMPolicyControl.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29509_Nausf_SoRProtection.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29509_Nausf_UEAuthentication.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29509_Nausf_UPUProtection.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29510_Nnrf_AccessToken.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29510_Nnrf_NFDiscovery.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29510_Nnrf_NFManagement.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29512_Npcf_SMPolicyControl.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29514_Npcf_PolicyAuthorization.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29517_Naf_EventExposure.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29518_Namf_Communication.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29518_Namf_EventExposure.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29519_Application_Data.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29519_Exposure_Data.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29519_Policy_Data.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29520_Nnwdaf_AnalyticsInfo.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29520_Nnwdaf_EventsSubscription.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29521_Nbsf_Management.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29522_IPTVConfiguration.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29522_ServiceParameter.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29522_TrafficInfluence.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29531_Nnssf_NSSelection.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29544_Nspaf_SecuredPacket.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29551_Nnef_PFDmanagement.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29554_Npcf_BDTPolicyControl.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29571_CommonData.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS29572_Nlmf_Location.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/modified/TS32291_Nchf_ConvergedCharging.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/VERSION (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/config.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/any_type.c (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/any_type.h (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/apiKey.c.mustache (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/binary.c.mustache (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/binary.h.mustache (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/cJSON.c.mustache (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/cJSON.h.mustache (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/keyValuePair.h.mustache (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/list.c.mustache (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/list.h.mustache (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/model-body.mustache (97%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/model-header.mustache (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/object-body.mustache (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/templates/object-header.mustache (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapi-generator/uncrustify-rules.cfg (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/openapitools.json (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_AsSessionWithQoS.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_ChargeableParty.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_CommonData.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_CpProvisioning.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_DeviceTriggering.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_ECRControl.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_GMDviaMBMSbyMB2.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_GMDviaMBMSbyxMB.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_MonitoringEvent.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_MsisdnLessMoSms.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_NIDD.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_NpConfiguration.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_PfdManagement.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_RacsParameterProvisioning.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_ReportingNetworkStatus.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29122_ResourceManagementOfBdt.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29502_Nsmf_PDUSession.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29503_Nudm_EE.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29503_Nudm_MT.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29503_Nudm_NIDDAU.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29503_Nudm_PP.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29503_Nudm_SDM.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29503_Nudm_UEAU.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29503_Nudm_UECM.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29504_Nudr_DR.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29504_Nudr_GroupIDmap.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29505_Subscription_Data.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29507_Npcf_AMPolicyControl.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29509_Nausf_SoRProtection.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29509_Nausf_UEAuthentication.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29509_Nausf_UPUProtection.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29510_Nnrf_AccessToken.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29510_Nnrf_Bootstrapping.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29510_Nnrf_NFDiscovery.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29510_Nnrf_NFManagement.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29512_Npcf_SMPolicyControl.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29514_Npcf_PolicyAuthorization.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29517_Naf_EventExposure.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29518_Namf_Communication.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29518_Namf_EventExposure.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29518_Namf_Location.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29518_Namf_MT.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29519_Application_Data.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29519_Exposure_Data.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29519_Policy_Data.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29520_Nnwdaf_AnalyticsInfo.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29520_Nnwdaf_EventsSubscription.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29521_Nbsf_Management.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29522_5GLANParameterProvision.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29522_ACSParameterProvision.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29522_AnalyticsExposure.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29522_ApplyingBdtPolicy.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29522_IPTVConfiguration.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29522_LpiParameterProvision.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29522_MoLcsNotify.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29522_NIDDConfigurationTrigger.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29522_ServiceParameter.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29522_TrafficInfluence.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29531_Nnssf_NSSAIAvailability.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29531_Nnssf_NSSelection.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29544_Nspaf_SecuredPacket.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29551_Nnef_PFDmanagement.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29554_Npcf_BDTPolicyControl.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29571_CommonData.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29572_Nlmf_Broadcast.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS29572_Nlmf_Location.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS32291_Nchf_ConvergedCharging.yaml (100%) rename lib/sbi/support/{20210629 => r16-20210629-openapitools-5.2.0}/standard/TS32291_Nchf_OfflineOnlyCharging.yaml (100%) create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/README.md create mode 100755 lib/sbi/support/r16-20230226-openapitools-6.4.0/generator.sh create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_CommonData.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_PfdManagement.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_ResourceManagementOfBdt.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29502_Nsmf_PDUSession.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_EE.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_NIDDAU.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_PP.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_SDM.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_UEAU.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_UECM.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29504_Nudr_DR.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29505_Subscription_Data.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29507_Npcf_AMPolicyControl.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_SoRProtection.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_UEAuthentication.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_UPUProtection.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_AccessToken.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_NFDiscovery.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_NFManagement.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29512_Npcf_SMPolicyControl.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29514_Npcf_PolicyAuthorization.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29517_Naf_EventExposure.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29518_Namf_Communication.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29518_Namf_EventExposure.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Application_Data.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Exposure_Data.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Policy_Data.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29520_Nnwdaf_AnalyticsInfo.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29520_Nnwdaf_EventsSubscription.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29521_Nbsf_Management.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_IPTVConfiguration.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_ServiceParameter.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_TrafficInfluence.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29531_Nnssf_NSSelection.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29544_Nspaf_SecuredPacket.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29551_Nnef_PFDmanagement.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29554_Npcf_BDTPolicyControl.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29571_CommonData.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29572_Nlmf_Location.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS32291_Nchf_ConvergedCharging.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/VERSION create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/config.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/any_type.c create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/any_type.h create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/apiKey.c.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/binary.c.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/binary.h.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/cJSON.c.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/cJSON.h.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/keyValuePair.h.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/list.c.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/list.h.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/model-body.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/model-header.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/object-body.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/object-header.mustache create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/uncrustify-rules.cfg create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/openapitools.json create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_AsSessionWithQoS.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ChargeableParty.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_CommonData.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_CpProvisioning.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_DeviceTriggering.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ECRControl.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_GMDviaMBMSbyMB2.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_GMDviaMBMSbyxMB.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_MonitoringEvent.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_MsisdnLessMoSms.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_NIDD.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_NpConfiguration.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_PfdManagement.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_RacsParameterProvisioning.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ReportingNetworkStatus.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ResourceManagementOfBdt.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29502_Nsmf_PDUSession.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_EE.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_MT.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_NIDDAU.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_PP.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_SDM.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_UEAU.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_UECM.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29504_Nudr_DR.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29504_Nudr_GroupIDmap.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29505_Subscription_Data.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29507_Npcf_AMPolicyControl.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_SoRProtection.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_UEAuthentication.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_UPUProtection.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_AccessToken.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_Bootstrapping.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_NFDiscovery.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_NFManagement.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29512_Npcf_SMPolicyControl.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29514_Npcf_PolicyAuthorization.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29517_Naf_EventExposure.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_Communication.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_EventExposure.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_Location.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_MT.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Application_Data.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Exposure_Data.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Policy_Data.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29520_Nnwdaf_AnalyticsInfo.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29520_Nnwdaf_EventsSubscription.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29521_Nbsf_Management.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_5GLANParameterProvision.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ACSParameterProvision.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_AnalyticsExposure.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ApplyingBdtPolicy.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_IPTVConfiguration.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_LpiParameterProvision.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_MoLcsNotify.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_NIDDConfigurationTrigger.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ServiceParameter.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_TrafficInfluence.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29531_Nnssf_NSSAIAvailability.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29531_Nnssf_NSSelection.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29544_Nspaf_SecuredPacket.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29551_Nnef_PFDmanagement.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29554_Npcf_BDTPolicyControl.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29571_CommonData.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29572_Nlmf_Broadcast.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29572_Nlmf_Location.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS32291_Nchf_ConvergedCharging.yaml create mode 100644 lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS32291_Nchf_OfflineOnlyCharging.yaml diff --git a/lib/sbi/meson.build b/lib/sbi/meson.build index 18f859316..67a1badc7 100644 --- a/lib/sbi/meson.build +++ b/lib/sbi/meson.build @@ -21,7 +21,6 @@ libsbi_sources = files(''' contrib/multipart_parser.c custom/links.c - custom/ue_authentication_ctx.c yuarel.c types.c diff --git a/lib/sbi/ogs-sbi.h b/lib/sbi/ogs-sbi.h index 144d1d495..f5430b202 100644 --- a/lib/sbi/ogs-sbi.h +++ b/lib/sbi/ogs-sbi.h @@ -78,9 +78,9 @@ #include "model/sdm_subscription.h" #include "model/modification_notification.h" #include "model/patch_item.h" +#include "model/ue_authentication_ctx.h" #include "custom/links.h" -#include "custom/ue_authentication_ctx.h" #if defined(__GNUC__) #pragma GCC diagnostic pop diff --git a/lib/sbi/openapi/meson.build b/lib/sbi/openapi/meson.build index fd93f97a1..f01466c03 100644 --- a/lib/sbi/openapi/meson.build +++ b/lib/sbi/openapi/meson.build @@ -595,6 +595,7 @@ libsbi_openapi_sources = files(''' model/priority_sharing_indicator.c model/privacy_check_related_action.c model/problem_details_1.c + model/problem_details_2.c model/problem_details_add_info.c model/problem_details.c model/protection_result.c @@ -871,6 +872,8 @@ libsbi_openapi_sources = files(''' model/udr_info.c model/udsf_info.c model/ue_auth.c + model/ue_authentication_ctx.c + model/ue_authentication_ctx_5g_auth_data.c model/ue_camping_rep.c model/ue_context.c model/ue_context_cancel_relocate_data.c diff --git a/lib/sbi/openapi/model/acc_net_ch_id.c b/lib/sbi/openapi/model/acc_net_ch_id.c index 67af933b9..2b285cdd3 100644 --- a/lib/sbi/openapi/model/acc_net_ch_id.c +++ b/lib/sbi/openapi/model/acc_net_ch_id.c @@ -107,7 +107,7 @@ OpenAPI_acc_net_ch_id_t *OpenAPI_acc_net_ch_id_parseFromJSON(cJSON *acc_net_ch_i ogs_error("OpenAPI_acc_net_ch_id_parseFromJSON() failed [ref_pcc_rule_ids]"); goto end; } - OpenAPI_list_add(ref_pcc_rule_idsList , ogs_strdup(ref_pcc_rule_ids_local->valuestring)); + OpenAPI_list_add(ref_pcc_rule_idsList, ogs_strdup(ref_pcc_rule_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/acceptable_service_info.c b/lib/sbi/openapi/model/acceptable_service_info.c index 0d72d2b85..9222790a5 100644 --- a/lib/sbi/openapi/model/acceptable_service_info.c +++ b/lib/sbi/openapi/model/acceptable_service_info.c @@ -63,10 +63,10 @@ cJSON *OpenAPI_acceptable_service_info_convertToJSON(OpenAPI_acceptable_service_ OpenAPI_media_component_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_acceptable_service_info_convertToJSON() failed [acc_bw_med_comps]"); + ogs_error("OpenAPI_acceptable_service_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(acc_bw_med_comps, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -105,16 +105,16 @@ OpenAPI_acceptable_service_info_t *OpenAPI_acceptable_service_info_parseFromJSON OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(acc_bw_med_comps_local_map, acc_bw_med_comps) { cJSON *localMapObject = acc_bw_med_comps_local_map; - if (cJSON_IsObject(acc_bw_med_comps_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_media_component_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(acc_bw_med_comps_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_acceptable_service_info_parseFromJSON() failed [acc_bw_med_comps]"); + ogs_error("OpenAPI_acceptable_service_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(acc_bw_med_compsList , localMapKeyPair); + OpenAPI_list_add(acc_bw_med_compsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/access_and_mobility_subscription_data.c b/lib/sbi/openapi/model/access_and_mobility_subscription_data.c index 95876b562..bcc54ea31 100644 --- a/lib/sbi/openapi/model/access_and_mobility_subscription_data.c +++ b/lib/sbi/openapi/model/access_and_mobility_subscription_data.c @@ -260,6 +260,10 @@ cJSON *OpenAPI_access_and_mobility_subscription_data_convertToJSON(OpenAPI_acces if (access_and_mobility_subscription_data->shared_vn_group_data_ids) { OpenAPI_list_for_each(access_and_mobility_subscription_data->shared_vn_group_data_ids, shared_vn_group_data_ids_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)shared_vn_group_data_ids_node->data; + if (cJSON_AddStringToObject(localMapObject, localKeyValue->key, (char*)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_convertToJSON() failed [inner]"); + goto end; + } } } } @@ -759,7 +763,7 @@ OpenAPI_access_and_mobility_subscription_data_t *OpenAPI_access_and_mobility_sub ogs_error("OpenAPI_access_and_mobility_subscription_data_parseFromJSON() failed [gpsis]"); goto end; } - OpenAPI_list_add(gpsisList , ogs_strdup(gpsis_local->valuestring)); + OpenAPI_list_add(gpsisList, ogs_strdup(gpsis_local->valuestring)); } } @@ -779,7 +783,7 @@ OpenAPI_access_and_mobility_subscription_data_t *OpenAPI_access_and_mobility_sub ogs_error("OpenAPI_access_and_mobility_subscription_data_parseFromJSON() failed [internal_group_ids]"); goto end; } - OpenAPI_list_add(internal_group_idsList , ogs_strdup(internal_group_ids_local->valuestring)); + OpenAPI_list_add(internal_group_idsList, ogs_strdup(internal_group_ids_local->valuestring)); } } @@ -796,7 +800,12 @@ OpenAPI_access_and_mobility_subscription_data_t *OpenAPI_access_and_mobility_sub OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(shared_vn_group_data_ids_local_map, shared_vn_group_data_ids) { cJSON *localMapObject = shared_vn_group_data_ids_local_map; - OpenAPI_list_add(shared_vn_group_data_idsList , localMapKeyPair); + if (!cJSON_IsString(localMapObject)) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_parseFromJSON() failed [inner]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),ogs_strdup(localMapObject->valuestring)); + OpenAPI_list_add(shared_vn_group_data_idsList, localMapKeyPair); } } @@ -1027,7 +1036,7 @@ OpenAPI_access_and_mobility_subscription_data_t *OpenAPI_access_and_mobility_sub ogs_error("OpenAPI_access_and_mobility_subscription_data_parseFromJSON() failed [shared_am_data_ids]"); goto end; } - OpenAPI_list_add(shared_am_data_idsList , ogs_strdup(shared_am_data_ids_local->valuestring)); + OpenAPI_list_add(shared_am_data_idsList, ogs_strdup(shared_am_data_ids_local->valuestring)); } } @@ -1058,7 +1067,7 @@ OpenAPI_access_and_mobility_subscription_data_t *OpenAPI_access_and_mobility_sub ogs_error("OpenAPI_access_and_mobility_subscription_data_parseFromJSON() failed [subscribed_dnn_list]"); goto end; } - OpenAPI_list_add(subscribed_dnn_listList , ogs_strdup(subscribed_dnn_list_local->valuestring)); + OpenAPI_list_add(subscribed_dnn_listList, ogs_strdup(subscribed_dnn_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/access_and_mobility_subscription_data_1.c b/lib/sbi/openapi/model/access_and_mobility_subscription_data_1.c index 9c86f612b..74fe7bc13 100644 --- a/lib/sbi/openapi/model/access_and_mobility_subscription_data_1.c +++ b/lib/sbi/openapi/model/access_and_mobility_subscription_data_1.c @@ -260,6 +260,10 @@ cJSON *OpenAPI_access_and_mobility_subscription_data_1_convertToJSON(OpenAPI_acc if (access_and_mobility_subscription_data_1->shared_vn_group_data_ids) { OpenAPI_list_for_each(access_and_mobility_subscription_data_1->shared_vn_group_data_ids, shared_vn_group_data_ids_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)shared_vn_group_data_ids_node->data; + if (cJSON_AddStringToObject(localMapObject, localKeyValue->key, (char*)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_1_convertToJSON() failed [inner]"); + goto end; + } } } } @@ -759,7 +763,7 @@ OpenAPI_access_and_mobility_subscription_data_1_t *OpenAPI_access_and_mobility_s ogs_error("OpenAPI_access_and_mobility_subscription_data_1_parseFromJSON() failed [gpsis]"); goto end; } - OpenAPI_list_add(gpsisList , ogs_strdup(gpsis_local->valuestring)); + OpenAPI_list_add(gpsisList, ogs_strdup(gpsis_local->valuestring)); } } @@ -779,7 +783,7 @@ OpenAPI_access_and_mobility_subscription_data_1_t *OpenAPI_access_and_mobility_s ogs_error("OpenAPI_access_and_mobility_subscription_data_1_parseFromJSON() failed [internal_group_ids]"); goto end; } - OpenAPI_list_add(internal_group_idsList , ogs_strdup(internal_group_ids_local->valuestring)); + OpenAPI_list_add(internal_group_idsList, ogs_strdup(internal_group_ids_local->valuestring)); } } @@ -796,7 +800,12 @@ OpenAPI_access_and_mobility_subscription_data_1_t *OpenAPI_access_and_mobility_s OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(shared_vn_group_data_ids_local_map, shared_vn_group_data_ids) { cJSON *localMapObject = shared_vn_group_data_ids_local_map; - OpenAPI_list_add(shared_vn_group_data_idsList , localMapKeyPair); + if (!cJSON_IsString(localMapObject)) { + ogs_error("OpenAPI_access_and_mobility_subscription_data_1_parseFromJSON() failed [inner]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),ogs_strdup(localMapObject->valuestring)); + OpenAPI_list_add(shared_vn_group_data_idsList, localMapKeyPair); } } @@ -1027,7 +1036,7 @@ OpenAPI_access_and_mobility_subscription_data_1_t *OpenAPI_access_and_mobility_s ogs_error("OpenAPI_access_and_mobility_subscription_data_1_parseFromJSON() failed [shared_am_data_ids]"); goto end; } - OpenAPI_list_add(shared_am_data_idsList , ogs_strdup(shared_am_data_ids_local->valuestring)); + OpenAPI_list_add(shared_am_data_idsList, ogs_strdup(shared_am_data_ids_local->valuestring)); } } @@ -1058,7 +1067,7 @@ OpenAPI_access_and_mobility_subscription_data_1_t *OpenAPI_access_and_mobility_s ogs_error("OpenAPI_access_and_mobility_subscription_data_1_parseFromJSON() failed [subscribed_dnn_list]"); goto end; } - OpenAPI_list_add(subscribed_dnn_listList , ogs_strdup(subscribed_dnn_list_local->valuestring)); + OpenAPI_list_add(subscribed_dnn_listList, ogs_strdup(subscribed_dnn_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/access_token_req.c b/lib/sbi/openapi/model/access_token_req.c index f284852ea..2963267fe 100644 --- a/lib/sbi/openapi/model/access_token_req.c +++ b/lib/sbi/openapi/model/access_token_req.c @@ -523,7 +523,7 @@ OpenAPI_access_token_req_t *OpenAPI_access_token_req_parseFromJSON(cJSON *access ogs_error("OpenAPI_access_token_req_parseFromJSON() failed [target_nsi_list]"); goto end; } - OpenAPI_list_add(target_nsi_listList , ogs_strdup(target_nsi_list_local->valuestring)); + OpenAPI_list_add(target_nsi_listList, ogs_strdup(target_nsi_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/af_event_exposure_data.c b/lib/sbi/openapi/model/af_event_exposure_data.c index 264e822aa..a5b6004e9 100644 --- a/lib/sbi/openapi/model/af_event_exposure_data.c +++ b/lib/sbi/openapi/model/af_event_exposure_data.c @@ -140,7 +140,7 @@ OpenAPI_af_event_exposure_data_t *OpenAPI_af_event_exposure_data_parseFromJSON(c ogs_error("OpenAPI_af_event_exposure_data_parseFromJSON() failed [af_ids]"); goto end; } - OpenAPI_list_add(af_idsList , ogs_strdup(af_ids_local->valuestring)); + OpenAPI_list_add(af_idsList, ogs_strdup(af_ids_local->valuestring)); } } @@ -160,7 +160,7 @@ OpenAPI_af_event_exposure_data_t *OpenAPI_af_event_exposure_data_parseFromJSON(c ogs_error("OpenAPI_af_event_exposure_data_parseFromJSON() failed [app_ids]"); goto end; } - OpenAPI_list_add(app_idsList , ogs_strdup(app_ids_local->valuestring)); + OpenAPI_list_add(app_idsList, ogs_strdup(app_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/am_policy_data.c b/lib/sbi/openapi/model/am_policy_data.c index 033ab979d..b735ec43e 100644 --- a/lib/sbi/openapi/model/am_policy_data.c +++ b/lib/sbi/openapi/model/am_policy_data.c @@ -63,10 +63,10 @@ cJSON *OpenAPI_am_policy_data_convertToJSON(OpenAPI_am_policy_data_t *am_policy_ OpenAPI_presence_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_am_policy_data_convertToJSON() failed [pra_infos]"); + ogs_error("OpenAPI_am_policy_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pra_infos, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -107,16 +107,16 @@ OpenAPI_am_policy_data_t *OpenAPI_am_policy_data_parseFromJSON(cJSON *am_policy_ OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pra_infos_local_map, pra_infos) { cJSON *localMapObject = pra_infos_local_map; - if (cJSON_IsObject(pra_infos_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_presence_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pra_infos_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_am_policy_data_parseFromJSON() failed [pra_infos]"); + ogs_error("OpenAPI_am_policy_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(pra_infosList , localMapKeyPair); + OpenAPI_list_add(pra_infosList, localMapKeyPair); } } @@ -136,7 +136,7 @@ OpenAPI_am_policy_data_t *OpenAPI_am_policy_data_parseFromJSON(cJSON *am_policy_ ogs_error("OpenAPI_am_policy_data_parseFromJSON() failed [subsc_cats]"); goto end; } - OpenAPI_list_add(subsc_catsList , ogs_strdup(subsc_cats_local->valuestring)); + OpenAPI_list_add(subsc_catsList, ogs_strdup(subsc_cats_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/amf_event_subscription_add_info.c b/lib/sbi/openapi/model/amf_event_subscription_add_info.c index d7f451e34..7738569f9 100644 --- a/lib/sbi/openapi/model/amf_event_subscription_add_info.c +++ b/lib/sbi/openapi/model/amf_event_subscription_add_info.c @@ -87,7 +87,7 @@ OpenAPI_amf_event_subscription_add_info_t *OpenAPI_amf_event_subscription_add_in ogs_error("OpenAPI_amf_event_subscription_add_info_parseFromJSON() failed [binding_info]"); goto end; } - OpenAPI_list_add(binding_infoList , ogs_strdup(binding_info_local->valuestring)); + OpenAPI_list_add(binding_infoList, ogs_strdup(binding_info_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/app_session_context_req_data.c b/lib/sbi/openapi/model/app_session_context_req_data.c index 6b2a8e8e9..42ee198c5 100644 --- a/lib/sbi/openapi/model/app_session_context_req_data.c +++ b/lib/sbi/openapi/model/app_session_context_req_data.c @@ -227,10 +227,10 @@ cJSON *OpenAPI_app_session_context_req_data_convertToJSON(OpenAPI_app_session_co OpenAPI_media_component_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_app_session_context_req_data_convertToJSON() failed [med_components]"); + ogs_error("OpenAPI_app_session_context_req_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(med_components, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -510,16 +510,16 @@ OpenAPI_app_session_context_req_data_t *OpenAPI_app_session_context_req_data_par OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(med_components_local_map, med_components) { cJSON *localMapObject = med_components_local_map; - if (cJSON_IsObject(med_components_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_media_component_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(med_components_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_app_session_context_req_data_parseFromJSON() failed [med_components]"); + ogs_error("OpenAPI_app_session_context_req_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(med_componentsList , localMapKeyPair); + OpenAPI_list_add(med_componentsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/app_session_context_update_data.c b/lib/sbi/openapi/model/app_session_context_update_data.c index ffa6915c7..2ba15eaed 100644 --- a/lib/sbi/openapi/model/app_session_context_update_data.c +++ b/lib/sbi/openapi/model/app_session_context_update_data.c @@ -171,10 +171,10 @@ cJSON *OpenAPI_app_session_context_update_data_convertToJSON(OpenAPI_app_session OpenAPI_media_component_rm_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_app_session_context_update_data_convertToJSON() failed [med_components]"); + ogs_error("OpenAPI_app_session_context_update_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(med_components, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -366,16 +366,16 @@ OpenAPI_app_session_context_update_data_t *OpenAPI_app_session_context_update_da OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(med_components_local_map, med_components) { cJSON *localMapObject = med_components_local_map; - if (cJSON_IsObject(med_components_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_media_component_rm_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(med_components_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_app_session_context_update_data_parseFromJSON() failed [med_components]"); + ogs_error("OpenAPI_app_session_context_update_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(med_componentsList , localMapKeyPair); + OpenAPI_list_add(med_componentsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/area.c b/lib/sbi/openapi/model/area.c index 18db86b55..b025b74ad 100644 --- a/lib/sbi/openapi/model/area.c +++ b/lib/sbi/openapi/model/area.c @@ -88,7 +88,7 @@ OpenAPI_area_t *OpenAPI_area_parseFromJSON(cJSON *areaJSON) ogs_error("OpenAPI_area_parseFromJSON() failed [tacs]"); goto end; } - OpenAPI_list_add(tacsList , ogs_strdup(tacs_local->valuestring)); + OpenAPI_list_add(tacsList, ogs_strdup(tacs_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/area_1.c b/lib/sbi/openapi/model/area_1.c index dff3141d2..99dbea1d7 100644 --- a/lib/sbi/openapi/model/area_1.c +++ b/lib/sbi/openapi/model/area_1.c @@ -88,7 +88,7 @@ OpenAPI_area_1_t *OpenAPI_area_1_parseFromJSON(cJSON *area_1JSON) ogs_error("OpenAPI_area_1_parseFromJSON() failed [tacs]"); goto end; } - OpenAPI_list_add(tacsList , ogs_strdup(tacs_local->valuestring)); + OpenAPI_list_add(tacsList, ogs_strdup(tacs_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/area_scope.c b/lib/sbi/openapi/model/area_scope.c index efb4b8720..cbb957cee 100644 --- a/lib/sbi/openapi/model/area_scope.c +++ b/lib/sbi/openapi/model/area_scope.c @@ -123,10 +123,10 @@ cJSON *OpenAPI_area_scope_convertToJSON(OpenAPI_area_scope_t *area_scope) OpenAPI_tac_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_area_scope_convertToJSON() failed [tac_info_per_plmn]"); + ogs_error("OpenAPI_area_scope_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(tac_info_per_plmn, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -154,7 +154,7 @@ OpenAPI_area_scope_t *OpenAPI_area_scope_parseFromJSON(cJSON *area_scopeJSON) ogs_error("OpenAPI_area_scope_parseFromJSON() failed [eutra_cell_id_list]"); goto end; } - OpenAPI_list_add(eutra_cell_id_listList , ogs_strdup(eutra_cell_id_list_local->valuestring)); + OpenAPI_list_add(eutra_cell_id_listList, ogs_strdup(eutra_cell_id_list_local->valuestring)); } } @@ -174,7 +174,7 @@ OpenAPI_area_scope_t *OpenAPI_area_scope_parseFromJSON(cJSON *area_scopeJSON) ogs_error("OpenAPI_area_scope_parseFromJSON() failed [nr_cell_id_list]"); goto end; } - OpenAPI_list_add(nr_cell_id_listList , ogs_strdup(nr_cell_id_list_local->valuestring)); + OpenAPI_list_add(nr_cell_id_listList, ogs_strdup(nr_cell_id_list_local->valuestring)); } } @@ -194,7 +194,7 @@ OpenAPI_area_scope_t *OpenAPI_area_scope_parseFromJSON(cJSON *area_scopeJSON) ogs_error("OpenAPI_area_scope_parseFromJSON() failed [tac_list]"); goto end; } - OpenAPI_list_add(tac_listList , ogs_strdup(tac_list_local->valuestring)); + OpenAPI_list_add(tac_listList, ogs_strdup(tac_list_local->valuestring)); } } @@ -211,16 +211,16 @@ OpenAPI_area_scope_t *OpenAPI_area_scope_parseFromJSON(cJSON *area_scopeJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(tac_info_per_plmn_local_map, tac_info_per_plmn) { cJSON *localMapObject = tac_info_per_plmn_local_map; - if (cJSON_IsObject(tac_info_per_plmn_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_tac_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(tac_info_per_plmn_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_area_scope_parseFromJSON() failed [tac_info_per_plmn]"); + ogs_error("OpenAPI_area_scope_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(tac_info_per_plmnList , localMapKeyPair); + OpenAPI_list_add(tac_info_per_plmnList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/assign_ebi_data.c b/lib/sbi/openapi/model/assign_ebi_data.c index b0c6a8c6c..91bc0fccc 100644 --- a/lib/sbi/openapi/model/assign_ebi_data.c +++ b/lib/sbi/openapi/model/assign_ebi_data.c @@ -167,7 +167,7 @@ OpenAPI_assign_ebi_data_t *OpenAPI_assign_ebi_data_parseFromJSON(cJSON *assign_e ogs_error("OpenAPI_assign_ebi_data_parseFromJSON() failed [released_ebi_list]"); goto end; } - OpenAPI_list_add(released_ebi_listList , &released_ebi_list_local->valuedouble); + OpenAPI_list_add(released_ebi_listList, &released_ebi_list_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/assigned_ebi_data.c b/lib/sbi/openapi/model/assigned_ebi_data.c index cb9890bc6..bfd2b4e66 100644 --- a/lib/sbi/openapi/model/assigned_ebi_data.c +++ b/lib/sbi/openapi/model/assigned_ebi_data.c @@ -206,7 +206,7 @@ OpenAPI_assigned_ebi_data_t *OpenAPI_assigned_ebi_data_parseFromJSON(cJSON *assi ogs_error("OpenAPI_assigned_ebi_data_parseFromJSON() failed [released_ebi_list]"); goto end; } - OpenAPI_list_add(released_ebi_listList , &released_ebi_list_local->valuedouble); + OpenAPI_list_add(released_ebi_listList, &released_ebi_list_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/ausf_info.c b/lib/sbi/openapi/model/ausf_info.c index 081f4a948..23cbff70d 100644 --- a/lib/sbi/openapi/model/ausf_info.c +++ b/lib/sbi/openapi/model/ausf_info.c @@ -152,7 +152,7 @@ OpenAPI_ausf_info_t *OpenAPI_ausf_info_parseFromJSON(cJSON *ausf_infoJSON) ogs_error("OpenAPI_ausf_info_parseFromJSON() failed [routing_indicators]"); goto end; } - OpenAPI_list_add(routing_indicatorsList , ogs_strdup(routing_indicators_local->valuestring)); + OpenAPI_list_add(routing_indicatorsList, ogs_strdup(routing_indicators_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/authentication_info.c b/lib/sbi/openapi/model/authentication_info.c index 1cb909d4a..ae2ead2fe 100644 --- a/lib/sbi/openapi/model/authentication_info.c +++ b/lib/sbi/openapi/model/authentication_info.c @@ -240,7 +240,7 @@ OpenAPI_authentication_info_t *OpenAPI_authentication_info_parseFromJSON(cJSON * ogs_error("OpenAPI_authentication_info_parseFromJSON() failed [cell_cag_info]"); goto end; } - OpenAPI_list_add(cell_cag_infoList , ogs_strdup(cell_cag_info_local->valuestring)); + OpenAPI_list_add(cell_cag_infoList, ogs_strdup(cell_cag_info_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/authentication_info_request.c b/lib/sbi/openapi/model/authentication_info_request.c index fcf241d61..9e4e37845 100644 --- a/lib/sbi/openapi/model/authentication_info_request.c +++ b/lib/sbi/openapi/model/authentication_info_request.c @@ -169,7 +169,7 @@ OpenAPI_authentication_info_request_t *OpenAPI_authentication_info_request_parse ogs_error("OpenAPI_authentication_info_request_parseFromJSON() failed [cell_cag_info]"); goto end; } - OpenAPI_list_add(cell_cag_infoList , ogs_strdup(cell_cag_info_local->valuestring)); + OpenAPI_list_add(cell_cag_infoList, ogs_strdup(cell_cag_info_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/authorized_network_slice_info.c b/lib/sbi/openapi/model/authorized_network_slice_info.c index 57327fd29..861af5038 100644 --- a/lib/sbi/openapi/model/authorized_network_slice_info.c +++ b/lib/sbi/openapi/model/authorized_network_slice_info.c @@ -325,7 +325,7 @@ OpenAPI_authorized_network_slice_info_t *OpenAPI_authorized_network_slice_info_p ogs_error("OpenAPI_authorized_network_slice_info_parseFromJSON() failed [candidate_amf_list]"); goto end; } - OpenAPI_list_add(candidate_amf_listList , ogs_strdup(candidate_amf_list_local->valuestring)); + OpenAPI_list_add(candidate_amf_listList, ogs_strdup(candidate_amf_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/bsf_info.c b/lib/sbi/openapi/model/bsf_info.c index 750de2b6f..5eb17d49d 100644 --- a/lib/sbi/openapi/model/bsf_info.c +++ b/lib/sbi/openapi/model/bsf_info.c @@ -152,7 +152,7 @@ OpenAPI_bsf_info_t *OpenAPI_bsf_info_parseFromJSON(cJSON *bsf_infoJSON) ogs_error("OpenAPI_bsf_info_parseFromJSON() failed [dnn_list]"); goto end; } - OpenAPI_list_add(dnn_listList , ogs_strdup(dnn_list_local->valuestring)); + OpenAPI_list_add(dnn_listList, ogs_strdup(dnn_list_local->valuestring)); } } @@ -172,7 +172,7 @@ OpenAPI_bsf_info_t *OpenAPI_bsf_info_parseFromJSON(cJSON *bsf_infoJSON) ogs_error("OpenAPI_bsf_info_parseFromJSON() failed [ip_domain_list]"); goto end; } - OpenAPI_list_add(ip_domain_listList , ogs_strdup(ip_domain_list_local->valuestring)); + OpenAPI_list_add(ip_domain_listList, ogs_strdup(ip_domain_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/cag_data.c b/lib/sbi/openapi/model/cag_data.c index 9113bbd6c..6c5615589 100644 --- a/lib/sbi/openapi/model/cag_data.c +++ b/lib/sbi/openapi/model/cag_data.c @@ -59,10 +59,10 @@ cJSON *OpenAPI_cag_data_convertToJSON(OpenAPI_cag_data_t *cag_data) OpenAPI_cag_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_cag_data_convertToJSON() failed [cag_infos]"); + ogs_error("OpenAPI_cag_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(cag_infos, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } @@ -96,16 +96,16 @@ OpenAPI_cag_data_t *OpenAPI_cag_data_parseFromJSON(cJSON *cag_dataJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(cag_infos_local_map, cag_infos) { cJSON *localMapObject = cag_infos_local_map; - if (cJSON_IsObject(cag_infos_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_cag_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(cag_infos_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_cag_data_parseFromJSON() failed [cag_infos]"); + ogs_error("OpenAPI_cag_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(cag_infosList , localMapKeyPair); + OpenAPI_list_add(cag_infosList, localMapKeyPair); } cJSON *provisioning_time = cJSON_GetObjectItemCaseSensitive(cag_dataJSON, "provisioningTime"); diff --git a/lib/sbi/openapi/model/cag_data_1.c b/lib/sbi/openapi/model/cag_data_1.c index 6dbcf8273..089ac727c 100644 --- a/lib/sbi/openapi/model/cag_data_1.c +++ b/lib/sbi/openapi/model/cag_data_1.c @@ -59,10 +59,10 @@ cJSON *OpenAPI_cag_data_1_convertToJSON(OpenAPI_cag_data_1_t *cag_data_1) OpenAPI_cag_info_1_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_cag_data_1_convertToJSON() failed [cag_infos]"); + ogs_error("OpenAPI_cag_data_1_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(cag_infos, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } @@ -96,16 +96,16 @@ OpenAPI_cag_data_1_t *OpenAPI_cag_data_1_parseFromJSON(cJSON *cag_data_1JSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(cag_infos_local_map, cag_infos) { cJSON *localMapObject = cag_infos_local_map; - if (cJSON_IsObject(cag_infos_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_cag_info_1_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(cag_infos_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_cag_data_1_parseFromJSON() failed [cag_infos]"); + ogs_error("OpenAPI_cag_data_1_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(cag_infosList , localMapKeyPair); + OpenAPI_list_add(cag_infosList, localMapKeyPair); } cJSON *provisioning_time = cJSON_GetObjectItemCaseSensitive(cag_data_1JSON, "provisioningTime"); diff --git a/lib/sbi/openapi/model/cag_info.c b/lib/sbi/openapi/model/cag_info.c index 996180a30..f6499dd9e 100644 --- a/lib/sbi/openapi/model/cag_info.c +++ b/lib/sbi/openapi/model/cag_info.c @@ -90,7 +90,7 @@ OpenAPI_cag_info_t *OpenAPI_cag_info_parseFromJSON(cJSON *cag_infoJSON) ogs_error("OpenAPI_cag_info_parseFromJSON() failed [allowed_cag_list]"); goto end; } - OpenAPI_list_add(allowed_cag_listList , ogs_strdup(allowed_cag_list_local->valuestring)); + OpenAPI_list_add(allowed_cag_listList, ogs_strdup(allowed_cag_list_local->valuestring)); } cJSON *cag_only_indicator = cJSON_GetObjectItemCaseSensitive(cag_infoJSON, "cagOnlyIndicator"); diff --git a/lib/sbi/openapi/model/cag_info_1.c b/lib/sbi/openapi/model/cag_info_1.c index 8bf98b4fa..c123b719e 100644 --- a/lib/sbi/openapi/model/cag_info_1.c +++ b/lib/sbi/openapi/model/cag_info_1.c @@ -90,7 +90,7 @@ OpenAPI_cag_info_1_t *OpenAPI_cag_info_1_parseFromJSON(cJSON *cag_info_1JSON) ogs_error("OpenAPI_cag_info_1_parseFromJSON() failed [allowed_cag_list]"); goto end; } - OpenAPI_list_add(allowed_cag_listList , ogs_strdup(allowed_cag_list_local->valuestring)); + OpenAPI_list_add(allowed_cag_listList, ogs_strdup(allowed_cag_list_local->valuestring)); } cJSON *cag_only_indicator = cJSON_GetObjectItemCaseSensitive(cag_info_1JSON, "cagOnlyIndicator"); diff --git a/lib/sbi/openapi/model/candidate_for_replacement.c b/lib/sbi/openapi/model/candidate_for_replacement.c index 4e3783046..b537003bd 100644 --- a/lib/sbi/openapi/model/candidate_for_replacement.c +++ b/lib/sbi/openapi/model/candidate_for_replacement.c @@ -101,7 +101,7 @@ OpenAPI_candidate_for_replacement_t *OpenAPI_candidate_for_replacement_parseFrom ogs_error("OpenAPI_candidate_for_replacement_parseFromJSON() failed [dnns]"); goto end; } - OpenAPI_list_add(dnnsList , ogs_strdup(dnns_local->valuestring)); + OpenAPI_list_add(dnnsList, ogs_strdup(dnns_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/context_info.c b/lib/sbi/openapi/model/context_info.c index df98943b3..4d363cfb6 100644 --- a/lib/sbi/openapi/model/context_info.c +++ b/lib/sbi/openapi/model/context_info.c @@ -78,7 +78,7 @@ OpenAPI_context_info_t *OpenAPI_context_info_parseFromJSON(cJSON *context_infoJS ogs_error("OpenAPI_context_info_parseFromJSON() failed [orig_headers]"); goto end; } - OpenAPI_list_add(orig_headersList , ogs_strdup(orig_headers_local->valuestring)); + OpenAPI_list_add(orig_headersList, ogs_strdup(orig_headers_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/data_change_notify.c b/lib/sbi/openapi/model/data_change_notify.c index c9cb04e2b..1b299d8ab 100644 --- a/lib/sbi/openapi/model/data_change_notify.c +++ b/lib/sbi/openapi/model/data_change_notify.c @@ -182,7 +182,7 @@ OpenAPI_data_change_notify_t *OpenAPI_data_change_notify_parseFromJSON(cJSON *da ogs_error("OpenAPI_data_change_notify_parseFromJSON() failed [original_callback_reference]"); goto end; } - OpenAPI_list_add(original_callback_referenceList , ogs_strdup(original_callback_reference_local->valuestring)); + OpenAPI_list_add(original_callback_referenceList, ogs_strdup(original_callback_reference_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/data_filter.c b/lib/sbi/openapi/model/data_filter.c index eb61bf375..dd413d8b3 100644 --- a/lib/sbi/openapi/model/data_filter.c +++ b/lib/sbi/openapi/model/data_filter.c @@ -259,7 +259,7 @@ OpenAPI_data_filter_t *OpenAPI_data_filter_parseFromJSON(cJSON *data_filterJSON) ogs_error("OpenAPI_data_filter_parseFromJSON() failed [dnns]"); goto end; } - OpenAPI_list_add(dnnsList , ogs_strdup(dnns_local->valuestring)); + OpenAPI_list_add(dnnsList, ogs_strdup(dnns_local->valuestring)); } } @@ -308,7 +308,7 @@ OpenAPI_data_filter_t *OpenAPI_data_filter_parseFromJSON(cJSON *data_filterJSON) ogs_error("OpenAPI_data_filter_parseFromJSON() failed [internal_group_ids]"); goto end; } - OpenAPI_list_add(internal_group_idsList , ogs_strdup(internal_group_ids_local->valuestring)); + OpenAPI_list_add(internal_group_idsList, ogs_strdup(internal_group_ids_local->valuestring)); } } @@ -328,7 +328,7 @@ OpenAPI_data_filter_t *OpenAPI_data_filter_parseFromJSON(cJSON *data_filterJSON) ogs_error("OpenAPI_data_filter_parseFromJSON() failed [supis]"); goto end; } - OpenAPI_list_add(supisList , ogs_strdup(supis_local->valuestring)); + OpenAPI_list_add(supisList, ogs_strdup(supis_local->valuestring)); } } @@ -348,7 +348,7 @@ OpenAPI_data_filter_t *OpenAPI_data_filter_parseFromJSON(cJSON *data_filterJSON) ogs_error("OpenAPI_data_filter_parseFromJSON() failed [app_ids]"); goto end; } - OpenAPI_list_add(app_idsList , ogs_strdup(app_ids_local->valuestring)); + OpenAPI_list_add(app_idsList, ogs_strdup(app_ids_local->valuestring)); } } @@ -368,7 +368,7 @@ OpenAPI_data_filter_t *OpenAPI_data_filter_parseFromJSON(cJSON *data_filterJSON) ogs_error("OpenAPI_data_filter_parseFromJSON() failed [ue_ipv4s]"); goto end; } - OpenAPI_list_add(ue_ipv4sList , ogs_strdup(ue_ipv4s_local->valuestring)); + OpenAPI_list_add(ue_ipv4sList, ogs_strdup(ue_ipv4s_local->valuestring)); } } @@ -388,7 +388,7 @@ OpenAPI_data_filter_t *OpenAPI_data_filter_parseFromJSON(cJSON *data_filterJSON) ogs_error("OpenAPI_data_filter_parseFromJSON() failed [ue_ipv6s]"); goto end; } - OpenAPI_list_add(ue_ipv6sList , ogs_strdup(ue_ipv6s_local->valuestring)); + OpenAPI_list_add(ue_ipv6sList, ogs_strdup(ue_ipv6s_local->valuestring)); } } @@ -408,7 +408,7 @@ OpenAPI_data_filter_t *OpenAPI_data_filter_parseFromJSON(cJSON *data_filterJSON) ogs_error("OpenAPI_data_filter_parseFromJSON() failed [ue_macs]"); goto end; } - OpenAPI_list_add(ue_macsList , ogs_strdup(ue_macs_local->valuestring)); + OpenAPI_list_add(ue_macsList, ogs_strdup(ue_macs_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/default_notification_subscription.c b/lib/sbi/openapi/model/default_notification_subscription.c index 8350b79b0..202586bdc 100644 --- a/lib/sbi/openapi/model/default_notification_subscription.c +++ b/lib/sbi/openapi/model/default_notification_subscription.c @@ -167,7 +167,7 @@ OpenAPI_default_notification_subscription_t *OpenAPI_default_notification_subscr ogs_error("OpenAPI_default_notification_subscription_parseFromJSON() failed [versions]"); goto end; } - OpenAPI_list_add(versionsList , ogs_strdup(versions_local->valuestring)); + OpenAPI_list_add(versionsList, ogs_strdup(versions_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/default_unrelated_class.c b/lib/sbi/openapi/model/default_unrelated_class.c index 18ff35239..8321eee9d 100644 --- a/lib/sbi/openapi/model/default_unrelated_class.c +++ b/lib/sbi/openapi/model/default_unrelated_class.c @@ -196,7 +196,7 @@ OpenAPI_default_unrelated_class_t *OpenAPI_default_unrelated_class_parseFromJSON ogs_error("OpenAPI_default_unrelated_class_parseFromJSON() failed [code_word_list]"); goto end; } - OpenAPI_list_add(code_word_listList , ogs_strdup(code_word_list_local->valuestring)); + OpenAPI_list_add(code_word_listList, ogs_strdup(code_word_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/default_unrelated_class_1.c b/lib/sbi/openapi/model/default_unrelated_class_1.c index f4f2e32d3..b1fc26c3a 100644 --- a/lib/sbi/openapi/model/default_unrelated_class_1.c +++ b/lib/sbi/openapi/model/default_unrelated_class_1.c @@ -196,7 +196,7 @@ OpenAPI_default_unrelated_class_1_t *OpenAPI_default_unrelated_class_1_parseFrom ogs_error("OpenAPI_default_unrelated_class_1_parseFromJSON() failed [code_word_list]"); goto end; } - OpenAPI_list_add(code_word_listList , ogs_strdup(code_word_list_local->valuestring)); + OpenAPI_list_add(code_word_listList, ogs_strdup(code_word_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/dnn_info.c b/lib/sbi/openapi/model/dnn_info.c index 723915154..a37fdf4f2 100644 --- a/lib/sbi/openapi/model/dnn_info.c +++ b/lib/sbi/openapi/model/dnn_info.c @@ -208,7 +208,7 @@ OpenAPI_dnn_info_t *OpenAPI_dnn_info_parseFromJSON(cJSON *dnn_infoJSON) ogs_error("OpenAPI_dnn_info_parseFromJSON() failed [smf_list]"); goto end; } - OpenAPI_list_add(smf_listList , ogs_strdup(smf_list_local->valuestring)); + OpenAPI_list_add(smf_listList, ogs_strdup(smf_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/dnn_upf_info_item.c b/lib/sbi/openapi/model/dnn_upf_info_item.c index 6faf1973b..918c5000b 100644 --- a/lib/sbi/openapi/model/dnn_upf_info_item.c +++ b/lib/sbi/openapi/model/dnn_upf_info_item.c @@ -153,6 +153,10 @@ cJSON *OpenAPI_dnn_upf_info_item_convertToJSON(OpenAPI_dnn_upf_info_item_t *dnn_ if (dnn_upf_info_item->dnai_nw_instance_list) { OpenAPI_list_for_each(dnn_upf_info_item->dnai_nw_instance_list, dnai_nw_instance_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)dnai_nw_instance_list_node->data; + if (cJSON_AddStringToObject(localMapObject, localKeyValue->key, (char*)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_dnn_upf_info_item_convertToJSON() failed [inner]"); + goto end; + } } } } @@ -191,7 +195,7 @@ OpenAPI_dnn_upf_info_item_t *OpenAPI_dnn_upf_info_item_parseFromJSON(cJSON *dnn_ ogs_error("OpenAPI_dnn_upf_info_item_parseFromJSON() failed [dnai_list]"); goto end; } - OpenAPI_list_add(dnai_listList , ogs_strdup(dnai_list_local->valuestring)); + OpenAPI_list_add(dnai_listList, ogs_strdup(dnai_list_local->valuestring)); } } @@ -288,7 +292,12 @@ OpenAPI_dnn_upf_info_item_t *OpenAPI_dnn_upf_info_item_parseFromJSON(cJSON *dnn_ OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(dnai_nw_instance_list_local_map, dnai_nw_instance_list) { cJSON *localMapObject = dnai_nw_instance_list_local_map; - OpenAPI_list_add(dnai_nw_instance_listList , localMapKeyPair); + if (!cJSON_IsString(localMapObject)) { + ogs_error("OpenAPI_dnn_upf_info_item_parseFromJSON() failed [inner]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),ogs_strdup(localMapObject->valuestring)); + OpenAPI_list_add(dnai_nw_instance_listList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/eap_session.c b/lib/sbi/openapi/model/eap_session.c index 7fe9484e7..c22702dfc 100644 --- a/lib/sbi/openapi/model/eap_session.c +++ b/lib/sbi/openapi/model/eap_session.c @@ -83,10 +83,10 @@ cJSON *OpenAPI_eap_session_convertToJSON(OpenAPI_eap_session_t *eap_session) OpenAPI_links_value_schema_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_eap_session_convertToJSON() failed [_links]"); + ogs_error("OpenAPI_eap_session_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(_links, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -152,16 +152,16 @@ OpenAPI_eap_session_t *OpenAPI_eap_session_parseFromJSON(cJSON *eap_sessionJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(_links_local_map, _links) { cJSON *localMapObject = _links_local_map; - if (cJSON_IsObject(_links_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_links_value_schema_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(_links_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_eap_session_parseFromJSON() failed [_links]"); + ogs_error("OpenAPI_eap_session_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(_linksList , localMapKeyPair); + OpenAPI_list_add(_linksList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/ee_group_profile_data.c b/lib/sbi/openapi/model/ee_group_profile_data.c index 774ff0142..f29407e86 100644 --- a/lib/sbi/openapi/model/ee_group_profile_data.c +++ b/lib/sbi/openapi/model/ee_group_profile_data.c @@ -82,6 +82,14 @@ cJSON *OpenAPI_ee_group_profile_data_convertToJSON(OpenAPI_ee_group_profile_data if (ee_group_profile_data->allowed_mtc_provider) { OpenAPI_list_for_each(ee_group_profile_data->allowed_mtc_provider, allowed_mtc_provider_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)allowed_mtc_provider_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_mtc_provider_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_ee_group_profile_data_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -142,7 +150,16 @@ OpenAPI_ee_group_profile_data_t *OpenAPI_ee_group_profile_data_parseFromJSON(cJS OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(allowed_mtc_provider_local_map, allowed_mtc_provider) { cJSON *localMapObject = allowed_mtc_provider_local_map; - OpenAPI_list_add(allowed_mtc_providerList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_mtc_provider_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_ee_group_profile_data_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(allowed_mtc_providerList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/ee_profile_data.c b/lib/sbi/openapi/model/ee_profile_data.c index 227e6d02f..52208b732 100644 --- a/lib/sbi/openapi/model/ee_profile_data.c +++ b/lib/sbi/openapi/model/ee_profile_data.c @@ -89,6 +89,14 @@ cJSON *OpenAPI_ee_profile_data_convertToJSON(OpenAPI_ee_profile_data_t *ee_profi if (ee_profile_data->allowed_mtc_provider) { OpenAPI_list_for_each(ee_profile_data->allowed_mtc_provider, allowed_mtc_provider_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)allowed_mtc_provider_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_mtc_provider_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_ee_profile_data_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -151,7 +159,16 @@ OpenAPI_ee_profile_data_t *OpenAPI_ee_profile_data_parseFromJSON(cJSON *ee_profi OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(allowed_mtc_provider_local_map, allowed_mtc_provider) { cJSON *localMapObject = allowed_mtc_provider_local_map; - OpenAPI_list_add(allowed_mtc_providerList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_mtc_provider_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_ee_profile_data_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(allowed_mtc_providerList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/ee_subscription.c b/lib/sbi/openapi/model/ee_subscription.c index 67a4d8db8..55cf3bb5a 100644 --- a/lib/sbi/openapi/model/ee_subscription.c +++ b/lib/sbi/openapi/model/ee_subscription.c @@ -89,10 +89,10 @@ cJSON *OpenAPI_ee_subscription_convertToJSON(OpenAPI_ee_subscription_t *ee_subsc OpenAPI_monitoring_configuration_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_ee_subscription_convertToJSON() failed [monitoring_configurations]"); + ogs_error("OpenAPI_ee_subscription_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(monitoring_configurations, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } @@ -198,16 +198,16 @@ OpenAPI_ee_subscription_t *OpenAPI_ee_subscription_parseFromJSON(cJSON *ee_subsc OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(monitoring_configurations_local_map, monitoring_configurations) { cJSON *localMapObject = monitoring_configurations_local_map; - if (cJSON_IsObject(monitoring_configurations_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_monitoring_configuration_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(monitoring_configurations_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_ee_subscription_parseFromJSON() failed [monitoring_configurations]"); + ogs_error("OpenAPI_ee_subscription_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(monitoring_configurationsList , localMapKeyPair); + OpenAPI_list_add(monitoring_configurationsList, localMapKeyPair); } cJSON *reporting_options = cJSON_GetObjectItemCaseSensitive(ee_subscriptionJSON, "reportingOptions"); diff --git a/lib/sbi/openapi/model/eps_interworking_info.c b/lib/sbi/openapi/model/eps_interworking_info.c index 110992eb1..4a56aadb1 100644 --- a/lib/sbi/openapi/model/eps_interworking_info.c +++ b/lib/sbi/openapi/model/eps_interworking_info.c @@ -57,10 +57,10 @@ cJSON *OpenAPI_eps_interworking_info_convertToJSON(OpenAPI_eps_interworking_info OpenAPI_eps_iwk_pgw_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_eps_interworking_info_convertToJSON() failed [eps_iwk_pgws]"); + ogs_error("OpenAPI_eps_interworking_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(eps_iwk_pgws, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -85,16 +85,16 @@ OpenAPI_eps_interworking_info_t *OpenAPI_eps_interworking_info_parseFromJSON(cJS OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(eps_iwk_pgws_local_map, eps_iwk_pgws) { cJSON *localMapObject = eps_iwk_pgws_local_map; - if (cJSON_IsObject(eps_iwk_pgws_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_eps_iwk_pgw_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(eps_iwk_pgws_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_eps_interworking_info_parseFromJSON() failed [eps_iwk_pgws]"); + ogs_error("OpenAPI_eps_interworking_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(eps_iwk_pgwsList , localMapKeyPair); + OpenAPI_list_add(eps_iwk_pgwsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/eth_flow_description.c b/lib/sbi/openapi/model/eth_flow_description.c index 331a7a935..b6bb4a421 100644 --- a/lib/sbi/openapi/model/eth_flow_description.c +++ b/lib/sbi/openapi/model/eth_flow_description.c @@ -194,7 +194,7 @@ OpenAPI_eth_flow_description_t *OpenAPI_eth_flow_description_parseFromJSON(cJSON ogs_error("OpenAPI_eth_flow_description_parseFromJSON() failed [vlan_tags]"); goto end; } - OpenAPI_list_add(vlan_tagsList , ogs_strdup(vlan_tags_local->valuestring)); + OpenAPI_list_add(vlan_tagsList, ogs_strdup(vlan_tags_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/exposure_data_change_notification.c b/lib/sbi/openapi/model/exposure_data_change_notification.c index f5e70c6f9..fa77c3629 100644 --- a/lib/sbi/openapi/model/exposure_data_change_notification.c +++ b/lib/sbi/openapi/model/exposure_data_change_notification.c @@ -175,7 +175,7 @@ OpenAPI_exposure_data_change_notification_t *OpenAPI_exposure_data_change_notifi ogs_error("OpenAPI_exposure_data_change_notification_parseFromJSON() failed [del_resources]"); goto end; } - OpenAPI_list_add(del_resourcesList , ogs_strdup(del_resources_local->valuestring)); + OpenAPI_list_add(del_resourcesList, ogs_strdup(del_resources_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/exposure_data_subscription.c b/lib/sbi/openapi/model/exposure_data_subscription.c index ee4243932..593aea89e 100644 --- a/lib/sbi/openapi/model/exposure_data_subscription.c +++ b/lib/sbi/openapi/model/exposure_data_subscription.c @@ -118,7 +118,7 @@ OpenAPI_exposure_data_subscription_t *OpenAPI_exposure_data_subscription_parseFr ogs_error("OpenAPI_exposure_data_subscription_parseFromJSON() failed [monitored_resource_uris]"); goto end; } - OpenAPI_list_add(monitored_resource_urisList , ogs_strdup(monitored_resource_uris_local->valuestring)); + OpenAPI_list_add(monitored_resource_urisList, ogs_strdup(monitored_resource_uris_local->valuestring)); } cJSON *expiry = cJSON_GetObjectItemCaseSensitive(exposure_data_subscriptionJSON, "expiry"); diff --git a/lib/sbi/openapi/model/ext_amf_event_subscription.c b/lib/sbi/openapi/model/ext_amf_event_subscription.c index 158939aef..4b8150745 100644 --- a/lib/sbi/openapi/model/ext_amf_event_subscription.c +++ b/lib/sbi/openapi/model/ext_amf_event_subscription.c @@ -376,7 +376,7 @@ OpenAPI_ext_amf_event_subscription_t *OpenAPI_ext_amf_event_subscription_parseFr ogs_error("OpenAPI_ext_amf_event_subscription_parseFromJSON() failed [binding_info]"); goto end; } - OpenAPI_list_add(binding_infoList , ogs_strdup(binding_info_local->valuestring)); + OpenAPI_list_add(binding_infoList, ogs_strdup(binding_info_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/flow_info.c b/lib/sbi/openapi/model/flow_info.c index 4686bd7ca..72b46daf0 100644 --- a/lib/sbi/openapi/model/flow_info.c +++ b/lib/sbi/openapi/model/flow_info.c @@ -96,7 +96,7 @@ OpenAPI_flow_info_t *OpenAPI_flow_info_parseFromJSON(cJSON *flow_infoJSON) ogs_error("OpenAPI_flow_info_parseFromJSON() failed [flow_descriptions]"); goto end; } - OpenAPI_list_add(flow_descriptionsList , ogs_strdup(flow_descriptions_local->valuestring)); + OpenAPI_list_add(flow_descriptionsList, ogs_strdup(flow_descriptions_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/flows.c b/lib/sbi/openapi/model/flows.c index 29fd890e2..c56f4a791 100644 --- a/lib/sbi/openapi/model/flows.c +++ b/lib/sbi/openapi/model/flows.c @@ -107,7 +107,7 @@ OpenAPI_flows_t *OpenAPI_flows_parseFromJSON(cJSON *flowsJSON) ogs_error("OpenAPI_flows_parseFromJSON() failed [cont_vers]"); goto end; } - OpenAPI_list_add(cont_versList , &cont_vers_local->valuedouble); + OpenAPI_list_add(cont_versList, &cont_vers_local->valuedouble); } } @@ -127,7 +127,7 @@ OpenAPI_flows_t *OpenAPI_flows_parseFromJSON(cJSON *flowsJSON) ogs_error("OpenAPI_flows_parseFromJSON() failed [f_nums]"); goto end; } - OpenAPI_list_add(f_numsList , &f_nums_local->valuedouble); + OpenAPI_list_add(f_numsList, &f_nums_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/hsmf_update_data.c b/lib/sbi/openapi/model/hsmf_update_data.c index 7338d8dae..f74770171 100644 --- a/lib/sbi/openapi/model/hsmf_update_data.c +++ b/lib/sbi/openapi/model/hsmf_update_data.c @@ -1085,7 +1085,7 @@ OpenAPI_hsmf_update_data_t *OpenAPI_hsmf_update_data_parseFromJSON(cJSON *hsmf_u ogs_error("OpenAPI_hsmf_update_data_parseFromJSON() failed [eps_bearer_id]"); goto end; } - OpenAPI_list_add(eps_bearer_idList , &eps_bearer_id_local->valuedouble); + OpenAPI_list_add(eps_bearer_idList, &eps_bearer_id_local->valuedouble); } } @@ -1114,7 +1114,7 @@ OpenAPI_hsmf_update_data_t *OpenAPI_hsmf_update_data_parseFromJSON(cJSON *hsmf_u ogs_error("OpenAPI_hsmf_update_data_parseFromJSON() failed [revoke_ebi_list]"); goto end; } - OpenAPI_list_add(revoke_ebi_listList , &revoke_ebi_list_local->valuedouble); + OpenAPI_list_add(revoke_ebi_listList, &revoke_ebi_list_local->valuedouble); } } @@ -1419,7 +1419,7 @@ OpenAPI_hsmf_update_data_t *OpenAPI_hsmf_update_data_parseFromJSON(cJSON *hsmf_u ogs_error("OpenAPI_hsmf_update_data_parseFromJSON() failed [dnai_list]"); goto end; } - OpenAPI_list_add(dnai_listList , ogs_strdup(dnai_list_local->valuestring)); + OpenAPI_list_add(dnai_listList, ogs_strdup(dnai_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/hsmf_updated_data.c b/lib/sbi/openapi/model/hsmf_updated_data.c index 2881812d3..e1f8c7b4e 100644 --- a/lib/sbi/openapi/model/hsmf_updated_data.c +++ b/lib/sbi/openapi/model/hsmf_updated_data.c @@ -336,7 +336,7 @@ OpenAPI_hsmf_updated_data_t *OpenAPI_hsmf_updated_data_parseFromJSON(cJSON *hsmf ogs_error("OpenAPI_hsmf_updated_data_parseFromJSON() failed [dnai_list]"); goto end; } - OpenAPI_list_add(dnai_listList , ogs_strdup(dnai_list_local->valuestring)); + OpenAPI_list_add(dnai_listList, ogs_strdup(dnai_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/identity_data.c b/lib/sbi/openapi/model/identity_data.c index 211a85290..bbd2e9669 100644 --- a/lib/sbi/openapi/model/identity_data.c +++ b/lib/sbi/openapi/model/identity_data.c @@ -100,7 +100,7 @@ OpenAPI_identity_data_t *OpenAPI_identity_data_parseFromJSON(cJSON *identity_dat ogs_error("OpenAPI_identity_data_parseFromJSON() failed [supi_list]"); goto end; } - OpenAPI_list_add(supi_listList , ogs_strdup(supi_list_local->valuestring)); + OpenAPI_list_add(supi_listList, ogs_strdup(supi_list_local->valuestring)); } } @@ -120,7 +120,7 @@ OpenAPI_identity_data_t *OpenAPI_identity_data_parseFromJSON(cJSON *identity_dat ogs_error("OpenAPI_identity_data_parseFromJSON() failed [gpsi_list]"); goto end; } - OpenAPI_list_add(gpsi_listList , ogs_strdup(gpsi_list_local->valuestring)); + OpenAPI_list_add(gpsi_listList, ogs_strdup(gpsi_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/inline_response_200.c b/lib/sbi/openapi/model/inline_response_200.c index 98f12a91c..b55378b41 100644 --- a/lib/sbi/openapi/model/inline_response_200.c +++ b/lib/sbi/openapi/model/inline_response_200.c @@ -57,10 +57,10 @@ cJSON *OpenAPI_inline_response_200_convertToJSON(OpenAPI_inline_response_200_t * OpenAPI_links_value_schema_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_inline_response_200_convertToJSON() failed [_links]"); + ogs_error("OpenAPI_inline_response_200_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(_links, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -85,16 +85,16 @@ OpenAPI_inline_response_200_t *OpenAPI_inline_response_200_parseFromJSON(cJSON * OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(_links_local_map, _links) { cJSON *localMapObject = _links_local_map; - if (cJSON_IsObject(_links_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_links_value_schema_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(_links_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_inline_response_200_parseFromJSON() failed [_links]"); + ogs_error("OpenAPI_inline_response_200_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(_linksList , localMapKeyPair); + OpenAPI_list_add(_linksList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/inter_freq_target_info.c b/lib/sbi/openapi/model/inter_freq_target_info.c index 901d18914..b00818153 100644 --- a/lib/sbi/openapi/model/inter_freq_target_info.c +++ b/lib/sbi/openapi/model/inter_freq_target_info.c @@ -96,7 +96,7 @@ OpenAPI_inter_freq_target_info_t *OpenAPI_inter_freq_target_info_parseFromJSON(c ogs_error("OpenAPI_inter_freq_target_info_parseFromJSON() failed [cell_id_list]"); goto end; } - OpenAPI_list_add(cell_id_listList , &cell_id_list_local->valuedouble); + OpenAPI_list_add(cell_id_listList, &cell_id_list_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/inter_freq_target_info_1.c b/lib/sbi/openapi/model/inter_freq_target_info_1.c index 9305e1bd4..4b0fc98de 100644 --- a/lib/sbi/openapi/model/inter_freq_target_info_1.c +++ b/lib/sbi/openapi/model/inter_freq_target_info_1.c @@ -96,7 +96,7 @@ OpenAPI_inter_freq_target_info_1_t *OpenAPI_inter_freq_target_info_1_parseFromJS ogs_error("OpenAPI_inter_freq_target_info_1_parseFromJSON() failed [cell_id_list]"); goto end; } - OpenAPI_list_add(cell_id_listList , &cell_id_list_local->valuedouble); + OpenAPI_list_add(cell_id_listList, &cell_id_list_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/interface_upf_info_item.c b/lib/sbi/openapi/model/interface_upf_info_item.c index 85bd2dc52..f2b4482f0 100644 --- a/lib/sbi/openapi/model/interface_upf_info_item.c +++ b/lib/sbi/openapi/model/interface_upf_info_item.c @@ -140,7 +140,7 @@ OpenAPI_interface_upf_info_item_t *OpenAPI_interface_upf_info_item_parseFromJSON ogs_error("OpenAPI_interface_upf_info_item_parseFromJSON() failed [ipv4_endpoint_addresses]"); goto end; } - OpenAPI_list_add(ipv4_endpoint_addressesList , ogs_strdup(ipv4_endpoint_addresses_local->valuestring)); + OpenAPI_list_add(ipv4_endpoint_addressesList, ogs_strdup(ipv4_endpoint_addresses_local->valuestring)); } } @@ -160,7 +160,7 @@ OpenAPI_interface_upf_info_item_t *OpenAPI_interface_upf_info_item_parseFromJSON ogs_error("OpenAPI_interface_upf_info_item_parseFromJSON() failed [ipv6_endpoint_addresses]"); goto end; } - OpenAPI_list_add(ipv6_endpoint_addressesList , ogs_strdup(ipv6_endpoint_addresses_local->valuestring)); + OpenAPI_list_add(ipv6_endpoint_addressesList, ogs_strdup(ipv6_endpoint_addresses_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/iptv_config_data.c b/lib/sbi/openapi/model/iptv_config_data.c index bd2775f2a..74d3ca153 100644 --- a/lib/sbi/openapi/model/iptv_config_data.c +++ b/lib/sbi/openapi/model/iptv_config_data.c @@ -116,10 +116,10 @@ cJSON *OpenAPI_iptv_config_data_convertToJSON(OpenAPI_iptv_config_data_t *iptv_c OpenAPI_multicast_access_control_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_iptv_config_data_convertToJSON() failed [multi_acc_ctrls]"); + ogs_error("OpenAPI_iptv_config_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(multi_acc_ctrls, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } @@ -205,16 +205,16 @@ OpenAPI_iptv_config_data_t *OpenAPI_iptv_config_data_parseFromJSON(cJSON *iptv_c OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(multi_acc_ctrls_local_map, multi_acc_ctrls) { cJSON *localMapObject = multi_acc_ctrls_local_map; - if (cJSON_IsObject(multi_acc_ctrls_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_multicast_access_control_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(multi_acc_ctrls_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_iptv_config_data_parseFromJSON() failed [multi_acc_ctrls]"); + ogs_error("OpenAPI_iptv_config_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(multi_acc_ctrlsList , localMapKeyPair); + OpenAPI_list_add(multi_acc_ctrlsList, localMapKeyPair); } cJSON *supp_feat = cJSON_GetObjectItemCaseSensitive(iptv_config_dataJSON, "suppFeat"); diff --git a/lib/sbi/openapi/model/iptv_config_data_patch.c b/lib/sbi/openapi/model/iptv_config_data_patch.c index 58d83c521..dd10eb004 100644 --- a/lib/sbi/openapi/model/iptv_config_data_patch.c +++ b/lib/sbi/openapi/model/iptv_config_data_patch.c @@ -57,10 +57,10 @@ cJSON *OpenAPI_iptv_config_data_patch_convertToJSON(OpenAPI_iptv_config_data_pat OpenAPI_multicast_access_control_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_iptv_config_data_patch_convertToJSON() failed [multi_acc_ctrls]"); + ogs_error("OpenAPI_iptv_config_data_patch_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(multi_acc_ctrls, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -85,16 +85,16 @@ OpenAPI_iptv_config_data_patch_t *OpenAPI_iptv_config_data_patch_parseFromJSON(c OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(multi_acc_ctrls_local_map, multi_acc_ctrls) { cJSON *localMapObject = multi_acc_ctrls_local_map; - if (cJSON_IsObject(multi_acc_ctrls_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_multicast_access_control_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(multi_acc_ctrls_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_iptv_config_data_patch_parseFromJSON() failed [multi_acc_ctrls]"); + ogs_error("OpenAPI_iptv_config_data_patch_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(multi_acc_ctrlsList , localMapKeyPair); + OpenAPI_list_add(multi_acc_ctrlsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/limit_id_to_monitoring_key.c b/lib/sbi/openapi/model/limit_id_to_monitoring_key.c index cc86cf4fd..43c13e14c 100644 --- a/lib/sbi/openapi/model/limit_id_to_monitoring_key.c +++ b/lib/sbi/openapi/model/limit_id_to_monitoring_key.c @@ -97,7 +97,7 @@ OpenAPI_limit_id_to_monitoring_key_t *OpenAPI_limit_id_to_monitoring_key_parseFr ogs_error("OpenAPI_limit_id_to_monitoring_key_parseFromJSON() failed [monkey]"); goto end; } - OpenAPI_list_add(monkeyList , ogs_strdup(monkey_local->valuestring)); + OpenAPI_list_add(monkeyList, ogs_strdup(monkey_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/media_component.c b/lib/sbi/openapi/model/media_component.c index d19459ed2..68b8962df 100644 --- a/lib/sbi/openapi/model/media_component.c +++ b/lib/sbi/openapi/model/media_component.c @@ -314,10 +314,10 @@ cJSON *OpenAPI_media_component_convertToJSON(OpenAPI_media_component_t *media_co OpenAPI_media_sub_component_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_media_component_convertToJSON() failed [med_sub_comps]"); + ogs_error("OpenAPI_media_component_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(med_sub_comps, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -509,7 +509,7 @@ OpenAPI_media_component_t *OpenAPI_media_component_parseFromJSON(cJSON *media_co ogs_error("OpenAPI_media_component_parseFromJSON() failed [alt_ser_reqs]"); goto end; } - OpenAPI_list_add(alt_ser_reqsList , ogs_strdup(alt_ser_reqs_local->valuestring)); + OpenAPI_list_add(alt_ser_reqsList, ogs_strdup(alt_ser_reqs_local->valuestring)); } } @@ -538,7 +538,7 @@ OpenAPI_media_component_t *OpenAPI_media_component_parseFromJSON(cJSON *media_co ogs_error("OpenAPI_media_component_parseFromJSON() failed [codecs]"); goto end; } - OpenAPI_list_add(codecsList , ogs_strdup(codecs_local->valuestring)); + OpenAPI_list_add(codecsList, ogs_strdup(codecs_local->valuestring)); } } @@ -658,16 +658,16 @@ OpenAPI_media_component_t *OpenAPI_media_component_parseFromJSON(cJSON *media_co OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(med_sub_comps_local_map, med_sub_comps) { cJSON *localMapObject = med_sub_comps_local_map; - if (cJSON_IsObject(med_sub_comps_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_media_sub_component_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(med_sub_comps_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_media_component_parseFromJSON() failed [med_sub_comps]"); + ogs_error("OpenAPI_media_component_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(med_sub_compsList , localMapKeyPair); + OpenAPI_list_add(med_sub_compsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/media_component_rm.c b/lib/sbi/openapi/model/media_component_rm.c index 8ea35e586..cd16245ee 100644 --- a/lib/sbi/openapi/model/media_component_rm.c +++ b/lib/sbi/openapi/model/media_component_rm.c @@ -316,10 +316,10 @@ cJSON *OpenAPI_media_component_rm_convertToJSON(OpenAPI_media_component_rm_t *me OpenAPI_media_sub_component_rm_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_media_component_rm_convertToJSON() failed [med_sub_comps]"); + ogs_error("OpenAPI_media_component_rm_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(med_sub_comps, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -514,7 +514,7 @@ OpenAPI_media_component_rm_t *OpenAPI_media_component_rm_parseFromJSON(cJSON *me ogs_error("OpenAPI_media_component_rm_parseFromJSON() failed [alt_ser_reqs]"); goto end; } - OpenAPI_list_add(alt_ser_reqsList , ogs_strdup(alt_ser_reqs_local->valuestring)); + OpenAPI_list_add(alt_ser_reqsList, ogs_strdup(alt_ser_reqs_local->valuestring)); } } @@ -552,7 +552,7 @@ OpenAPI_media_component_rm_t *OpenAPI_media_component_rm_parseFromJSON(cJSON *me ogs_error("OpenAPI_media_component_rm_parseFromJSON() failed [codecs]"); goto end; } - OpenAPI_list_add(codecsList , ogs_strdup(codecs_local->valuestring)); + OpenAPI_list_add(codecsList, ogs_strdup(codecs_local->valuestring)); } } @@ -672,16 +672,16 @@ OpenAPI_media_component_rm_t *OpenAPI_media_component_rm_parseFromJSON(cJSON *me OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(med_sub_comps_local_map, med_sub_comps) { cJSON *localMapObject = med_sub_comps_local_map; - if (cJSON_IsObject(med_sub_comps_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_media_sub_component_rm_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(med_sub_comps_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_media_component_rm_parseFromJSON() failed [med_sub_comps]"); + ogs_error("OpenAPI_media_component_rm_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(med_sub_compsList , localMapKeyPair); + OpenAPI_list_add(med_sub_compsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/media_sub_component.c b/lib/sbi/openapi/model/media_sub_component.c index 2a3ab0ba0..5c008d59a 100644 --- a/lib/sbi/openapi/model/media_sub_component.c +++ b/lib/sbi/openapi/model/media_sub_component.c @@ -219,7 +219,7 @@ OpenAPI_media_sub_component_t *OpenAPI_media_sub_component_parseFromJSON(cJSON * ogs_error("OpenAPI_media_sub_component_parseFromJSON() failed [f_descs]"); goto end; } - OpenAPI_list_add(f_descsList , ogs_strdup(f_descs_local->valuestring)); + OpenAPI_list_add(f_descsList, ogs_strdup(f_descs_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/media_sub_component_rm.c b/lib/sbi/openapi/model/media_sub_component_rm.c index 7cdd4d6f9..ef917cc7e 100644 --- a/lib/sbi/openapi/model/media_sub_component_rm.c +++ b/lib/sbi/openapi/model/media_sub_component_rm.c @@ -219,7 +219,7 @@ OpenAPI_media_sub_component_rm_t *OpenAPI_media_sub_component_rm_parseFromJSON(c ogs_error("OpenAPI_media_sub_component_rm_parseFromJSON() failed [f_descs]"); goto end; } - OpenAPI_list_add(f_descsList , ogs_strdup(f_descs_local->valuestring)); + OpenAPI_list_add(f_descsList, ogs_strdup(f_descs_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/mm_context.c b/lib/sbi/openapi/model/mm_context.c index 1e9be2e43..f11e707a5 100644 --- a/lib/sbi/openapi/model/mm_context.c +++ b/lib/sbi/openapi/model/mm_context.c @@ -556,7 +556,7 @@ OpenAPI_mm_context_t *OpenAPI_mm_context_parseFromJSON(cJSON *mm_contextJSON) ogs_error("OpenAPI_mm_context_parseFromJSON() failed [ns_instance_list]"); goto end; } - OpenAPI_list_add(ns_instance_listList , ogs_strdup(ns_instance_list_local->valuestring)); + OpenAPI_list_add(ns_instance_listList, ogs_strdup(ns_instance_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/model_5_gvn_group_configuration.c b/lib/sbi/openapi/model/model_5_gvn_group_configuration.c index 4f9c29ddc..22aa67e8e 100644 --- a/lib/sbi/openapi/model/model_5_gvn_group_configuration.c +++ b/lib/sbi/openapi/model/model_5_gvn_group_configuration.c @@ -142,7 +142,7 @@ OpenAPI_model_5_gvn_group_configuration_t *OpenAPI_model_5_gvn_group_configurati ogs_error("OpenAPI_model_5_gvn_group_configuration_parseFromJSON() failed [members]"); goto end; } - OpenAPI_list_add(membersList , ogs_strdup(members_local->valuestring)); + OpenAPI_list_add(membersList, ogs_strdup(members_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/n2_information_notification.c b/lib/sbi/openapi/model/n2_information_notification.c index 2c56701a3..0ece88dd5 100644 --- a/lib/sbi/openapi/model/n2_information_notification.c +++ b/lib/sbi/openapi/model/n2_information_notification.c @@ -238,7 +238,7 @@ OpenAPI_n2_information_notification_t *OpenAPI_n2_information_notification_parse ogs_error("OpenAPI_n2_information_notification_parseFromJSON() failed [to_release_session_list]"); goto end; } - OpenAPI_list_add(to_release_session_listList , &to_release_session_list_local->valuedouble); + OpenAPI_list_add(to_release_session_listList, &to_release_session_list_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/n2_interface_amf_info.c b/lib/sbi/openapi/model/n2_interface_amf_info.c index c224a18c3..501a5b30f 100644 --- a/lib/sbi/openapi/model/n2_interface_amf_info.c +++ b/lib/sbi/openapi/model/n2_interface_amf_info.c @@ -110,7 +110,7 @@ OpenAPI_n2_interface_amf_info_t *OpenAPI_n2_interface_amf_info_parseFromJSON(cJS ogs_error("OpenAPI_n2_interface_amf_info_parseFromJSON() failed [ipv4_endpoint_address]"); goto end; } - OpenAPI_list_add(ipv4_endpoint_addressList , ogs_strdup(ipv4_endpoint_address_local->valuestring)); + OpenAPI_list_add(ipv4_endpoint_addressList, ogs_strdup(ipv4_endpoint_address_local->valuestring)); } } @@ -130,7 +130,7 @@ OpenAPI_n2_interface_amf_info_t *OpenAPI_n2_interface_amf_info_parseFromJSON(cJS ogs_error("OpenAPI_n2_interface_amf_info_parseFromJSON() failed [ipv6_endpoint_address]"); goto end; } - OpenAPI_list_add(ipv6_endpoint_addressList , ogs_strdup(ipv6_endpoint_address_local->valuestring)); + OpenAPI_list_add(ipv6_endpoint_addressList, ogs_strdup(ipv6_endpoint_address_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/nef_cond.c b/lib/sbi/openapi/model/nef_cond.c index b32cdfbc2..0e8be859f 100644 --- a/lib/sbi/openapi/model/nef_cond.c +++ b/lib/sbi/openapi/model/nef_cond.c @@ -349,7 +349,7 @@ OpenAPI_nef_cond_t *OpenAPI_nef_cond_parseFromJSON(cJSON *nef_condJSON) ogs_error("OpenAPI_nef_cond_parseFromJSON() failed [served_fqdn_list]"); goto end; } - OpenAPI_list_add(served_fqdn_listList , ogs_strdup(served_fqdn_list_local->valuestring)); + OpenAPI_list_add(served_fqdn_listList, ogs_strdup(served_fqdn_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/nef_info.c b/lib/sbi/openapi/model/nef_info.c index 13725b82c..07c1011c2 100644 --- a/lib/sbi/openapi/model/nef_info.c +++ b/lib/sbi/openapi/model/nef_info.c @@ -253,7 +253,7 @@ OpenAPI_nef_info_t *OpenAPI_nef_info_parseFromJSON(cJSON *nef_infoJSON) ogs_error("OpenAPI_nef_info_parseFromJSON() failed [served_fqdn_list]"); goto end; } - OpenAPI_list_add(served_fqdn_listList , ogs_strdup(served_fqdn_list_local->valuestring)); + OpenAPI_list_add(served_fqdn_listList, ogs_strdup(served_fqdn_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/network_slice_cond.c b/lib/sbi/openapi/model/network_slice_cond.c index 1510f7885..d8c874e76 100644 --- a/lib/sbi/openapi/model/network_slice_cond.c +++ b/lib/sbi/openapi/model/network_slice_cond.c @@ -133,7 +133,7 @@ OpenAPI_network_slice_cond_t *OpenAPI_network_slice_cond_parseFromJSON(cJSON *ne ogs_error("OpenAPI_network_slice_cond_parseFromJSON() failed [nsi_list]"); goto end; } - OpenAPI_list_add(nsi_listList , ogs_strdup(nsi_list_local->valuestring)); + OpenAPI_list_add(nsi_listList, ogs_strdup(nsi_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/nf_instance_id_list_cond.c b/lib/sbi/openapi/model/nf_instance_id_list_cond.c index 768ac59dc..55dd844ab 100644 --- a/lib/sbi/openapi/model/nf_instance_id_list_cond.c +++ b/lib/sbi/openapi/model/nf_instance_id_list_cond.c @@ -79,7 +79,7 @@ OpenAPI_nf_instance_id_list_cond_t *OpenAPI_nf_instance_id_list_cond_parseFromJS ogs_error("OpenAPI_nf_instance_id_list_cond_parseFromJSON() failed [nf_instance_id_list]"); goto end; } - OpenAPI_list_add(nf_instance_id_listList , ogs_strdup(nf_instance_id_list_local->valuestring)); + OpenAPI_list_add(nf_instance_id_listList, ogs_strdup(nf_instance_id_list_local->valuestring)); } nf_instance_id_list_cond_local_var = OpenAPI_nf_instance_id_list_cond_create ( diff --git a/lib/sbi/openapi/model/nf_profile.c b/lib/sbi/openapi/model/nf_profile.c index f08d0168d..c1963dbba 100644 --- a/lib/sbi/openapi/model/nf_profile.c +++ b/lib/sbi/openapi/model/nf_profile.c @@ -704,10 +704,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_udr_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [udr_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(udr_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -740,10 +740,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_udm_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [udm_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(udm_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -776,10 +776,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_ausf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [ausf_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(ausf_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -812,10 +812,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_amf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [amf_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(amf_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -848,10 +848,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_smf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [smf_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(smf_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -884,10 +884,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_upf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [upf_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(upf_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -920,10 +920,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_pcf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [pcf_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pcf_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -956,10 +956,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_bsf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [bsf_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(bsf_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -992,10 +992,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_chf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [chf_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(chf_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -1054,10 +1054,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_udsf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [udsf_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(udsf_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -1090,10 +1090,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_pcscf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [pcscf_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pcscf_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -1113,10 +1113,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_hss_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [hss_info_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(hss_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -1183,10 +1183,10 @@ cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile) OpenAPI_nf_service_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nf_profile_convertToJSON() failed [nf_service_list]"); + ogs_error("OpenAPI_nf_profile_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(nf_service_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -1550,7 +1550,7 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [nsi_list]"); goto end; } - OpenAPI_list_add(nsi_listList , ogs_strdup(nsi_list_local->valuestring)); + OpenAPI_list_add(nsi_listList, ogs_strdup(nsi_list_local->valuestring)); } } @@ -1588,7 +1588,7 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [ipv4_addresses]"); goto end; } - OpenAPI_list_add(ipv4_addressesList , ogs_strdup(ipv4_addresses_local->valuestring)); + OpenAPI_list_add(ipv4_addressesList, ogs_strdup(ipv4_addresses_local->valuestring)); } } @@ -1608,7 +1608,7 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [ipv6_addresses]"); goto end; } - OpenAPI_list_add(ipv6_addressesList , ogs_strdup(ipv6_addresses_local->valuestring)); + OpenAPI_list_add(ipv6_addressesList, ogs_strdup(ipv6_addresses_local->valuestring)); } } @@ -1708,7 +1708,7 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [allowed_nf_domains]"); goto end; } - OpenAPI_list_add(allowed_nf_domainsList , ogs_strdup(allowed_nf_domains_local->valuestring)); + OpenAPI_list_add(allowed_nf_domainsList, ogs_strdup(allowed_nf_domains_local->valuestring)); } } @@ -1806,16 +1806,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(udr_info_list_local_map, udr_info_list) { cJSON *localMapObject = udr_info_list_local_map; - if (cJSON_IsObject(udr_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_udr_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(udr_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [udr_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(udr_info_listList , localMapKeyPair); + OpenAPI_list_add(udr_info_listList, localMapKeyPair); } } @@ -1839,16 +1839,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(udm_info_list_local_map, udm_info_list) { cJSON *localMapObject = udm_info_list_local_map; - if (cJSON_IsObject(udm_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_udm_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(udm_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [udm_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(udm_info_listList , localMapKeyPair); + OpenAPI_list_add(udm_info_listList, localMapKeyPair); } } @@ -1872,16 +1872,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(ausf_info_list_local_map, ausf_info_list) { cJSON *localMapObject = ausf_info_list_local_map; - if (cJSON_IsObject(ausf_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_ausf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(ausf_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [ausf_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(ausf_info_listList , localMapKeyPair); + OpenAPI_list_add(ausf_info_listList, localMapKeyPair); } } @@ -1905,16 +1905,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(amf_info_list_local_map, amf_info_list) { cJSON *localMapObject = amf_info_list_local_map; - if (cJSON_IsObject(amf_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_amf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(amf_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [amf_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(amf_info_listList , localMapKeyPair); + OpenAPI_list_add(amf_info_listList, localMapKeyPair); } } @@ -1938,16 +1938,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(smf_info_list_local_map, smf_info_list) { cJSON *localMapObject = smf_info_list_local_map; - if (cJSON_IsObject(smf_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_smf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(smf_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [smf_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(smf_info_listList , localMapKeyPair); + OpenAPI_list_add(smf_info_listList, localMapKeyPair); } } @@ -1971,16 +1971,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(upf_info_list_local_map, upf_info_list) { cJSON *localMapObject = upf_info_list_local_map; - if (cJSON_IsObject(upf_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_upf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(upf_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [upf_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(upf_info_listList , localMapKeyPair); + OpenAPI_list_add(upf_info_listList, localMapKeyPair); } } @@ -2004,16 +2004,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pcf_info_list_local_map, pcf_info_list) { cJSON *localMapObject = pcf_info_list_local_map; - if (cJSON_IsObject(pcf_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_pcf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pcf_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [pcf_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(pcf_info_listList , localMapKeyPair); + OpenAPI_list_add(pcf_info_listList, localMapKeyPair); } } @@ -2037,16 +2037,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(bsf_info_list_local_map, bsf_info_list) { cJSON *localMapObject = bsf_info_list_local_map; - if (cJSON_IsObject(bsf_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_bsf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(bsf_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [bsf_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(bsf_info_listList , localMapKeyPair); + OpenAPI_list_add(bsf_info_listList, localMapKeyPair); } } @@ -2070,16 +2070,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(chf_info_list_local_map, chf_info_list) { cJSON *localMapObject = chf_info_list_local_map; - if (cJSON_IsObject(chf_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_chf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(chf_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [chf_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(chf_info_listList , localMapKeyPair); + OpenAPI_list_add(chf_info_listList, localMapKeyPair); } } @@ -2117,16 +2117,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(udsf_info_list_local_map, udsf_info_list) { cJSON *localMapObject = udsf_info_list_local_map; - if (cJSON_IsObject(udsf_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_udsf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(udsf_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [udsf_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(udsf_info_listList , localMapKeyPair); + OpenAPI_list_add(udsf_info_listList, localMapKeyPair); } } @@ -2150,16 +2150,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pcscf_info_list_local_map, pcscf_info_list) { cJSON *localMapObject = pcscf_info_list_local_map; - if (cJSON_IsObject(pcscf_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_pcscf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pcscf_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [pcscf_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(pcscf_info_listList , localMapKeyPair); + OpenAPI_list_add(pcscf_info_listList, localMapKeyPair); } } @@ -2176,16 +2176,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(hss_info_list_local_map, hss_info_list) { cJSON *localMapObject = hss_info_list_local_map; - if (cJSON_IsObject(hss_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_hss_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(hss_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [hss_info_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(hss_info_listList , localMapKeyPair); + OpenAPI_list_add(hss_info_listList, localMapKeyPair); } } @@ -2260,16 +2260,16 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(nf_service_list_local_map, nf_service_list) { cJSON *localMapObject = nf_service_list_local_map; - if (cJSON_IsObject(nf_service_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_nf_service_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(nf_service_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [nf_service_list]"); + ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(nf_service_listList , localMapKeyPair); + OpenAPI_list_add(nf_service_listList, localMapKeyPair); } } @@ -2350,7 +2350,7 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [nf_set_id_list]"); goto end; } - OpenAPI_list_add(nf_set_id_listList , ogs_strdup(nf_set_id_list_local->valuestring)); + OpenAPI_list_add(nf_set_id_listList, ogs_strdup(nf_set_id_list_local->valuestring)); } } @@ -2370,7 +2370,7 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [serving_scope]"); goto end; } - OpenAPI_list_add(serving_scopeList , ogs_strdup(serving_scope_local->valuestring)); + OpenAPI_list_add(serving_scopeList, ogs_strdup(serving_scope_local->valuestring)); } } @@ -2405,7 +2405,7 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(nf_set_recovery_time_list_local_map, nf_set_recovery_time_list) { cJSON *localMapObject = nf_set_recovery_time_list_local_map; - OpenAPI_list_add(nf_set_recovery_time_listList , localMapKeyPair); + OpenAPI_list_add(nf_set_recovery_time_listList, localMapKeyPair); } } @@ -2422,7 +2422,7 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(service_set_recovery_time_list_local_map, service_set_recovery_time_list) { cJSON *localMapObject = service_set_recovery_time_list_local_map; - OpenAPI_list_add(service_set_recovery_time_listList , localMapKeyPair); + OpenAPI_list_add(service_set_recovery_time_listList, localMapKeyPair); } } @@ -2442,7 +2442,7 @@ OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON) ogs_error("OpenAPI_nf_profile_parseFromJSON() failed [scp_domains]"); goto end; } - OpenAPI_list_add(scp_domainsList , ogs_strdup(scp_domains_local->valuestring)); + OpenAPI_list_add(scp_domainsList, ogs_strdup(scp_domains_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/nf_service.c b/lib/sbi/openapi/model/nf_service.c index 32c652f20..e27135d1a 100644 --- a/lib/sbi/openapi/model/nf_service.c +++ b/lib/sbi/openapi/model/nf_service.c @@ -506,6 +506,14 @@ cJSON *OpenAPI_nf_service_convertToJSON(OpenAPI_nf_service_t *nf_service) if (nf_service->supported_vendor_specific_features) { OpenAPI_list_for_each(nf_service->supported_vendor_specific_features, supported_vendor_specific_features_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)supported_vendor_specific_features_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_vendor_specific_feature_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nf_service_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -784,7 +792,7 @@ OpenAPI_nf_service_t *OpenAPI_nf_service_parseFromJSON(cJSON *nf_serviceJSON) ogs_error("OpenAPI_nf_service_parseFromJSON() failed [allowed_nf_domains]"); goto end; } - OpenAPI_list_add(allowed_nf_domainsList , ogs_strdup(allowed_nf_domains_local->valuestring)); + OpenAPI_list_add(allowed_nf_domainsList, ogs_strdup(allowed_nf_domains_local->valuestring)); } } @@ -830,7 +838,7 @@ OpenAPI_nf_service_t *OpenAPI_nf_service_parseFromJSON(cJSON *nf_serviceJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(allowed_operations_per_nf_type_local_map, allowed_operations_per_nf_type) { cJSON *localMapObject = allowed_operations_per_nf_type_local_map; - OpenAPI_list_add(allowed_operations_per_nf_typeList , localMapKeyPair); + OpenAPI_list_add(allowed_operations_per_nf_typeList, localMapKeyPair); } } @@ -847,7 +855,7 @@ OpenAPI_nf_service_t *OpenAPI_nf_service_parseFromJSON(cJSON *nf_serviceJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(allowed_operations_per_nf_instance_local_map, allowed_operations_per_nf_instance) { cJSON *localMapObject = allowed_operations_per_nf_instance_local_map; - OpenAPI_list_add(allowed_operations_per_nf_instanceList , localMapKeyPair); + OpenAPI_list_add(allowed_operations_per_nf_instanceList, localMapKeyPair); } } @@ -921,7 +929,7 @@ OpenAPI_nf_service_t *OpenAPI_nf_service_parseFromJSON(cJSON *nf_serviceJSON) ogs_error("OpenAPI_nf_service_parseFromJSON() failed [nf_service_set_id_list]"); goto end; } - OpenAPI_list_add(nf_service_set_id_listList , ogs_strdup(nf_service_set_id_list_local->valuestring)); + OpenAPI_list_add(nf_service_set_id_listList, ogs_strdup(nf_service_set_id_list_local->valuestring)); } } @@ -1005,7 +1013,16 @@ OpenAPI_nf_service_t *OpenAPI_nf_service_parseFromJSON(cJSON *nf_serviceJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(supported_vendor_specific_features_local_map, supported_vendor_specific_features) { cJSON *localMapObject = supported_vendor_specific_features_local_map; - OpenAPI_list_add(supported_vendor_specific_featuresList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_vendor_specific_feature_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nf_service_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(supported_vendor_specific_featuresList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/notif_condition.c b/lib/sbi/openapi/model/notif_condition.c index 130f1e7ad..c15b49042 100644 --- a/lib/sbi/openapi/model/notif_condition.c +++ b/lib/sbi/openapi/model/notif_condition.c @@ -100,7 +100,7 @@ OpenAPI_notif_condition_t *OpenAPI_notif_condition_parseFromJSON(cJSON *notif_co ogs_error("OpenAPI_notif_condition_parseFromJSON() failed [monitored_attributes]"); goto end; } - OpenAPI_list_add(monitored_attributesList , ogs_strdup(monitored_attributes_local->valuestring)); + OpenAPI_list_add(monitored_attributesList, ogs_strdup(monitored_attributes_local->valuestring)); } } @@ -120,7 +120,7 @@ OpenAPI_notif_condition_t *OpenAPI_notif_condition_parseFromJSON(cJSON *notif_co ogs_error("OpenAPI_notif_condition_parseFromJSON() failed [unmonitored_attributes]"); goto end; } - OpenAPI_list_add(unmonitored_attributesList , ogs_strdup(unmonitored_attributes_local->valuestring)); + OpenAPI_list_add(unmonitored_attributesList, ogs_strdup(unmonitored_attributes_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/npn_access_info.c b/lib/sbi/openapi/model/npn_access_info.c index 6508a332c..d2c091143 100644 --- a/lib/sbi/openapi/model/npn_access_info.c +++ b/lib/sbi/openapi/model/npn_access_info.c @@ -78,7 +78,7 @@ OpenAPI_npn_access_info_t *OpenAPI_npn_access_info_parseFromJSON(cJSON *npn_acce ogs_error("OpenAPI_npn_access_info_parseFromJSON() failed [cell_cag_info]"); goto end; } - OpenAPI_list_add(cell_cag_infoList , ogs_strdup(cell_cag_info_local->valuestring)); + OpenAPI_list_add(cell_cag_infoList, ogs_strdup(cell_cag_info_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/nrf_info.c b/lib/sbi/openapi/model/nrf_info.c index ebac32ea3..1ee481a2b 100644 --- a/lib/sbi/openapi/model/nrf_info.c +++ b/lib/sbi/openapi/model/nrf_info.c @@ -300,10 +300,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_udr_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_udr_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_udr_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -319,6 +319,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_udr_info_list) { OpenAPI_list_for_each(nrf_info->served_udr_info_list, served_udr_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_udr_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_udr_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -338,10 +346,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_udm_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_udm_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_udm_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -357,6 +365,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_udm_info_list) { OpenAPI_list_for_each(nrf_info->served_udm_info_list, served_udm_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_udm_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_udm_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -376,10 +392,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_ausf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_ausf_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_ausf_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -395,6 +411,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_ausf_info_list) { OpenAPI_list_for_each(nrf_info->served_ausf_info_list, served_ausf_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_ausf_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_ausf_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -414,10 +438,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_amf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_amf_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_amf_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -433,6 +457,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_amf_info_list) { OpenAPI_list_for_each(nrf_info->served_amf_info_list, served_amf_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_amf_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_amf_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -452,10 +484,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_smf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_smf_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_smf_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -471,6 +503,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_smf_info_list) { OpenAPI_list_for_each(nrf_info->served_smf_info_list, served_smf_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_smf_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_smf_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -490,10 +530,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_upf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_upf_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_upf_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -509,6 +549,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_upf_info_list) { OpenAPI_list_for_each(nrf_info->served_upf_info_list, served_upf_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_upf_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_upf_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -528,10 +576,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_pcf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_pcf_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_pcf_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -547,6 +595,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_pcf_info_list) { OpenAPI_list_for_each(nrf_info->served_pcf_info_list, served_pcf_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_pcf_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_pcf_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -566,10 +622,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_bsf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_bsf_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_bsf_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -585,6 +641,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_bsf_info_list) { OpenAPI_list_for_each(nrf_info->served_bsf_info_list, served_bsf_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_bsf_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_bsf_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -604,10 +668,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_chf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_chf_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_chf_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -623,6 +687,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_chf_info_list) { OpenAPI_list_for_each(nrf_info->served_chf_info_list, served_chf_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_chf_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_chf_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -642,10 +714,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_nef_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_nef_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_nef_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -665,10 +737,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_nwdaf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_nwdaf_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_nwdaf_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -684,6 +756,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_pcscf_info_list) { OpenAPI_list_for_each(nrf_info->served_pcscf_info_list, served_pcscf_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_pcscf_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_pcscf_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -703,10 +783,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_gmlc_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_gmlc_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_gmlc_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -726,10 +806,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_lmf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_lmf_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_lmf_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -749,10 +829,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_nf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_nf_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_nf_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -768,6 +848,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_hss_info_list) { OpenAPI_list_for_each(nrf_info->served_hss_info_list, served_hss_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_hss_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_hss_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -787,10 +875,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_udsf_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_udsf_info]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_udsf_info, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -806,6 +894,14 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) if (nrf_info->served_udsf_info_list) { OpenAPI_list_for_each(nrf_info->served_udsf_info_list, served_udsf_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)served_udsf_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_udsf_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -825,10 +921,10 @@ cJSON *OpenAPI_nrf_info_convertToJSON(OpenAPI_nrf_info_t *nrf_info) OpenAPI_scp_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nrf_info_convertToJSON() failed [served_scp_info_list]"); + ogs_error("OpenAPI_nrf_info_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(served_scp_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -853,16 +949,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_udr_info_local_map, served_udr_info) { cJSON *localMapObject = served_udr_info_local_map; - if (cJSON_IsObject(served_udr_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_udr_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_udr_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_udr_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_udr_infoList , localMapKeyPair); + OpenAPI_list_add(served_udr_infoList, localMapKeyPair); } } @@ -879,7 +975,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_udr_info_list_local_map, served_udr_info_list) { cJSON *localMapObject = served_udr_info_list_local_map; - OpenAPI_list_add(served_udr_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_udr_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_udr_info_listList, localMapKeyPair); } } @@ -896,16 +1001,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_udm_info_local_map, served_udm_info) { cJSON *localMapObject = served_udm_info_local_map; - if (cJSON_IsObject(served_udm_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_udm_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_udm_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_udm_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_udm_infoList , localMapKeyPair); + OpenAPI_list_add(served_udm_infoList, localMapKeyPair); } } @@ -922,7 +1027,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_udm_info_list_local_map, served_udm_info_list) { cJSON *localMapObject = served_udm_info_list_local_map; - OpenAPI_list_add(served_udm_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_udm_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_udm_info_listList, localMapKeyPair); } } @@ -939,16 +1053,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_ausf_info_local_map, served_ausf_info) { cJSON *localMapObject = served_ausf_info_local_map; - if (cJSON_IsObject(served_ausf_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_ausf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_ausf_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_ausf_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_ausf_infoList , localMapKeyPair); + OpenAPI_list_add(served_ausf_infoList, localMapKeyPair); } } @@ -965,7 +1079,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_ausf_info_list_local_map, served_ausf_info_list) { cJSON *localMapObject = served_ausf_info_list_local_map; - OpenAPI_list_add(served_ausf_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_ausf_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_ausf_info_listList, localMapKeyPair); } } @@ -982,16 +1105,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_amf_info_local_map, served_amf_info) { cJSON *localMapObject = served_amf_info_local_map; - if (cJSON_IsObject(served_amf_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_amf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_amf_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_amf_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_amf_infoList , localMapKeyPair); + OpenAPI_list_add(served_amf_infoList, localMapKeyPair); } } @@ -1008,7 +1131,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_amf_info_list_local_map, served_amf_info_list) { cJSON *localMapObject = served_amf_info_list_local_map; - OpenAPI_list_add(served_amf_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_amf_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_amf_info_listList, localMapKeyPair); } } @@ -1025,16 +1157,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_smf_info_local_map, served_smf_info) { cJSON *localMapObject = served_smf_info_local_map; - if (cJSON_IsObject(served_smf_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_smf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_smf_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_smf_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_smf_infoList , localMapKeyPair); + OpenAPI_list_add(served_smf_infoList, localMapKeyPair); } } @@ -1051,7 +1183,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_smf_info_list_local_map, served_smf_info_list) { cJSON *localMapObject = served_smf_info_list_local_map; - OpenAPI_list_add(served_smf_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_smf_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_smf_info_listList, localMapKeyPair); } } @@ -1068,16 +1209,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_upf_info_local_map, served_upf_info) { cJSON *localMapObject = served_upf_info_local_map; - if (cJSON_IsObject(served_upf_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_upf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_upf_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_upf_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_upf_infoList , localMapKeyPair); + OpenAPI_list_add(served_upf_infoList, localMapKeyPair); } } @@ -1094,7 +1235,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_upf_info_list_local_map, served_upf_info_list) { cJSON *localMapObject = served_upf_info_list_local_map; - OpenAPI_list_add(served_upf_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_upf_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_upf_info_listList, localMapKeyPair); } } @@ -1111,16 +1261,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_pcf_info_local_map, served_pcf_info) { cJSON *localMapObject = served_pcf_info_local_map; - if (cJSON_IsObject(served_pcf_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_pcf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_pcf_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_pcf_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_pcf_infoList , localMapKeyPair); + OpenAPI_list_add(served_pcf_infoList, localMapKeyPair); } } @@ -1137,7 +1287,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_pcf_info_list_local_map, served_pcf_info_list) { cJSON *localMapObject = served_pcf_info_list_local_map; - OpenAPI_list_add(served_pcf_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_pcf_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_pcf_info_listList, localMapKeyPair); } } @@ -1154,16 +1313,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_bsf_info_local_map, served_bsf_info) { cJSON *localMapObject = served_bsf_info_local_map; - if (cJSON_IsObject(served_bsf_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_bsf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_bsf_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_bsf_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_bsf_infoList , localMapKeyPair); + OpenAPI_list_add(served_bsf_infoList, localMapKeyPair); } } @@ -1180,7 +1339,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_bsf_info_list_local_map, served_bsf_info_list) { cJSON *localMapObject = served_bsf_info_list_local_map; - OpenAPI_list_add(served_bsf_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_bsf_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_bsf_info_listList, localMapKeyPair); } } @@ -1197,16 +1365,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_chf_info_local_map, served_chf_info) { cJSON *localMapObject = served_chf_info_local_map; - if (cJSON_IsObject(served_chf_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_chf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_chf_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_chf_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_chf_infoList , localMapKeyPair); + OpenAPI_list_add(served_chf_infoList, localMapKeyPair); } } @@ -1223,7 +1391,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_chf_info_list_local_map, served_chf_info_list) { cJSON *localMapObject = served_chf_info_list_local_map; - OpenAPI_list_add(served_chf_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_chf_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_chf_info_listList, localMapKeyPair); } } @@ -1240,16 +1417,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_nef_info_local_map, served_nef_info) { cJSON *localMapObject = served_nef_info_local_map; - if (cJSON_IsObject(served_nef_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_nef_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_nef_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_nef_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_nef_infoList , localMapKeyPair); + OpenAPI_list_add(served_nef_infoList, localMapKeyPair); } } @@ -1266,16 +1443,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_nwdaf_info_local_map, served_nwdaf_info) { cJSON *localMapObject = served_nwdaf_info_local_map; - if (cJSON_IsObject(served_nwdaf_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_nwdaf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_nwdaf_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_nwdaf_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_nwdaf_infoList , localMapKeyPair); + OpenAPI_list_add(served_nwdaf_infoList, localMapKeyPair); } } @@ -1292,7 +1469,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_pcscf_info_list_local_map, served_pcscf_info_list) { cJSON *localMapObject = served_pcscf_info_list_local_map; - OpenAPI_list_add(served_pcscf_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_pcscf_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_pcscf_info_listList, localMapKeyPair); } } @@ -1309,16 +1495,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_gmlc_info_local_map, served_gmlc_info) { cJSON *localMapObject = served_gmlc_info_local_map; - if (cJSON_IsObject(served_gmlc_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_gmlc_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_gmlc_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_gmlc_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_gmlc_infoList , localMapKeyPair); + OpenAPI_list_add(served_gmlc_infoList, localMapKeyPair); } } @@ -1335,16 +1521,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_lmf_info_local_map, served_lmf_info) { cJSON *localMapObject = served_lmf_info_local_map; - if (cJSON_IsObject(served_lmf_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_lmf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_lmf_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_lmf_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_lmf_infoList , localMapKeyPair); + OpenAPI_list_add(served_lmf_infoList, localMapKeyPair); } } @@ -1361,16 +1547,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_nf_info_local_map, served_nf_info) { cJSON *localMapObject = served_nf_info_local_map; - if (cJSON_IsObject(served_nf_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_nf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_nf_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_nf_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_nf_infoList , localMapKeyPair); + OpenAPI_list_add(served_nf_infoList, localMapKeyPair); } } @@ -1387,7 +1573,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_hss_info_list_local_map, served_hss_info_list) { cJSON *localMapObject = served_hss_info_list_local_map; - OpenAPI_list_add(served_hss_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_hss_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_hss_info_listList, localMapKeyPair); } } @@ -1404,16 +1599,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_udsf_info_local_map, served_udsf_info) { cJSON *localMapObject = served_udsf_info_local_map; - if (cJSON_IsObject(served_udsf_info_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_udsf_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_udsf_info_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_udsf_info]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_udsf_infoList , localMapKeyPair); + OpenAPI_list_add(served_udsf_infoList, localMapKeyPair); } } @@ -1430,7 +1625,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_udsf_info_list_local_map, served_udsf_info_list) { cJSON *localMapObject = served_udsf_info_list_local_map; - OpenAPI_list_add(served_udsf_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_udsf_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(served_udsf_info_listList, localMapKeyPair); } } @@ -1447,16 +1651,16 @@ OpenAPI_nrf_info_t *OpenAPI_nrf_info_parseFromJSON(cJSON *nrf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(served_scp_info_list_local_map, served_scp_info_list) { cJSON *localMapObject = served_scp_info_list_local_map; - if (cJSON_IsObject(served_scp_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_scp_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(served_scp_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [served_scp_info_list]"); + ogs_error("OpenAPI_nrf_info_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(served_scp_info_listList , localMapKeyPair); + OpenAPI_list_add(served_scp_info_listList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/nssai.c b/lib/sbi/openapi/model/nssai.c index 78209f6ff..d2e7eb0c9 100644 --- a/lib/sbi/openapi/model/nssai.c +++ b/lib/sbi/openapi/model/nssai.c @@ -127,10 +127,10 @@ cJSON *OpenAPI_nssai_convertToJSON(OpenAPI_nssai_t *nssai) OpenAPI_additional_snssai_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nssai_convertToJSON() failed [additional_snssai_data]"); + ogs_error("OpenAPI_nssai_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(additional_snssai_data, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -233,16 +233,16 @@ OpenAPI_nssai_t *OpenAPI_nssai_parseFromJSON(cJSON *nssaiJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(additional_snssai_data_local_map, additional_snssai_data) { cJSON *localMapObject = additional_snssai_data_local_map; - if (cJSON_IsObject(additional_snssai_data_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_additional_snssai_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(additional_snssai_data_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nssai_parseFromJSON() failed [additional_snssai_data]"); + ogs_error("OpenAPI_nssai_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(additional_snssai_dataList , localMapKeyPair); + OpenAPI_list_add(additional_snssai_dataList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/nssai_1.c b/lib/sbi/openapi/model/nssai_1.c index bd39fe7a5..15a7ad5f4 100644 --- a/lib/sbi/openapi/model/nssai_1.c +++ b/lib/sbi/openapi/model/nssai_1.c @@ -127,10 +127,10 @@ cJSON *OpenAPI_nssai_1_convertToJSON(OpenAPI_nssai_1_t *nssai_1) OpenAPI_additional_snssai_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_nssai_1_convertToJSON() failed [additional_snssai_data]"); + ogs_error("OpenAPI_nssai_1_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(additional_snssai_data, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -233,16 +233,16 @@ OpenAPI_nssai_1_t *OpenAPI_nssai_1_parseFromJSON(cJSON *nssai_1JSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(additional_snssai_data_local_map, additional_snssai_data) { cJSON *localMapObject = additional_snssai_data_local_map; - if (cJSON_IsObject(additional_snssai_data_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_additional_snssai_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(additional_snssai_data_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_nssai_1_parseFromJSON() failed [additional_snssai_data]"); + ogs_error("OpenAPI_nssai_1_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(additional_snssai_dataList , localMapKeyPair); + OpenAPI_list_add(additional_snssai_dataList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/nwdaf_cond.c b/lib/sbi/openapi/model/nwdaf_cond.c index c7bbe542b..21a6eed5c 100644 --- a/lib/sbi/openapi/model/nwdaf_cond.c +++ b/lib/sbi/openapi/model/nwdaf_cond.c @@ -199,7 +199,7 @@ OpenAPI_nwdaf_cond_t *OpenAPI_nwdaf_cond_parseFromJSON(cJSON *nwdaf_condJSON) ogs_error("OpenAPI_nwdaf_cond_parseFromJSON() failed [analytics_ids]"); goto end; } - OpenAPI_list_add(analytics_idsList , ogs_strdup(analytics_ids_local->valuestring)); + OpenAPI_list_add(analytics_idsList, ogs_strdup(analytics_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/patch_item.c b/lib/sbi/openapi/model/patch_item.c index 477c146a7..60b15607e 100644 --- a/lib/sbi/openapi/model/patch_item.c +++ b/lib/sbi/openapi/model/patch_item.c @@ -87,7 +87,7 @@ OpenAPI_patch_item_t *OpenAPI_patch_item_parseFromJSON(cJSON *patch_itemJSON) goto end; } - OpenAPI_patch_operation_e opVariable = 0; + OpenAPI_patch_operation_e opVariable; if (!cJSON_IsString(op)) { ogs_error("OpenAPI_patch_item_parseFromJSON() failed [op]"); goto end; diff --git a/lib/sbi/openapi/model/pcc_rule.c b/lib/sbi/openapi/model/pcc_rule.c index 00f2ee1a4..c857ce952 100644 --- a/lib/sbi/openapi/model/pcc_rule.c +++ b/lib/sbi/openapi/model/pcc_rule.c @@ -519,7 +519,7 @@ OpenAPI_pcc_rule_t *OpenAPI_pcc_rule_parseFromJSON(cJSON *pcc_ruleJSON) ogs_error("OpenAPI_pcc_rule_parseFromJSON() failed [ref_qos_data]"); goto end; } - OpenAPI_list_add(ref_qos_dataList , ogs_strdup(ref_qos_data_local->valuestring)); + OpenAPI_list_add(ref_qos_dataList, ogs_strdup(ref_qos_data_local->valuestring)); } } @@ -539,7 +539,7 @@ OpenAPI_pcc_rule_t *OpenAPI_pcc_rule_parseFromJSON(cJSON *pcc_ruleJSON) ogs_error("OpenAPI_pcc_rule_parseFromJSON() failed [ref_alt_qos_params]"); goto end; } - OpenAPI_list_add(ref_alt_qos_paramsList , ogs_strdup(ref_alt_qos_params_local->valuestring)); + OpenAPI_list_add(ref_alt_qos_paramsList, ogs_strdup(ref_alt_qos_params_local->valuestring)); } } @@ -559,7 +559,7 @@ OpenAPI_pcc_rule_t *OpenAPI_pcc_rule_parseFromJSON(cJSON *pcc_ruleJSON) ogs_error("OpenAPI_pcc_rule_parseFromJSON() failed [ref_tc_data]"); goto end; } - OpenAPI_list_add(ref_tc_dataList , ogs_strdup(ref_tc_data_local->valuestring)); + OpenAPI_list_add(ref_tc_dataList, ogs_strdup(ref_tc_data_local->valuestring)); } } @@ -579,7 +579,7 @@ OpenAPI_pcc_rule_t *OpenAPI_pcc_rule_parseFromJSON(cJSON *pcc_ruleJSON) ogs_error("OpenAPI_pcc_rule_parseFromJSON() failed [ref_chg_data]"); goto end; } - OpenAPI_list_add(ref_chg_dataList , ogs_strdup(ref_chg_data_local->valuestring)); + OpenAPI_list_add(ref_chg_dataList, ogs_strdup(ref_chg_data_local->valuestring)); } } @@ -599,7 +599,7 @@ OpenAPI_pcc_rule_t *OpenAPI_pcc_rule_parseFromJSON(cJSON *pcc_ruleJSON) ogs_error("OpenAPI_pcc_rule_parseFromJSON() failed [ref_chg_n3g_data]"); goto end; } - OpenAPI_list_add(ref_chg_n3g_dataList , ogs_strdup(ref_chg_n3g_data_local->valuestring)); + OpenAPI_list_add(ref_chg_n3g_dataList, ogs_strdup(ref_chg_n3g_data_local->valuestring)); } } @@ -619,7 +619,7 @@ OpenAPI_pcc_rule_t *OpenAPI_pcc_rule_parseFromJSON(cJSON *pcc_ruleJSON) ogs_error("OpenAPI_pcc_rule_parseFromJSON() failed [ref_um_data]"); goto end; } - OpenAPI_list_add(ref_um_dataList , ogs_strdup(ref_um_data_local->valuestring)); + OpenAPI_list_add(ref_um_dataList, ogs_strdup(ref_um_data_local->valuestring)); } } @@ -639,7 +639,7 @@ OpenAPI_pcc_rule_t *OpenAPI_pcc_rule_parseFromJSON(cJSON *pcc_ruleJSON) ogs_error("OpenAPI_pcc_rule_parseFromJSON() failed [ref_um_n3g_data]"); goto end; } - OpenAPI_list_add(ref_um_n3g_dataList , ogs_strdup(ref_um_n3g_data_local->valuestring)); + OpenAPI_list_add(ref_um_n3g_dataList, ogs_strdup(ref_um_n3g_data_local->valuestring)); } } @@ -668,7 +668,7 @@ OpenAPI_pcc_rule_t *OpenAPI_pcc_rule_parseFromJSON(cJSON *pcc_ruleJSON) ogs_error("OpenAPI_pcc_rule_parseFromJSON() failed [ref_qos_mon]"); goto end; } - OpenAPI_list_add(ref_qos_monList , ogs_strdup(ref_qos_mon_local->valuestring)); + OpenAPI_list_add(ref_qos_monList, ogs_strdup(ref_qos_mon_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/pcf_binding.c b/lib/sbi/openapi/model/pcf_binding.c index aafbd10f8..7ab68797b 100644 --- a/lib/sbi/openapi/model/pcf_binding.c +++ b/lib/sbi/openapi/model/pcf_binding.c @@ -419,7 +419,7 @@ OpenAPI_pcf_binding_t *OpenAPI_pcf_binding_parseFromJSON(cJSON *pcf_bindingJSON) ogs_error("OpenAPI_pcf_binding_parseFromJSON() failed [add_ipv6_prefixes]"); goto end; } - OpenAPI_list_add(add_ipv6_prefixesList , ogs_strdup(add_ipv6_prefixes_local->valuestring)); + OpenAPI_list_add(add_ipv6_prefixesList, ogs_strdup(add_ipv6_prefixes_local->valuestring)); } } @@ -457,7 +457,7 @@ OpenAPI_pcf_binding_t *OpenAPI_pcf_binding_parseFromJSON(cJSON *pcf_bindingJSON) ogs_error("OpenAPI_pcf_binding_parseFromJSON() failed [add_mac_addrs]"); goto end; } - OpenAPI_list_add(add_mac_addrsList , ogs_strdup(add_mac_addrs_local->valuestring)); + OpenAPI_list_add(add_mac_addrsList, ogs_strdup(add_mac_addrs_local->valuestring)); } } @@ -645,7 +645,7 @@ OpenAPI_pcf_binding_t *OpenAPI_pcf_binding_parseFromJSON(cJSON *pcf_bindingJSON) ogs_error("OpenAPI_pcf_binding_parseFromJSON() failed [ipv4_frame_route_list]"); goto end; } - OpenAPI_list_add(ipv4_frame_route_listList , ogs_strdup(ipv4_frame_route_list_local->valuestring)); + OpenAPI_list_add(ipv4_frame_route_listList, ogs_strdup(ipv4_frame_route_list_local->valuestring)); } } @@ -665,7 +665,7 @@ OpenAPI_pcf_binding_t *OpenAPI_pcf_binding_parseFromJSON(cJSON *pcf_bindingJSON) ogs_error("OpenAPI_pcf_binding_parseFromJSON() failed [ipv6_frame_route_list]"); goto end; } - OpenAPI_list_add(ipv6_frame_route_listList , ogs_strdup(ipv6_frame_route_list_local->valuestring)); + OpenAPI_list_add(ipv6_frame_route_listList, ogs_strdup(ipv6_frame_route_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/pcf_binding_patch.c b/lib/sbi/openapi/model/pcf_binding_patch.c index c5dff7d17..5bab4b995 100644 --- a/lib/sbi/openapi/model/pcf_binding_patch.c +++ b/lib/sbi/openapi/model/pcf_binding_patch.c @@ -233,7 +233,7 @@ OpenAPI_pcf_binding_patch_t *OpenAPI_pcf_binding_patch_parseFromJSON(cJSON *pcf_ ogs_error("OpenAPI_pcf_binding_patch_parseFromJSON() failed [add_ipv6_prefixes]"); goto end; } - OpenAPI_list_add(add_ipv6_prefixesList , ogs_strdup(add_ipv6_prefixes_local->valuestring)); + OpenAPI_list_add(add_ipv6_prefixesList, ogs_strdup(add_ipv6_prefixes_local->valuestring)); } } @@ -262,7 +262,7 @@ OpenAPI_pcf_binding_patch_t *OpenAPI_pcf_binding_patch_parseFromJSON(cJSON *pcf_ ogs_error("OpenAPI_pcf_binding_patch_parseFromJSON() failed [add_mac_addrs]"); goto end; } - OpenAPI_list_add(add_mac_addrsList , ogs_strdup(add_mac_addrs_local->valuestring)); + OpenAPI_list_add(add_mac_addrsList, ogs_strdup(add_mac_addrs_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/pcf_info.c b/lib/sbi/openapi/model/pcf_info.c index 6dc94bc60..146d73007 100644 --- a/lib/sbi/openapi/model/pcf_info.c +++ b/lib/sbi/openapi/model/pcf_info.c @@ -180,7 +180,7 @@ OpenAPI_pcf_info_t *OpenAPI_pcf_info_parseFromJSON(cJSON *pcf_infoJSON) ogs_error("OpenAPI_pcf_info_parseFromJSON() failed [dnn_list]"); goto end; } - OpenAPI_list_add(dnn_listList , ogs_strdup(dnn_list_local->valuestring)); + OpenAPI_list_add(dnn_listList, ogs_strdup(dnn_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/pcscf_info.c b/lib/sbi/openapi/model/pcscf_info.c index 7c58e0133..ca60e1662 100644 --- a/lib/sbi/openapi/model/pcscf_info.c +++ b/lib/sbi/openapi/model/pcscf_info.c @@ -224,7 +224,7 @@ OpenAPI_pcscf_info_t *OpenAPI_pcscf_info_parseFromJSON(cJSON *pcscf_infoJSON) ogs_error("OpenAPI_pcscf_info_parseFromJSON() failed [dnn_list]"); goto end; } - OpenAPI_list_add(dnn_listList , ogs_strdup(dnn_list_local->valuestring)); + OpenAPI_list_add(dnn_listList, ogs_strdup(dnn_list_local->valuestring)); } } @@ -253,7 +253,7 @@ OpenAPI_pcscf_info_t *OpenAPI_pcscf_info_parseFromJSON(cJSON *pcscf_infoJSON) ogs_error("OpenAPI_pcscf_info_parseFromJSON() failed [gm_ipv4_addresses]"); goto end; } - OpenAPI_list_add(gm_ipv4_addressesList , ogs_strdup(gm_ipv4_addresses_local->valuestring)); + OpenAPI_list_add(gm_ipv4_addressesList, ogs_strdup(gm_ipv4_addresses_local->valuestring)); } } @@ -273,7 +273,7 @@ OpenAPI_pcscf_info_t *OpenAPI_pcscf_info_parseFromJSON(cJSON *pcscf_infoJSON) ogs_error("OpenAPI_pcscf_info_parseFromJSON() failed [gm_ipv6_addresses]"); goto end; } - OpenAPI_list_add(gm_ipv6_addressesList , ogs_strdup(gm_ipv6_addresses_local->valuestring)); + OpenAPI_list_add(gm_ipv6_addressesList, ogs_strdup(gm_ipv6_addresses_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/pdu_session_create_data.c b/lib/sbi/openapi/model/pdu_session_create_data.c index 3e1dff8e5..2f1ea3431 100644 --- a/lib/sbi/openapi/model/pdu_session_create_data.c +++ b/lib/sbi/openapi/model/pdu_session_create_data.c @@ -918,7 +918,7 @@ OpenAPI_pdu_session_create_data_t *OpenAPI_pdu_session_create_data_parseFromJSON ogs_error("OpenAPI_pdu_session_create_data_parseFromJSON() failed [eps_bearer_id]"); goto end; } - OpenAPI_list_add(eps_bearer_idList , &eps_bearer_id_local->valuedouble); + OpenAPI_list_add(eps_bearer_idList, &eps_bearer_id_local->valuedouble); } } @@ -1321,7 +1321,7 @@ OpenAPI_pdu_session_create_data_t *OpenAPI_pdu_session_create_data_parseFromJSON ogs_error("OpenAPI_pdu_session_create_data_parseFromJSON() failed [dnai_list]"); goto end; } - OpenAPI_list_add(dnai_listList , ogs_strdup(dnai_list_local->valuestring)); + OpenAPI_list_add(dnai_listList, ogs_strdup(dnai_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/pdu_session_created_data.c b/lib/sbi/openapi/model/pdu_session_created_data.c index 7a1b2f80e..b700e5826 100644 --- a/lib/sbi/openapi/model/pdu_session_created_data.c +++ b/lib/sbi/openapi/model/pdu_session_created_data.c @@ -812,7 +812,7 @@ OpenAPI_pdu_session_created_data_t *OpenAPI_pdu_session_created_data_parseFromJS ogs_error("OpenAPI_pdu_session_created_data_parseFromJSON() failed [dnai_list]"); goto end; } - OpenAPI_list_add(dnai_listList , ogs_strdup(dnai_list_local->valuestring)); + OpenAPI_list_add(dnai_listList, ogs_strdup(dnai_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/pdu_session_management_data.c b/lib/sbi/openapi/model/pdu_session_management_data.c index 3e2e03bb0..d87a01c00 100644 --- a/lib/sbi/openapi/model/pdu_session_management_data.c +++ b/lib/sbi/openapi/model/pdu_session_management_data.c @@ -323,7 +323,7 @@ OpenAPI_pdu_session_management_data_t *OpenAPI_pdu_session_management_data_parse ogs_error("OpenAPI_pdu_session_management_data_parseFromJSON() failed [ipv6_prefix]"); goto end; } - OpenAPI_list_add(ipv6_prefixList , ogs_strdup(ipv6_prefix_local->valuestring)); + OpenAPI_list_add(ipv6_prefixList, ogs_strdup(ipv6_prefix_local->valuestring)); } } @@ -343,7 +343,7 @@ OpenAPI_pdu_session_management_data_t *OpenAPI_pdu_session_management_data_parse ogs_error("OpenAPI_pdu_session_management_data_parseFromJSON() failed [ipv6_addrs]"); goto end; } - OpenAPI_list_add(ipv6_addrsList , ogs_strdup(ipv6_addrs_local->valuestring)); + OpenAPI_list_add(ipv6_addrsList, ogs_strdup(ipv6_addrs_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/pfd_content.c b/lib/sbi/openapi/model/pfd_content.c index 80e707c80..d3092a2c7 100644 --- a/lib/sbi/openapi/model/pfd_content.c +++ b/lib/sbi/openapi/model/pfd_content.c @@ -157,7 +157,7 @@ OpenAPI_pfd_content_t *OpenAPI_pfd_content_parseFromJSON(cJSON *pfd_contentJSON) ogs_error("OpenAPI_pfd_content_parseFromJSON() failed [flow_descriptions]"); goto end; } - OpenAPI_list_add(flow_descriptionsList , ogs_strdup(flow_descriptions_local->valuestring)); + OpenAPI_list_add(flow_descriptionsList, ogs_strdup(flow_descriptions_local->valuestring)); } } @@ -177,7 +177,7 @@ OpenAPI_pfd_content_t *OpenAPI_pfd_content_parseFromJSON(cJSON *pfd_contentJSON) ogs_error("OpenAPI_pfd_content_parseFromJSON() failed [urls]"); goto end; } - OpenAPI_list_add(urlsList , ogs_strdup(urls_local->valuestring)); + OpenAPI_list_add(urlsList, ogs_strdup(urls_local->valuestring)); } } @@ -197,7 +197,7 @@ OpenAPI_pfd_content_t *OpenAPI_pfd_content_parseFromJSON(cJSON *pfd_contentJSON) ogs_error("OpenAPI_pfd_content_parseFromJSON() failed [domain_names]"); goto end; } - OpenAPI_list_add(domain_namesList , ogs_strdup(domain_names_local->valuestring)); + OpenAPI_list_add(domain_namesList, ogs_strdup(domain_names_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/pfd_data.c b/lib/sbi/openapi/model/pfd_data.c index f5d0f47d4..bb9388756 100644 --- a/lib/sbi/openapi/model/pfd_data.c +++ b/lib/sbi/openapi/model/pfd_data.c @@ -100,7 +100,7 @@ OpenAPI_pfd_data_t *OpenAPI_pfd_data_parseFromJSON(cJSON *pfd_dataJSON) ogs_error("OpenAPI_pfd_data_parseFromJSON() failed [app_ids]"); goto end; } - OpenAPI_list_add(app_idsList , ogs_strdup(app_ids_local->valuestring)); + OpenAPI_list_add(app_idsList, ogs_strdup(app_ids_local->valuestring)); } } @@ -120,7 +120,7 @@ OpenAPI_pfd_data_t *OpenAPI_pfd_data_parseFromJSON(cJSON *pfd_dataJSON) ogs_error("OpenAPI_pfd_data_parseFromJSON() failed [af_ids]"); goto end; } - OpenAPI_list_add(af_idsList , ogs_strdup(af_ids_local->valuestring)); + OpenAPI_list_add(af_idsList, ogs_strdup(af_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/plmn_operator_class.c b/lib/sbi/openapi/model/plmn_operator_class.c index 26ae98887..8c29373a9 100644 --- a/lib/sbi/openapi/model/plmn_operator_class.c +++ b/lib/sbi/openapi/model/plmn_operator_class.c @@ -99,7 +99,7 @@ OpenAPI_plmn_operator_class_t *OpenAPI_plmn_operator_class_parseFromJSON(cJSON * ogs_error("OpenAPI_plmn_operator_class_parseFromJSON() failed [lcs_client_ids]"); goto end; } - OpenAPI_list_add(lcs_client_idsList , ogs_strdup(lcs_client_ids_local->valuestring)); + OpenAPI_list_add(lcs_client_idsList, ogs_strdup(lcs_client_ids_local->valuestring)); } plmn_operator_class_local_var = OpenAPI_plmn_operator_class_create ( diff --git a/lib/sbi/openapi/model/plmn_operator_class_1.c b/lib/sbi/openapi/model/plmn_operator_class_1.c index eac441bff..b77a24d0a 100644 --- a/lib/sbi/openapi/model/plmn_operator_class_1.c +++ b/lib/sbi/openapi/model/plmn_operator_class_1.c @@ -99,7 +99,7 @@ OpenAPI_plmn_operator_class_1_t *OpenAPI_plmn_operator_class_1_parseFromJSON(cJS ogs_error("OpenAPI_plmn_operator_class_1_parseFromJSON() failed [lcs_client_ids]"); goto end; } - OpenAPI_list_add(lcs_client_idsList , ogs_strdup(lcs_client_ids_local->valuestring)); + OpenAPI_list_add(lcs_client_idsList, ogs_strdup(lcs_client_ids_local->valuestring)); } plmn_operator_class_1_local_var = OpenAPI_plmn_operator_class_1_create ( diff --git a/lib/sbi/openapi/model/policy_association.c b/lib/sbi/openapi/model/policy_association.c index ece82e1fb..27e357a33 100644 --- a/lib/sbi/openapi/model/policy_association.c +++ b/lib/sbi/openapi/model/policy_association.c @@ -169,10 +169,10 @@ cJSON *OpenAPI_policy_association_convertToJSON(OpenAPI_policy_association_t *po OpenAPI_presence_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_policy_association_convertToJSON() failed [pras]"); + ogs_error("OpenAPI_policy_association_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pras, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -268,16 +268,16 @@ OpenAPI_policy_association_t *OpenAPI_policy_association_parseFromJSON(cJSON *po OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pras_local_map, pras) { cJSON *localMapObject = pras_local_map; - if (cJSON_IsObject(pras_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_presence_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pras_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_policy_association_parseFromJSON() failed [pras]"); + ogs_error("OpenAPI_policy_association_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(prasList , localMapKeyPair); + OpenAPI_list_add(prasList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/policy_association_request.c b/lib/sbi/openapi/model/policy_association_request.c index 3b6f7f95f..6a46c114a 100644 --- a/lib/sbi/openapi/model/policy_association_request.c +++ b/lib/sbi/openapi/model/policy_association_request.c @@ -474,7 +474,7 @@ OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_parseFr ogs_error("OpenAPI_policy_association_request_parseFromJSON() failed [alt_notif_ipv4_addrs]"); goto end; } - OpenAPI_list_add(alt_notif_ipv4_addrsList , ogs_strdup(alt_notif_ipv4_addrs_local->valuestring)); + OpenAPI_list_add(alt_notif_ipv4_addrsList, ogs_strdup(alt_notif_ipv4_addrs_local->valuestring)); } } @@ -494,7 +494,7 @@ OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_parseFr ogs_error("OpenAPI_policy_association_request_parseFromJSON() failed [alt_notif_ipv6_addrs]"); goto end; } - OpenAPI_list_add(alt_notif_ipv6_addrsList , ogs_strdup(alt_notif_ipv6_addrs_local->valuestring)); + OpenAPI_list_add(alt_notif_ipv6_addrsList, ogs_strdup(alt_notif_ipv6_addrs_local->valuestring)); } } @@ -514,7 +514,7 @@ OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_parseFr ogs_error("OpenAPI_policy_association_request_parseFromJSON() failed [alt_notif_fqdns]"); goto end; } - OpenAPI_list_add(alt_notif_fqdnsList , ogs_strdup(alt_notif_fqdns_local->valuestring)); + OpenAPI_list_add(alt_notif_fqdnsList, ogs_strdup(alt_notif_fqdns_local->valuestring)); } } @@ -652,7 +652,7 @@ OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_parseFr ogs_error("OpenAPI_policy_association_request_parseFromJSON() failed [group_ids]"); goto end; } - OpenAPI_list_add(group_idsList , ogs_strdup(group_ids_local->valuestring)); + OpenAPI_list_add(group_idsList, ogs_strdup(group_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/policy_association_update_request.c b/lib/sbi/openapi/model/policy_association_update_request.c index e3fd71d93..d5294c513 100644 --- a/lib/sbi/openapi/model/policy_association_update_request.c +++ b/lib/sbi/openapi/model/policy_association_update_request.c @@ -259,10 +259,10 @@ cJSON *OpenAPI_policy_association_update_request_convertToJSON(OpenAPI_policy_as OpenAPI_presence_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_policy_association_update_request_convertToJSON() failed [pra_statuses]"); + ogs_error("OpenAPI_policy_association_update_request_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pra_statuses, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -428,7 +428,7 @@ OpenAPI_policy_association_update_request_t *OpenAPI_policy_association_update_r ogs_error("OpenAPI_policy_association_update_request_parseFromJSON() failed [alt_notif_ipv4_addrs]"); goto end; } - OpenAPI_list_add(alt_notif_ipv4_addrsList , ogs_strdup(alt_notif_ipv4_addrs_local->valuestring)); + OpenAPI_list_add(alt_notif_ipv4_addrsList, ogs_strdup(alt_notif_ipv4_addrs_local->valuestring)); } } @@ -448,7 +448,7 @@ OpenAPI_policy_association_update_request_t *OpenAPI_policy_association_update_r ogs_error("OpenAPI_policy_association_update_request_parseFromJSON() failed [alt_notif_ipv6_addrs]"); goto end; } - OpenAPI_list_add(alt_notif_ipv6_addrsList , ogs_strdup(alt_notif_ipv6_addrs_local->valuestring)); + OpenAPI_list_add(alt_notif_ipv6_addrsList, ogs_strdup(alt_notif_ipv6_addrs_local->valuestring)); } } @@ -468,7 +468,7 @@ OpenAPI_policy_association_update_request_t *OpenAPI_policy_association_update_r ogs_error("OpenAPI_policy_association_update_request_parseFromJSON() failed [alt_notif_fqdns]"); goto end; } - OpenAPI_list_add(alt_notif_fqdnsList , ogs_strdup(alt_notif_fqdns_local->valuestring)); + OpenAPI_list_add(alt_notif_fqdnsList, ogs_strdup(alt_notif_fqdns_local->valuestring)); } } @@ -544,16 +544,16 @@ OpenAPI_policy_association_update_request_t *OpenAPI_policy_association_update_r OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pra_statuses_local_map, pra_statuses) { cJSON *localMapObject = pra_statuses_local_map; - if (cJSON_IsObject(pra_statuses_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_presence_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pra_statuses_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_policy_association_update_request_parseFromJSON() failed [pra_statuses]"); + ogs_error("OpenAPI_policy_association_update_request_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(pra_statusesList , localMapKeyPair); + OpenAPI_list_add(pra_statusesList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/policy_data_change_notification.c b/lib/sbi/openapi/model/policy_data_change_notification.c index 5f98ba5d9..166968644 100644 --- a/lib/sbi/openapi/model/policy_data_change_notification.c +++ b/lib/sbi/openapi/model/policy_data_change_notification.c @@ -215,10 +215,10 @@ cJSON *OpenAPI_policy_data_change_notification_convertToJSON(OpenAPI_policy_data OpenAPI_operator_specific_data_container_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_policy_data_change_notification_convertToJSON() failed [op_spec_data_map]"); + ogs_error("OpenAPI_policy_data_change_notification_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(op_spec_data_map, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -383,16 +383,16 @@ OpenAPI_policy_data_change_notification_t *OpenAPI_policy_data_change_notificati OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(op_spec_data_map_local_map, op_spec_data_map) { cJSON *localMapObject = op_spec_data_map_local_map; - if (cJSON_IsObject(op_spec_data_map_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_operator_specific_data_container_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(op_spec_data_map_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_policy_data_change_notification_parseFromJSON() failed [op_spec_data_map]"); + ogs_error("OpenAPI_policy_data_change_notification_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(op_spec_data_mapList , localMapKeyPair); + OpenAPI_list_add(op_spec_data_mapList, localMapKeyPair); } } @@ -455,7 +455,7 @@ OpenAPI_policy_data_change_notification_t *OpenAPI_policy_data_change_notificati ogs_error("OpenAPI_policy_data_change_notification_parseFromJSON() failed [del_resources]"); goto end; } - OpenAPI_list_add(del_resourcesList , ogs_strdup(del_resources_local->valuestring)); + OpenAPI_list_add(del_resourcesList, ogs_strdup(del_resources_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/policy_data_subscription.c b/lib/sbi/openapi/model/policy_data_subscription.c index 532f69e08..09b6b0044 100644 --- a/lib/sbi/openapi/model/policy_data_subscription.c +++ b/lib/sbi/openapi/model/policy_data_subscription.c @@ -163,7 +163,7 @@ OpenAPI_policy_data_subscription_t *OpenAPI_policy_data_subscription_parseFromJS ogs_error("OpenAPI_policy_data_subscription_parseFromJSON() failed [monitored_resource_uris]"); goto end; } - OpenAPI_list_add(monitored_resource_urisList , ogs_strdup(monitored_resource_uris_local->valuestring)); + OpenAPI_list_add(monitored_resource_urisList, ogs_strdup(monitored_resource_uris_local->valuestring)); } cJSON *mon_res_items = cJSON_GetObjectItemCaseSensitive(policy_data_subscriptionJSON, "monResItems"); diff --git a/lib/sbi/openapi/model/policy_update.c b/lib/sbi/openapi/model/policy_update.c index e31d0c549..da176db6a 100644 --- a/lib/sbi/openapi/model/policy_update.c +++ b/lib/sbi/openapi/model/policy_update.c @@ -158,10 +158,10 @@ cJSON *OpenAPI_policy_update_convertToJSON(OpenAPI_policy_update_t *policy_updat OpenAPI_presence_info_rm_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_policy_update_convertToJSON() failed [pras]"); + ogs_error("OpenAPI_policy_update_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pras, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -256,16 +256,16 @@ OpenAPI_policy_update_t *OpenAPI_policy_update_parseFromJSON(cJSON *policy_updat OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pras_local_map, pras) { cJSON *localMapObject = pras_local_map; - if (cJSON_IsObject(pras_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_presence_info_rm_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pras_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_policy_update_parseFromJSON() failed [pras]"); + ogs_error("OpenAPI_policy_update_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(prasList , localMapKeyPair); + OpenAPI_list_add(prasList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/pp5g_vn_group_profile_data.c b/lib/sbi/openapi/model/pp5g_vn_group_profile_data.c index 7afb0496b..1cdf38b93 100644 --- a/lib/sbi/openapi/model/pp5g_vn_group_profile_data.c +++ b/lib/sbi/openapi/model/pp5g_vn_group_profile_data.c @@ -56,6 +56,14 @@ cJSON *OpenAPI_pp5g_vn_group_profile_data_convertToJSON(OpenAPI_pp5g_vn_group_pr if (pp5g_vn_group_profile_data->allowed_mtc_providers) { OpenAPI_list_for_each(pp5g_vn_group_profile_data->allowed_mtc_providers, allowed_mtc_providers_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)allowed_mtc_providers_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_allowed_mtc_provider_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_pp5g_vn_group_profile_data_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -87,7 +95,16 @@ OpenAPI_pp5g_vn_group_profile_data_t *OpenAPI_pp5g_vn_group_profile_data_parseFr OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(allowed_mtc_providers_local_map, allowed_mtc_providers) { cJSON *localMapObject = allowed_mtc_providers_local_map; - OpenAPI_list_add(allowed_mtc_providersList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_allowed_mtc_provider_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_pp5g_vn_group_profile_data_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(allowed_mtc_providersList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/pp_profile_data.c b/lib/sbi/openapi/model/pp_profile_data.c index 3feca81f8..a415d0939 100644 --- a/lib/sbi/openapi/model/pp_profile_data.c +++ b/lib/sbi/openapi/model/pp_profile_data.c @@ -56,6 +56,14 @@ cJSON *OpenAPI_pp_profile_data_convertToJSON(OpenAPI_pp_profile_data_t *pp_profi if (pp_profile_data->allowed_mtc_providers) { OpenAPI_list_for_each(pp_profile_data->allowed_mtc_providers, allowed_mtc_providers_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)allowed_mtc_providers_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_allowed_mtc_provider_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_pp_profile_data_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -87,7 +95,16 @@ OpenAPI_pp_profile_data_t *OpenAPI_pp_profile_data_parseFromJSON(cJSON *pp_profi OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(allowed_mtc_providers_local_map, allowed_mtc_providers) { cJSON *localMapObject = allowed_mtc_providers_local_map; - OpenAPI_list_add(allowed_mtc_providersList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_allowed_mtc_provider_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_pp_profile_data_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(allowed_mtc_providersList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/problem_details_2.c b/lib/sbi/openapi/model/problem_details_2.c new file mode 100644 index 000000000..3f11d2d21 --- /dev/null +++ b/lib/sbi/openapi/model/problem_details_2.c @@ -0,0 +1,288 @@ + +#include +#include +#include +#include "problem_details_2.h" + +OpenAPI_problem_details_2_t *OpenAPI_problem_details_2_create( + char *type, + char *title, + bool is_status, + int status, + char *detail, + char *instance, + char *cause, + OpenAPI_list_t *invalid_params +) +{ + OpenAPI_problem_details_2_t *problem_details_2_local_var = ogs_malloc(sizeof(OpenAPI_problem_details_2_t)); + ogs_assert(problem_details_2_local_var); + + problem_details_2_local_var->type = type; + problem_details_2_local_var->title = title; + problem_details_2_local_var->is_status = is_status; + problem_details_2_local_var->status = status; + problem_details_2_local_var->detail = detail; + problem_details_2_local_var->instance = instance; + problem_details_2_local_var->cause = cause; + problem_details_2_local_var->invalid_params = invalid_params; + + return problem_details_2_local_var; +} + +void OpenAPI_problem_details_2_free(OpenAPI_problem_details_2_t *problem_details_2) +{ + if (NULL == problem_details_2) { + return; + } + OpenAPI_lnode_t *node; + if (problem_details_2->type) { + ogs_free(problem_details_2->type); + problem_details_2->type = NULL; + } + if (problem_details_2->title) { + ogs_free(problem_details_2->title); + problem_details_2->title = NULL; + } + if (problem_details_2->detail) { + ogs_free(problem_details_2->detail); + problem_details_2->detail = NULL; + } + if (problem_details_2->instance) { + ogs_free(problem_details_2->instance); + problem_details_2->instance = NULL; + } + if (problem_details_2->cause) { + ogs_free(problem_details_2->cause); + problem_details_2->cause = NULL; + } + if (problem_details_2->invalid_params) { + OpenAPI_list_for_each(problem_details_2->invalid_params, node) { + OpenAPI_invalid_param_1_free(node->data); + } + OpenAPI_list_free(problem_details_2->invalid_params); + problem_details_2->invalid_params = NULL; + } + ogs_free(problem_details_2); +} + +cJSON *OpenAPI_problem_details_2_convertToJSON(OpenAPI_problem_details_2_t *problem_details_2) +{ + cJSON *item = NULL; + + if (problem_details_2 == NULL) { + ogs_error("OpenAPI_problem_details_2_convertToJSON() failed [ProblemDetails_2]"); + return NULL; + } + + item = cJSON_CreateObject(); + if (problem_details_2->type) { + if (cJSON_AddStringToObject(item, "type", problem_details_2->type) == NULL) { + ogs_error("OpenAPI_problem_details_2_convertToJSON() failed [type]"); + goto end; + } + } + + if (problem_details_2->title) { + if (cJSON_AddStringToObject(item, "title", problem_details_2->title) == NULL) { + ogs_error("OpenAPI_problem_details_2_convertToJSON() failed [title]"); + goto end; + } + } + + if (problem_details_2->is_status) { + if (cJSON_AddNumberToObject(item, "status", problem_details_2->status) == NULL) { + ogs_error("OpenAPI_problem_details_2_convertToJSON() failed [status]"); + goto end; + } + } + + if (problem_details_2->detail) { + if (cJSON_AddStringToObject(item, "detail", problem_details_2->detail) == NULL) { + ogs_error("OpenAPI_problem_details_2_convertToJSON() failed [detail]"); + goto end; + } + } + + if (problem_details_2->instance) { + if (cJSON_AddStringToObject(item, "instance", problem_details_2->instance) == NULL) { + ogs_error("OpenAPI_problem_details_2_convertToJSON() failed [instance]"); + goto end; + } + } + + if (problem_details_2->cause) { + if (cJSON_AddStringToObject(item, "cause", problem_details_2->cause) == NULL) { + ogs_error("OpenAPI_problem_details_2_convertToJSON() failed [cause]"); + goto end; + } + } + + if (problem_details_2->invalid_params) { + cJSON *invalid_paramsList = cJSON_AddArrayToObject(item, "invalidParams"); + if (invalid_paramsList == NULL) { + ogs_error("OpenAPI_problem_details_2_convertToJSON() failed [invalid_params]"); + goto end; + } + + OpenAPI_lnode_t *invalid_params_node; + if (problem_details_2->invalid_params) { + OpenAPI_list_for_each(problem_details_2->invalid_params, invalid_params_node) { + cJSON *itemLocal = OpenAPI_invalid_param_1_convertToJSON(invalid_params_node->data); + if (itemLocal == NULL) { + ogs_error("OpenAPI_problem_details_2_convertToJSON() failed [invalid_params]"); + goto end; + } + cJSON_AddItemToArray(invalid_paramsList, itemLocal); + } + } + } + +end: + return item; +} + +OpenAPI_problem_details_2_t *OpenAPI_problem_details_2_parseFromJSON(cJSON *problem_details_2JSON) +{ + OpenAPI_problem_details_2_t *problem_details_2_local_var = NULL; + OpenAPI_lnode_t *node = NULL; + cJSON *type = NULL; + cJSON *title = NULL; + cJSON *status = NULL; + cJSON *detail = NULL; + cJSON *instance = NULL; + cJSON *cause = NULL; + cJSON *invalid_params = NULL; + OpenAPI_list_t *invalid_paramsList = NULL; + type = cJSON_GetObjectItemCaseSensitive(problem_details_2JSON, "type"); + if (type) { + if (!cJSON_IsString(type) && !cJSON_IsNull(type)) { + ogs_error("OpenAPI_problem_details_2_parseFromJSON() failed [type]"); + goto end; + } + } + + title = cJSON_GetObjectItemCaseSensitive(problem_details_2JSON, "title"); + if (title) { + if (!cJSON_IsString(title) && !cJSON_IsNull(title)) { + ogs_error("OpenAPI_problem_details_2_parseFromJSON() failed [title]"); + goto end; + } + } + + status = cJSON_GetObjectItemCaseSensitive(problem_details_2JSON, "status"); + if (status) { + if (!cJSON_IsNumber(status)) { + ogs_error("OpenAPI_problem_details_2_parseFromJSON() failed [status]"); + goto end; + } + } + + detail = cJSON_GetObjectItemCaseSensitive(problem_details_2JSON, "detail"); + if (detail) { + if (!cJSON_IsString(detail) && !cJSON_IsNull(detail)) { + ogs_error("OpenAPI_problem_details_2_parseFromJSON() failed [detail]"); + goto end; + } + } + + instance = cJSON_GetObjectItemCaseSensitive(problem_details_2JSON, "instance"); + if (instance) { + if (!cJSON_IsString(instance) && !cJSON_IsNull(instance)) { + ogs_error("OpenAPI_problem_details_2_parseFromJSON() failed [instance]"); + goto end; + } + } + + cause = cJSON_GetObjectItemCaseSensitive(problem_details_2JSON, "cause"); + if (cause) { + if (!cJSON_IsString(cause) && !cJSON_IsNull(cause)) { + ogs_error("OpenAPI_problem_details_2_parseFromJSON() failed [cause]"); + goto end; + } + } + + invalid_params = cJSON_GetObjectItemCaseSensitive(problem_details_2JSON, "invalidParams"); + if (invalid_params) { + cJSON *invalid_params_local_nonprimitive; + if (!cJSON_IsArray(invalid_params)){ + ogs_error("OpenAPI_problem_details_2_parseFromJSON() failed [invalid_params]"); + goto end; + } + + invalid_paramsList = OpenAPI_list_create(); + + cJSON_ArrayForEach(invalid_params_local_nonprimitive, invalid_params ) { + if (!cJSON_IsObject(invalid_params_local_nonprimitive)) { + ogs_error("OpenAPI_problem_details_2_parseFromJSON() failed [invalid_params]"); + goto end; + } + OpenAPI_invalid_param_1_t *invalid_paramsItem = OpenAPI_invalid_param_1_parseFromJSON(invalid_params_local_nonprimitive); + + if (!invalid_paramsItem) { + ogs_error("No invalid_paramsItem"); + OpenAPI_list_free(invalid_paramsList); + goto end; + } + + OpenAPI_list_add(invalid_paramsList, invalid_paramsItem); + } + } + + problem_details_2_local_var = OpenAPI_problem_details_2_create ( + type && !cJSON_IsNull(type) ? ogs_strdup(type->valuestring) : NULL, + title && !cJSON_IsNull(title) ? ogs_strdup(title->valuestring) : NULL, + status ? true : false, + status ? status->valuedouble : 0, + detail && !cJSON_IsNull(detail) ? ogs_strdup(detail->valuestring) : NULL, + instance && !cJSON_IsNull(instance) ? ogs_strdup(instance->valuestring) : NULL, + cause && !cJSON_IsNull(cause) ? ogs_strdup(cause->valuestring) : NULL, + invalid_params ? invalid_paramsList : NULL + ); + + return problem_details_2_local_var; +end: + if (invalid_paramsList) { + OpenAPI_list_for_each(invalid_paramsList, node) { + OpenAPI_invalid_param_1_free(node->data); + } + OpenAPI_list_free(invalid_paramsList); + invalid_paramsList = NULL; + } + return NULL; +} + +OpenAPI_problem_details_2_t *OpenAPI_problem_details_2_copy(OpenAPI_problem_details_2_t *dst, OpenAPI_problem_details_2_t *src) +{ + cJSON *item = NULL; + char *content = NULL; + + ogs_assert(src); + item = OpenAPI_problem_details_2_convertToJSON(src); + if (!item) { + ogs_error("OpenAPI_problem_details_2_convertToJSON() failed"); + return NULL; + } + + content = cJSON_Print(item); + cJSON_Delete(item); + + if (!content) { + ogs_error("cJSON_Print() failed"); + return NULL; + } + + item = cJSON_Parse(content); + ogs_free(content); + if (!item) { + ogs_error("cJSON_Parse() failed"); + return NULL; + } + + OpenAPI_problem_details_2_free(dst); + dst = OpenAPI_problem_details_2_parseFromJSON(item); + cJSON_Delete(item); + + return dst; +} + diff --git a/lib/sbi/openapi/model/problem_details_2.h b/lib/sbi/openapi/model/problem_details_2.h new file mode 100644 index 000000000..830b93d78 --- /dev/null +++ b/lib/sbi/openapi/model/problem_details_2.h @@ -0,0 +1,53 @@ +/* + * problem_details_2.h + * + * + */ + +#ifndef _OpenAPI_problem_details_2_H_ +#define _OpenAPI_problem_details_2_H_ + +#include +#include "../external/cJSON.h" +#include "../include/list.h" +#include "../include/keyValuePair.h" +#include "../include/binary.h" +#include "invalid_param_1.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct OpenAPI_problem_details_2_s OpenAPI_problem_details_2_t; +typedef struct OpenAPI_problem_details_2_s { + char *type; + char *title; + bool is_status; + int status; + char *detail; + char *instance; + char *cause; + OpenAPI_list_t *invalid_params; +} OpenAPI_problem_details_2_t; + +OpenAPI_problem_details_2_t *OpenAPI_problem_details_2_create( + char *type, + char *title, + bool is_status, + int status, + char *detail, + char *instance, + char *cause, + OpenAPI_list_t *invalid_params +); +void OpenAPI_problem_details_2_free(OpenAPI_problem_details_2_t *problem_details_2); +OpenAPI_problem_details_2_t *OpenAPI_problem_details_2_parseFromJSON(cJSON *problem_details_2JSON); +cJSON *OpenAPI_problem_details_2_convertToJSON(OpenAPI_problem_details_2_t *problem_details_2); +OpenAPI_problem_details_2_t *OpenAPI_problem_details_2_copy(OpenAPI_problem_details_2_t *dst, OpenAPI_problem_details_2_t *src); + +#ifdef __cplusplus +} +#endif + +#endif /* _OpenAPI_problem_details_2_H_ */ + diff --git a/lib/sbi/openapi/model/psa_information.c b/lib/sbi/openapi/model/psa_information.c index b0d87e38d..d36a8b7f6 100644 --- a/lib/sbi/openapi/model/psa_information.c +++ b/lib/sbi/openapi/model/psa_information.c @@ -118,7 +118,7 @@ OpenAPI_psa_information_t *OpenAPI_psa_information_parseFromJSON(cJSON *psa_info ogs_error("OpenAPI_psa_information_parseFromJSON() failed [dnai_list]"); goto end; } - OpenAPI_list_add(dnai_listList , ogs_strdup(dnai_list_local->valuestring)); + OpenAPI_list_add(dnai_listList, ogs_strdup(dnai_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/qos_flow_tunnel.c b/lib/sbi/openapi/model/qos_flow_tunnel.c index 9feafa61e..333699ebe 100644 --- a/lib/sbi/openapi/model/qos_flow_tunnel.c +++ b/lib/sbi/openapi/model/qos_flow_tunnel.c @@ -93,7 +93,7 @@ OpenAPI_qos_flow_tunnel_t *OpenAPI_qos_flow_tunnel_parseFromJSON(cJSON *qos_flow ogs_error("OpenAPI_qos_flow_tunnel_parseFromJSON() failed [qfi_list]"); goto end; } - OpenAPI_list_add(qfi_listList , &qfi_list_local->valuedouble); + OpenAPI_list_add(qfi_listList, &qfi_list_local->valuedouble); } cJSON *tunnel_info = cJSON_GetObjectItemCaseSensitive(qos_flow_tunnelJSON, "tunnelInfo"); diff --git a/lib/sbi/openapi/model/qos_monitoring_report.c b/lib/sbi/openapi/model/qos_monitoring_report.c index da9c879c2..186e4f4c3 100644 --- a/lib/sbi/openapi/model/qos_monitoring_report.c +++ b/lib/sbi/openapi/model/qos_monitoring_report.c @@ -177,7 +177,7 @@ OpenAPI_qos_monitoring_report_t *OpenAPI_qos_monitoring_report_parseFromJSON(cJS ogs_error("OpenAPI_qos_monitoring_report_parseFromJSON() failed [ul_delays]"); goto end; } - OpenAPI_list_add(ul_delaysList , &ul_delays_local->valuedouble); + OpenAPI_list_add(ul_delaysList, &ul_delays_local->valuedouble); } } @@ -197,7 +197,7 @@ OpenAPI_qos_monitoring_report_t *OpenAPI_qos_monitoring_report_parseFromJSON(cJS ogs_error("OpenAPI_qos_monitoring_report_parseFromJSON() failed [dl_delays]"); goto end; } - OpenAPI_list_add(dl_delaysList , &dl_delays_local->valuedouble); + OpenAPI_list_add(dl_delaysList, &dl_delays_local->valuedouble); } } @@ -217,7 +217,7 @@ OpenAPI_qos_monitoring_report_t *OpenAPI_qos_monitoring_report_parseFromJSON(cJS ogs_error("OpenAPI_qos_monitoring_report_parseFromJSON() failed [rt_delays]"); goto end; } - OpenAPI_list_add(rt_delaysList , &rt_delays_local->valuedouble); + OpenAPI_list_add(rt_delaysList, &rt_delays_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/requested_rule_data.c b/lib/sbi/openapi/model/requested_rule_data.c index 84fba461f..fa066746c 100644 --- a/lib/sbi/openapi/model/requested_rule_data.c +++ b/lib/sbi/openapi/model/requested_rule_data.c @@ -95,7 +95,7 @@ OpenAPI_requested_rule_data_t *OpenAPI_requested_rule_data_parseFromJSON(cJSON * ogs_error("OpenAPI_requested_rule_data_parseFromJSON() failed [ref_pcc_rule_ids]"); goto end; } - OpenAPI_list_add(ref_pcc_rule_idsList , ogs_strdup(ref_pcc_rule_ids_local->valuestring)); + OpenAPI_list_add(ref_pcc_rule_idsList, ogs_strdup(ref_pcc_rule_ids_local->valuestring)); } cJSON *req_data = cJSON_GetObjectItemCaseSensitive(requested_rule_dataJSON, "reqData"); diff --git a/lib/sbi/openapi/model/requested_usage_data.c b/lib/sbi/openapi/model/requested_usage_data.c index a3b1c4492..73e833dc7 100644 --- a/lib/sbi/openapi/model/requested_usage_data.c +++ b/lib/sbi/openapi/model/requested_usage_data.c @@ -89,7 +89,7 @@ OpenAPI_requested_usage_data_t *OpenAPI_requested_usage_data_parseFromJSON(cJSON ogs_error("OpenAPI_requested_usage_data_parseFromJSON() failed [ref_um_ids]"); goto end; } - OpenAPI_list_add(ref_um_idsList , ogs_strdup(ref_um_ids_local->valuestring)); + OpenAPI_list_add(ref_um_idsList, ogs_strdup(ref_um_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/resource_item.c b/lib/sbi/openapi/model/resource_item.c index 2be0fd42f..ebcc76e28 100644 --- a/lib/sbi/openapi/model/resource_item.c +++ b/lib/sbi/openapi/model/resource_item.c @@ -98,7 +98,7 @@ OpenAPI_resource_item_t *OpenAPI_resource_item_parseFromJSON(cJSON *resource_ite ogs_error("OpenAPI_resource_item_parseFromJSON() failed [items]"); goto end; } - OpenAPI_list_add(itemsList , ogs_strdup(items_local->valuestring)); + OpenAPI_list_add(itemsList, ogs_strdup(items_local->valuestring)); } resource_item_local_var = OpenAPI_resource_item_create ( diff --git a/lib/sbi/openapi/model/rule_report.c b/lib/sbi/openapi/model/rule_report.c index 93d85cf16..33720ed3e 100644 --- a/lib/sbi/openapi/model/rule_report.c +++ b/lib/sbi/openapi/model/rule_report.c @@ -159,7 +159,7 @@ OpenAPI_rule_report_t *OpenAPI_rule_report_parseFromJSON(cJSON *rule_reportJSON) ogs_error("OpenAPI_rule_report_parseFromJSON() failed [pcc_rule_ids]"); goto end; } - OpenAPI_list_add(pcc_rule_idsList , ogs_strdup(pcc_rule_ids_local->valuestring)); + OpenAPI_list_add(pcc_rule_idsList, ogs_strdup(pcc_rule_ids_local->valuestring)); } cJSON *rule_status = cJSON_GetObjectItemCaseSensitive(rule_reportJSON, "ruleStatus"); @@ -191,7 +191,7 @@ OpenAPI_rule_report_t *OpenAPI_rule_report_parseFromJSON(cJSON *rule_reportJSON) ogs_error("OpenAPI_rule_report_parseFromJSON() failed [cont_vers]"); goto end; } - OpenAPI_list_add(cont_versList , &cont_vers_local->valuedouble); + OpenAPI_list_add(cont_versList, &cont_vers_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/scheduled_communication_time.c b/lib/sbi/openapi/model/scheduled_communication_time.c index 5c2b3e306..df4f1d070 100644 --- a/lib/sbi/openapi/model/scheduled_communication_time.c +++ b/lib/sbi/openapi/model/scheduled_communication_time.c @@ -98,7 +98,7 @@ OpenAPI_scheduled_communication_time_t *OpenAPI_scheduled_communication_time_par ogs_error("OpenAPI_scheduled_communication_time_parseFromJSON() failed [days_of_week]"); goto end; } - OpenAPI_list_add(days_of_weekList , &days_of_week_local->valuedouble); + OpenAPI_list_add(days_of_weekList, &days_of_week_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/scheduled_communication_time_1.c b/lib/sbi/openapi/model/scheduled_communication_time_1.c index 7a48bd298..0acea4078 100644 --- a/lib/sbi/openapi/model/scheduled_communication_time_1.c +++ b/lib/sbi/openapi/model/scheduled_communication_time_1.c @@ -98,7 +98,7 @@ OpenAPI_scheduled_communication_time_1_t *OpenAPI_scheduled_communication_time_1 ogs_error("OpenAPI_scheduled_communication_time_1_parseFromJSON() failed [days_of_week]"); goto end; } - OpenAPI_list_add(days_of_weekList , &days_of_week_local->valuedouble); + OpenAPI_list_add(days_of_weekList, &days_of_week_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/scheduled_communication_time_rm.c b/lib/sbi/openapi/model/scheduled_communication_time_rm.c index 7c9338235..6060ab3be 100644 --- a/lib/sbi/openapi/model/scheduled_communication_time_rm.c +++ b/lib/sbi/openapi/model/scheduled_communication_time_rm.c @@ -98,7 +98,7 @@ OpenAPI_scheduled_communication_time_rm_t *OpenAPI_scheduled_communication_time_ ogs_error("OpenAPI_scheduled_communication_time_rm_parseFromJSON() failed [days_of_week]"); goto end; } - OpenAPI_list_add(days_of_weekList , &days_of_week_local->valuedouble); + OpenAPI_list_add(days_of_weekList, &days_of_week_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/scp_domain_cond.c b/lib/sbi/openapi/model/scp_domain_cond.c index 5ceee5e24..78e0ba11e 100644 --- a/lib/sbi/openapi/model/scp_domain_cond.c +++ b/lib/sbi/openapi/model/scp_domain_cond.c @@ -78,7 +78,7 @@ OpenAPI_scp_domain_cond_t *OpenAPI_scp_domain_cond_parseFromJSON(cJSON *scp_doma ogs_error("OpenAPI_scp_domain_cond_parseFromJSON() failed [scp_domains]"); goto end; } - OpenAPI_list_add(scp_domainsList , ogs_strdup(scp_domains_local->valuestring)); + OpenAPI_list_add(scp_domainsList, ogs_strdup(scp_domains_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/scp_domain_info.c b/lib/sbi/openapi/model/scp_domain_info.c index 506584c8d..a90adbd63 100644 --- a/lib/sbi/openapi/model/scp_domain_info.c +++ b/lib/sbi/openapi/model/scp_domain_info.c @@ -99,6 +99,10 @@ cJSON *OpenAPI_scp_domain_info_convertToJSON(OpenAPI_scp_domain_info_t *scp_doma if (scp_domain_info->scp_ports) { OpenAPI_list_for_each(scp_domain_info->scp_ports, scp_ports_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)scp_ports_node->data; + if (cJSON_AddNumberToObject(localMapObject, localKeyValue->key, *(double *)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_scp_domain_info_convertToJSON() failed [inner]"); + goto end; + } } } } @@ -170,7 +174,12 @@ OpenAPI_scp_domain_info_t *OpenAPI_scp_domain_info_parseFromJSON(cJSON *scp_doma OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(scp_ports_local_map, scp_ports) { cJSON *localMapObject = scp_ports_local_map; - OpenAPI_list_add(scp_portsList , localMapKeyPair); + if (!cJSON_IsNumber(localMapObject)) { + ogs_error("OpenAPI_scp_domain_info_parseFromJSON() failed [inner]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),&localMapObject->valuedouble ); + OpenAPI_list_add(scp_portsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/scp_info.c b/lib/sbi/openapi/model/scp_info.c index 46b2af9f9..4787c5d7f 100644 --- a/lib/sbi/openapi/model/scp_info.c +++ b/lib/sbi/openapi/model/scp_info.c @@ -109,6 +109,14 @@ cJSON *OpenAPI_scp_info_convertToJSON(OpenAPI_scp_info_t *scp_info) if (scp_info->scp_domain_info_list) { OpenAPI_list_for_each(scp_info->scp_domain_info_list, scp_domain_info_list_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)scp_domain_info_list_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_scp_domain_info_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_scp_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -131,6 +139,10 @@ cJSON *OpenAPI_scp_info_convertToJSON(OpenAPI_scp_info_t *scp_info) if (scp_info->scp_ports) { OpenAPI_list_for_each(scp_info->scp_ports, scp_ports_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)scp_ports_node->data; + if (cJSON_AddNumberToObject(localMapObject, localKeyValue->key, *(double *)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_scp_info_convertToJSON() failed [inner]"); + goto end; + } } } } @@ -286,7 +298,16 @@ OpenAPI_scp_info_t *OpenAPI_scp_info_parseFromJSON(cJSON *scp_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(scp_domain_info_list_local_map, scp_domain_info_list) { cJSON *localMapObject = scp_domain_info_list_local_map; - OpenAPI_list_add(scp_domain_info_listList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_scp_domain_info_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_scp_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(scp_domain_info_listList, localMapKeyPair); } } @@ -312,7 +333,12 @@ OpenAPI_scp_info_t *OpenAPI_scp_info_parseFromJSON(cJSON *scp_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(scp_ports_local_map, scp_ports) { cJSON *localMapObject = scp_ports_local_map; - OpenAPI_list_add(scp_portsList , localMapKeyPair); + if (!cJSON_IsNumber(localMapObject)) { + ogs_error("OpenAPI_scp_info_parseFromJSON() failed [inner]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),&localMapObject->valuedouble ); + OpenAPI_list_add(scp_portsList, localMapKeyPair); } } @@ -332,7 +358,7 @@ OpenAPI_scp_info_t *OpenAPI_scp_info_parseFromJSON(cJSON *scp_infoJSON) ogs_error("OpenAPI_scp_info_parseFromJSON() failed [address_domains]"); goto end; } - OpenAPI_list_add(address_domainsList , ogs_strdup(address_domains_local->valuestring)); + OpenAPI_list_add(address_domainsList, ogs_strdup(address_domains_local->valuestring)); } } @@ -352,7 +378,7 @@ OpenAPI_scp_info_t *OpenAPI_scp_info_parseFromJSON(cJSON *scp_infoJSON) ogs_error("OpenAPI_scp_info_parseFromJSON() failed [ipv4_addresses]"); goto end; } - OpenAPI_list_add(ipv4_addressesList , ogs_strdup(ipv4_addresses_local->valuestring)); + OpenAPI_list_add(ipv4_addressesList, ogs_strdup(ipv4_addresses_local->valuestring)); } } @@ -372,7 +398,7 @@ OpenAPI_scp_info_t *OpenAPI_scp_info_parseFromJSON(cJSON *scp_infoJSON) ogs_error("OpenAPI_scp_info_parseFromJSON() failed [ipv6_prefixes]"); goto end; } - OpenAPI_list_add(ipv6_prefixesList , ogs_strdup(ipv6_prefixes_local->valuestring)); + OpenAPI_list_add(ipv6_prefixesList, ogs_strdup(ipv6_prefixes_local->valuestring)); } } @@ -450,7 +476,7 @@ OpenAPI_scp_info_t *OpenAPI_scp_info_parseFromJSON(cJSON *scp_infoJSON) ogs_error("OpenAPI_scp_info_parseFromJSON() failed [served_nf_set_id_list]"); goto end; } - OpenAPI_list_add(served_nf_set_id_listList , ogs_strdup(served_nf_set_id_list_local->valuestring)); + OpenAPI_list_add(served_nf_set_id_listList, ogs_strdup(served_nf_set_id_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/sdm_subs_modification.c b/lib/sbi/openapi/model/sdm_subs_modification.c index 65f11953e..4b259500d 100644 --- a/lib/sbi/openapi/model/sdm_subs_modification.c +++ b/lib/sbi/openapi/model/sdm_subs_modification.c @@ -97,7 +97,7 @@ OpenAPI_sdm_subs_modification_t *OpenAPI_sdm_subs_modification_parseFromJSON(cJS ogs_error("OpenAPI_sdm_subs_modification_parseFromJSON() failed [monitored_resource_uris]"); goto end; } - OpenAPI_list_add(monitored_resource_urisList , ogs_strdup(monitored_resource_uris_local->valuestring)); + OpenAPI_list_add(monitored_resource_urisList, ogs_strdup(monitored_resource_uris_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/sdm_subscription.c b/lib/sbi/openapi/model/sdm_subscription.c index 2e3f11f63..bc795f9b6 100644 --- a/lib/sbi/openapi/model/sdm_subscription.c +++ b/lib/sbi/openapi/model/sdm_subscription.c @@ -280,7 +280,7 @@ OpenAPI_sdm_subscription_t *OpenAPI_sdm_subscription_parseFromJSON(cJSON *sdm_su ogs_error("OpenAPI_sdm_subscription_parseFromJSON() failed [monitored_resource_uris]"); goto end; } - OpenAPI_list_add(monitored_resource_urisList , ogs_strdup(monitored_resource_uris_local->valuestring)); + OpenAPI_list_add(monitored_resource_urisList, ogs_strdup(monitored_resource_uris_local->valuestring)); } cJSON *single_nssai = cJSON_GetObjectItemCaseSensitive(sdm_subscriptionJSON, "singleNssai"); diff --git a/lib/sbi/openapi/model/sdm_subscription_1.c b/lib/sbi/openapi/model/sdm_subscription_1.c index ae8b01f3d..65248568b 100644 --- a/lib/sbi/openapi/model/sdm_subscription_1.c +++ b/lib/sbi/openapi/model/sdm_subscription_1.c @@ -280,7 +280,7 @@ OpenAPI_sdm_subscription_1_t *OpenAPI_sdm_subscription_1_parseFromJSON(cJSON *sd ogs_error("OpenAPI_sdm_subscription_1_parseFromJSON() failed [monitored_resource_uris]"); goto end; } - OpenAPI_list_add(monitored_resource_urisList , ogs_strdup(monitored_resource_uris_local->valuestring)); + OpenAPI_list_add(monitored_resource_urisList, ogs_strdup(monitored_resource_uris_local->valuestring)); } cJSON *single_nssai = cJSON_GetObjectItemCaseSensitive(sdm_subscription_1JSON, "singleNssai"); diff --git a/lib/sbi/openapi/model/sequence_number.c b/lib/sbi/openapi/model/sequence_number.c index 57caa253d..1c3c98451 100644 --- a/lib/sbi/openapi/model/sequence_number.c +++ b/lib/sbi/openapi/model/sequence_number.c @@ -78,6 +78,10 @@ cJSON *OpenAPI_sequence_number_convertToJSON(OpenAPI_sequence_number_t *sequence if (sequence_number->last_indexes) { OpenAPI_list_for_each(sequence_number->last_indexes, last_indexes_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)last_indexes_node->data; + if (cJSON_AddNumberToObject(localMapObject, localKeyValue->key, *(double *)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_sequence_number_convertToJSON() failed [inner]"); + goto end; + } } } } @@ -136,7 +140,12 @@ OpenAPI_sequence_number_t *OpenAPI_sequence_number_parseFromJSON(cJSON *sequence OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(last_indexes_local_map, last_indexes) { cJSON *localMapObject = last_indexes_local_map; - OpenAPI_list_add(last_indexesList , localMapKeyPair); + if (!cJSON_IsNumber(localMapObject)) { + ogs_error("OpenAPI_sequence_number_parseFromJSON() failed [inner]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),&localMapObject->valuedouble ); + OpenAPI_list_add(last_indexesList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/service_type_unrelated_class.c b/lib/sbi/openapi/model/service_type_unrelated_class.c index 192476e26..59fd4c909 100644 --- a/lib/sbi/openapi/model/service_type_unrelated_class.c +++ b/lib/sbi/openapi/model/service_type_unrelated_class.c @@ -214,7 +214,7 @@ OpenAPI_service_type_unrelated_class_t *OpenAPI_service_type_unrelated_class_par ogs_error("OpenAPI_service_type_unrelated_class_parseFromJSON() failed [code_word_list]"); goto end; } - OpenAPI_list_add(code_word_listList , ogs_strdup(code_word_list_local->valuestring)); + OpenAPI_list_add(code_word_listList, ogs_strdup(code_word_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/service_type_unrelated_class_1.c b/lib/sbi/openapi/model/service_type_unrelated_class_1.c index 451c2fb87..a08c2b344 100644 --- a/lib/sbi/openapi/model/service_type_unrelated_class_1.c +++ b/lib/sbi/openapi/model/service_type_unrelated_class_1.c @@ -214,7 +214,7 @@ OpenAPI_service_type_unrelated_class_1_t *OpenAPI_service_type_unrelated_class_1 ogs_error("OpenAPI_service_type_unrelated_class_1_parseFromJSON() failed [code_word_list]"); goto end; } - OpenAPI_list_add(code_word_listList , ogs_strdup(code_word_list_local->valuestring)); + OpenAPI_list_add(code_word_listList, ogs_strdup(code_word_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/session_management_subscription_data.c b/lib/sbi/openapi/model/session_management_subscription_data.c index c706a0b40..d76aca2a8 100644 --- a/lib/sbi/openapi/model/session_management_subscription_data.c +++ b/lib/sbi/openapi/model/session_management_subscription_data.c @@ -118,10 +118,10 @@ cJSON *OpenAPI_session_management_subscription_data_convertToJSON(OpenAPI_sessio OpenAPI_dnn_configuration_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_session_management_subscription_data_convertToJSON() failed [dnn_configurations]"); + ogs_error("OpenAPI_session_management_subscription_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(dnn_configurations, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -153,6 +153,10 @@ cJSON *OpenAPI_session_management_subscription_data_convertToJSON(OpenAPI_sessio if (session_management_subscription_data->shared_vn_group_data_ids) { OpenAPI_list_for_each(session_management_subscription_data->shared_vn_group_data_ids, shared_vn_group_data_ids_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)shared_vn_group_data_ids_node->data; + if (cJSON_AddStringToObject(localMapObject, localKeyValue->key, (char*)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_session_management_subscription_data_convertToJSON() failed [inner]"); + goto end; + } } } } @@ -206,10 +210,10 @@ cJSON *OpenAPI_session_management_subscription_data_convertToJSON(OpenAPI_sessio OpenAPI_expected_ue_behaviour_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_session_management_subscription_data_convertToJSON() failed [expected_ue_behaviours_list]"); + ogs_error("OpenAPI_session_management_subscription_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(expected_ue_behaviours_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -229,10 +233,10 @@ cJSON *OpenAPI_session_management_subscription_data_convertToJSON(OpenAPI_sessio OpenAPI_suggested_packet_num_dl_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_session_management_subscription_data_convertToJSON() failed [suggested_packet_num_dl_list]"); + ogs_error("OpenAPI_session_management_subscription_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(suggested_packet_num_dl_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -273,16 +277,16 @@ OpenAPI_session_management_subscription_data_t *OpenAPI_session_management_subsc OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(dnn_configurations_local_map, dnn_configurations) { cJSON *localMapObject = dnn_configurations_local_map; - if (cJSON_IsObject(dnn_configurations_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_dnn_configuration_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(dnn_configurations_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_session_management_subscription_data_parseFromJSON() failed [dnn_configurations]"); + ogs_error("OpenAPI_session_management_subscription_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(dnn_configurationsList , localMapKeyPair); + OpenAPI_list_add(dnn_configurationsList, localMapKeyPair); } } @@ -302,7 +306,7 @@ OpenAPI_session_management_subscription_data_t *OpenAPI_session_management_subsc ogs_error("OpenAPI_session_management_subscription_data_parseFromJSON() failed [internal_group_ids]"); goto end; } - OpenAPI_list_add(internal_group_idsList , ogs_strdup(internal_group_ids_local->valuestring)); + OpenAPI_list_add(internal_group_idsList, ogs_strdup(internal_group_ids_local->valuestring)); } } @@ -319,7 +323,12 @@ OpenAPI_session_management_subscription_data_t *OpenAPI_session_management_subsc OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(shared_vn_group_data_ids_local_map, shared_vn_group_data_ids) { cJSON *localMapObject = shared_vn_group_data_ids_local_map; - OpenAPI_list_add(shared_vn_group_data_idsList , localMapKeyPair); + if (!cJSON_IsString(localMapObject)) { + ogs_error("OpenAPI_session_management_subscription_data_parseFromJSON() failed [inner]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),ogs_strdup(localMapObject->valuestring)); + OpenAPI_list_add(shared_vn_group_data_idsList, localMapKeyPair); } } @@ -372,16 +381,16 @@ OpenAPI_session_management_subscription_data_t *OpenAPI_session_management_subsc OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(expected_ue_behaviours_list_local_map, expected_ue_behaviours_list) { cJSON *localMapObject = expected_ue_behaviours_list_local_map; - if (cJSON_IsObject(expected_ue_behaviours_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_expected_ue_behaviour_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(expected_ue_behaviours_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_session_management_subscription_data_parseFromJSON() failed [expected_ue_behaviours_list]"); + ogs_error("OpenAPI_session_management_subscription_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(expected_ue_behaviours_listList , localMapKeyPair); + OpenAPI_list_add(expected_ue_behaviours_listList, localMapKeyPair); } } @@ -398,16 +407,16 @@ OpenAPI_session_management_subscription_data_t *OpenAPI_session_management_subsc OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(suggested_packet_num_dl_list_local_map, suggested_packet_num_dl_list) { cJSON *localMapObject = suggested_packet_num_dl_list_local_map; - if (cJSON_IsObject(suggested_packet_num_dl_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_suggested_packet_num_dl_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(suggested_packet_num_dl_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_session_management_subscription_data_parseFromJSON() failed [suggested_packet_num_dl_list]"); + ogs_error("OpenAPI_session_management_subscription_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(suggested_packet_num_dl_listList , localMapKeyPair); + OpenAPI_list_add(suggested_packet_num_dl_listList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/session_management_subscription_data_1.c b/lib/sbi/openapi/model/session_management_subscription_data_1.c index da9707062..55af579e5 100644 --- a/lib/sbi/openapi/model/session_management_subscription_data_1.c +++ b/lib/sbi/openapi/model/session_management_subscription_data_1.c @@ -118,10 +118,10 @@ cJSON *OpenAPI_session_management_subscription_data_1_convertToJSON(OpenAPI_sess OpenAPI_dnn_configuration_1_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_session_management_subscription_data_1_convertToJSON() failed [dnn_configurations]"); + ogs_error("OpenAPI_session_management_subscription_data_1_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(dnn_configurations, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -153,6 +153,10 @@ cJSON *OpenAPI_session_management_subscription_data_1_convertToJSON(OpenAPI_sess if (session_management_subscription_data_1->shared_vn_group_data_ids) { OpenAPI_list_for_each(session_management_subscription_data_1->shared_vn_group_data_ids, shared_vn_group_data_ids_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)shared_vn_group_data_ids_node->data; + if (cJSON_AddStringToObject(localMapObject, localKeyValue->key, (char*)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_session_management_subscription_data_1_convertToJSON() failed [inner]"); + goto end; + } } } } @@ -206,10 +210,10 @@ cJSON *OpenAPI_session_management_subscription_data_1_convertToJSON(OpenAPI_sess OpenAPI_expected_ue_behaviour_data_1_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_session_management_subscription_data_1_convertToJSON() failed [expected_ue_behaviours_list]"); + ogs_error("OpenAPI_session_management_subscription_data_1_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(expected_ue_behaviours_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -229,10 +233,10 @@ cJSON *OpenAPI_session_management_subscription_data_1_convertToJSON(OpenAPI_sess OpenAPI_suggested_packet_num_dl_1_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_session_management_subscription_data_1_convertToJSON() failed [suggested_packet_num_dl_list]"); + ogs_error("OpenAPI_session_management_subscription_data_1_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(suggested_packet_num_dl_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -273,16 +277,16 @@ OpenAPI_session_management_subscription_data_1_t *OpenAPI_session_management_sub OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(dnn_configurations_local_map, dnn_configurations) { cJSON *localMapObject = dnn_configurations_local_map; - if (cJSON_IsObject(dnn_configurations_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_dnn_configuration_1_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(dnn_configurations_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_session_management_subscription_data_1_parseFromJSON() failed [dnn_configurations]"); + ogs_error("OpenAPI_session_management_subscription_data_1_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(dnn_configurationsList , localMapKeyPair); + OpenAPI_list_add(dnn_configurationsList, localMapKeyPair); } } @@ -302,7 +306,7 @@ OpenAPI_session_management_subscription_data_1_t *OpenAPI_session_management_sub ogs_error("OpenAPI_session_management_subscription_data_1_parseFromJSON() failed [internal_group_ids]"); goto end; } - OpenAPI_list_add(internal_group_idsList , ogs_strdup(internal_group_ids_local->valuestring)); + OpenAPI_list_add(internal_group_idsList, ogs_strdup(internal_group_ids_local->valuestring)); } } @@ -319,7 +323,12 @@ OpenAPI_session_management_subscription_data_1_t *OpenAPI_session_management_sub OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(shared_vn_group_data_ids_local_map, shared_vn_group_data_ids) { cJSON *localMapObject = shared_vn_group_data_ids_local_map; - OpenAPI_list_add(shared_vn_group_data_idsList , localMapKeyPair); + if (!cJSON_IsString(localMapObject)) { + ogs_error("OpenAPI_session_management_subscription_data_1_parseFromJSON() failed [inner]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),ogs_strdup(localMapObject->valuestring)); + OpenAPI_list_add(shared_vn_group_data_idsList, localMapKeyPair); } } @@ -372,16 +381,16 @@ OpenAPI_session_management_subscription_data_1_t *OpenAPI_session_management_sub OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(expected_ue_behaviours_list_local_map, expected_ue_behaviours_list) { cJSON *localMapObject = expected_ue_behaviours_list_local_map; - if (cJSON_IsObject(expected_ue_behaviours_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_expected_ue_behaviour_data_1_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(expected_ue_behaviours_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_session_management_subscription_data_1_parseFromJSON() failed [expected_ue_behaviours_list]"); + ogs_error("OpenAPI_session_management_subscription_data_1_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(expected_ue_behaviours_listList , localMapKeyPair); + OpenAPI_list_add(expected_ue_behaviours_listList, localMapKeyPair); } } @@ -398,16 +407,16 @@ OpenAPI_session_management_subscription_data_1_t *OpenAPI_session_management_sub OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(suggested_packet_num_dl_list_local_map, suggested_packet_num_dl_list) { cJSON *localMapObject = suggested_packet_num_dl_list_local_map; - if (cJSON_IsObject(suggested_packet_num_dl_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_suggested_packet_num_dl_1_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(suggested_packet_num_dl_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_session_management_subscription_data_1_parseFromJSON() failed [suggested_packet_num_dl_list]"); + ogs_error("OpenAPI_session_management_subscription_data_1_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(suggested_packet_num_dl_listList , localMapKeyPair); + OpenAPI_list_add(suggested_packet_num_dl_listList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/session_rule_report.c b/lib/sbi/openapi/model/session_rule_report.c index a8d7f6d8d..4ca95ea10 100644 --- a/lib/sbi/openapi/model/session_rule_report.c +++ b/lib/sbi/openapi/model/session_rule_report.c @@ -113,7 +113,7 @@ OpenAPI_session_rule_report_t *OpenAPI_session_rule_report_parseFromJSON(cJSON * ogs_error("OpenAPI_session_rule_report_parseFromJSON() failed [rule_ids]"); goto end; } - OpenAPI_list_add(rule_idsList , ogs_strdup(rule_ids_local->valuestring)); + OpenAPI_list_add(rule_idsList, ogs_strdup(rule_ids_local->valuestring)); } cJSON *rule_status = cJSON_GetObjectItemCaseSensitive(session_rule_reportJSON, "ruleStatus"); diff --git a/lib/sbi/openapi/model/shared_data.c b/lib/sbi/openapi/model/shared_data.c index 93d1d717b..6c2151674 100644 --- a/lib/sbi/openapi/model/shared_data.c +++ b/lib/sbi/openapi/model/shared_data.c @@ -134,10 +134,10 @@ cJSON *OpenAPI_shared_data_convertToJSON(OpenAPI_shared_data_t *shared_data) OpenAPI_dnn_configuration_1_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_shared_data_convertToJSON() failed [shared_dnn_configurations]"); + ogs_error("OpenAPI_shared_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(shared_dnn_configurations, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -170,10 +170,10 @@ cJSON *OpenAPI_shared_data_convertToJSON(OpenAPI_shared_data_t *shared_data) OpenAPI_snssai_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_shared_data_convertToJSON() failed [shared_snssai_infos]"); + ogs_error("OpenAPI_shared_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(shared_snssai_infos, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -193,10 +193,10 @@ cJSON *OpenAPI_shared_data_convertToJSON(OpenAPI_shared_data_t *shared_data) OpenAPI_vn_group_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_shared_data_convertToJSON() failed [shared_vn_group_datas]"); + ogs_error("OpenAPI_shared_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(shared_vn_group_datas, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -253,16 +253,16 @@ OpenAPI_shared_data_t *OpenAPI_shared_data_parseFromJSON(cJSON *shared_dataJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(shared_dnn_configurations_local_map, shared_dnn_configurations) { cJSON *localMapObject = shared_dnn_configurations_local_map; - if (cJSON_IsObject(shared_dnn_configurations_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_dnn_configuration_1_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(shared_dnn_configurations_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_shared_data_parseFromJSON() failed [shared_dnn_configurations]"); + ogs_error("OpenAPI_shared_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(shared_dnn_configurationsList , localMapKeyPair); + OpenAPI_list_add(shared_dnn_configurationsList, localMapKeyPair); } } @@ -286,16 +286,16 @@ OpenAPI_shared_data_t *OpenAPI_shared_data_parseFromJSON(cJSON *shared_dataJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(shared_snssai_infos_local_map, shared_snssai_infos) { cJSON *localMapObject = shared_snssai_infos_local_map; - if (cJSON_IsObject(shared_snssai_infos_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_snssai_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(shared_snssai_infos_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_shared_data_parseFromJSON() failed [shared_snssai_infos]"); + ogs_error("OpenAPI_shared_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(shared_snssai_infosList , localMapKeyPair); + OpenAPI_list_add(shared_snssai_infosList, localMapKeyPair); } } @@ -312,16 +312,16 @@ OpenAPI_shared_data_t *OpenAPI_shared_data_parseFromJSON(cJSON *shared_dataJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(shared_vn_group_datas_local_map, shared_vn_group_datas) { cJSON *localMapObject = shared_vn_group_datas_local_map; - if (cJSON_IsObject(shared_vn_group_datas_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_vn_group_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(shared_vn_group_datas_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_shared_data_parseFromJSON() failed [shared_vn_group_datas]"); + ogs_error("OpenAPI_shared_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(shared_vn_group_datasList , localMapKeyPair); + OpenAPI_list_add(shared_vn_group_datasList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/sm_context_create_data.c b/lib/sbi/openapi/model/sm_context_create_data.c index f3994f1f8..f8fcd8a8f 100644 --- a/lib/sbi/openapi/model/sm_context_create_data.c +++ b/lib/sbi/openapi/model/sm_context_create_data.c @@ -1245,7 +1245,7 @@ OpenAPI_sm_context_create_data_t *OpenAPI_sm_context_create_data_parseFromJSON(c ogs_error("OpenAPI_sm_context_create_data_parseFromJSON() failed [additional_hsmf_uri]"); goto end; } - OpenAPI_list_add(additional_hsmf_uriList , ogs_strdup(additional_hsmf_uri_local->valuestring)); + OpenAPI_list_add(additional_hsmf_uriList, ogs_strdup(additional_hsmf_uri_local->valuestring)); } } @@ -1265,7 +1265,7 @@ OpenAPI_sm_context_create_data_t *OpenAPI_sm_context_create_data_parseFromJSON(c ogs_error("OpenAPI_sm_context_create_data_parseFromJSON() failed [additional_hsmf_id]"); goto end; } - OpenAPI_list_add(additional_hsmf_idList , ogs_strdup(additional_hsmf_id_local->valuestring)); + OpenAPI_list_add(additional_hsmf_idList, ogs_strdup(additional_hsmf_id_local->valuestring)); } } @@ -1285,7 +1285,7 @@ OpenAPI_sm_context_create_data_t *OpenAPI_sm_context_create_data_parseFromJSON(c ogs_error("OpenAPI_sm_context_create_data_parseFromJSON() failed [additional_smf_uri]"); goto end; } - OpenAPI_list_add(additional_smf_uriList , ogs_strdup(additional_smf_uri_local->valuestring)); + OpenAPI_list_add(additional_smf_uriList, ogs_strdup(additional_smf_uri_local->valuestring)); } } @@ -1305,7 +1305,7 @@ OpenAPI_sm_context_create_data_t *OpenAPI_sm_context_create_data_parseFromJSON(c ogs_error("OpenAPI_sm_context_create_data_parseFromJSON() failed [additional_smf_id]"); goto end; } - OpenAPI_list_add(additional_smf_idList , ogs_strdup(additional_smf_id_local->valuestring)); + OpenAPI_list_add(additional_smf_idList, ogs_strdup(additional_smf_id_local->valuestring)); } } @@ -1334,7 +1334,7 @@ OpenAPI_sm_context_create_data_t *OpenAPI_sm_context_create_data_parseFromJSON(c ogs_error("OpenAPI_sm_context_create_data_parseFromJSON() failed [pdu_sessions_activate_list]"); goto end; } - OpenAPI_list_add(pdu_sessions_activate_listList , &pdu_sessions_activate_list_local->valuedouble); + OpenAPI_list_add(pdu_sessions_activate_listList, &pdu_sessions_activate_list_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/sm_context_retrieve_data.c b/lib/sbi/openapi/model/sm_context_retrieve_data.c index 2455d9869..a19852212 100644 --- a/lib/sbi/openapi/model/sm_context_retrieve_data.c +++ b/lib/sbi/openapi/model/sm_context_retrieve_data.c @@ -155,7 +155,7 @@ OpenAPI_sm_context_retrieve_data_t *OpenAPI_sm_context_retrieve_data_parseFromJS ogs_error("OpenAPI_sm_context_retrieve_data_parseFromJSON() failed [not_to_transfer_ebi_list]"); goto end; } - OpenAPI_list_add(not_to_transfer_ebi_listList , ¬_to_transfer_ebi_list_local->valuedouble); + OpenAPI_list_add(not_to_transfer_ebi_listList, ¬_to_transfer_ebi_list_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/sm_context_status_notification.c b/lib/sbi/openapi/model/sm_context_status_notification.c index e396689d8..d0a15c26b 100644 --- a/lib/sbi/openapi/model/sm_context_status_notification.c +++ b/lib/sbi/openapi/model/sm_context_status_notification.c @@ -227,7 +227,7 @@ OpenAPI_sm_context_status_notification_t *OpenAPI_sm_context_status_notification ogs_error("OpenAPI_sm_context_status_notification_parseFromJSON() failed [notify_correlation_ids_forddn_failure]"); goto end; } - OpenAPI_list_add(notify_correlation_ids_forddn_failureList , ogs_strdup(notify_correlation_ids_forddn_failure_local->valuestring)); + OpenAPI_list_add(notify_correlation_ids_forddn_failureList, ogs_strdup(notify_correlation_ids_forddn_failure_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/sm_context_update_data.c b/lib/sbi/openapi/model/sm_context_update_data.c index 19ef376c6..dd71c06b4 100644 --- a/lib/sbi/openapi/model/sm_context_update_data.c +++ b/lib/sbi/openapi/model/sm_context_update_data.c @@ -1019,7 +1019,7 @@ OpenAPI_sm_context_update_data_t *OpenAPI_sm_context_update_data_parseFromJSON(c ogs_error("OpenAPI_sm_context_update_data_parseFromJSON() failed [eps_bearer_setup]"); goto end; } - OpenAPI_list_add(eps_bearer_setupList , ogs_strdup(eps_bearer_setup_local->valuestring)); + OpenAPI_list_add(eps_bearer_setupList, ogs_strdup(eps_bearer_setup_local->valuestring)); } } @@ -1039,7 +1039,7 @@ OpenAPI_sm_context_update_data_t *OpenAPI_sm_context_update_data_parseFromJSON(c ogs_error("OpenAPI_sm_context_update_data_parseFromJSON() failed [revoke_ebi_list]"); goto end; } - OpenAPI_list_add(revoke_ebi_listList , &revoke_ebi_list_local->valuedouble); + OpenAPI_list_add(revoke_ebi_listList, &revoke_ebi_list_local->valuedouble); } } @@ -1217,7 +1217,7 @@ OpenAPI_sm_context_update_data_t *OpenAPI_sm_context_update_data_parseFromJSON(c ogs_error("OpenAPI_sm_context_update_data_parseFromJSON() failed [forwarding_bearer_contexts]"); goto end; } - OpenAPI_list_add(forwarding_bearer_contextsList , ogs_strdup(forwarding_bearer_contexts_local->valuestring)); + OpenAPI_list_add(forwarding_bearer_contextsList, ogs_strdup(forwarding_bearer_contexts_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/sm_context_updated_data.c b/lib/sbi/openapi/model/sm_context_updated_data.c index 6ccc7462e..822476b10 100644 --- a/lib/sbi/openapi/model/sm_context_updated_data.c +++ b/lib/sbi/openapi/model/sm_context_updated_data.c @@ -377,7 +377,7 @@ OpenAPI_sm_context_updated_data_t *OpenAPI_sm_context_updated_data_parseFromJSON ogs_error("OpenAPI_sm_context_updated_data_parseFromJSON() failed [release_ebi_list]"); goto end; } - OpenAPI_list_add(release_ebi_listList , &release_ebi_list_local->valuedouble); + OpenAPI_list_add(release_ebi_listList, &release_ebi_list_local->valuedouble); } } @@ -480,7 +480,7 @@ OpenAPI_sm_context_updated_data_t *OpenAPI_sm_context_updated_data_parseFromJSON ogs_error("OpenAPI_sm_context_updated_data_parseFromJSON() failed [eps_bearer_setup]"); goto end; } - OpenAPI_list_add(eps_bearer_setupList , ogs_strdup(eps_bearer_setup_local->valuestring)); + OpenAPI_list_add(eps_bearer_setupList, ogs_strdup(eps_bearer_setup_local->valuestring)); } } @@ -605,7 +605,7 @@ OpenAPI_sm_context_updated_data_t *OpenAPI_sm_context_updated_data_parseFromJSON ogs_error("OpenAPI_sm_context_updated_data_parseFromJSON() failed [forwarding_bearer_contexts]"); goto end; } - OpenAPI_list_add(forwarding_bearer_contextsList , ogs_strdup(forwarding_bearer_contexts_local->valuestring)); + OpenAPI_list_add(forwarding_bearer_contextsList, ogs_strdup(forwarding_bearer_contexts_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/sm_policy_context_data.c b/lib/sbi/openapi/model/sm_policy_context_data.c index f293f45c4..48cacf598 100644 --- a/lib/sbi/openapi/model/sm_policy_context_data.c +++ b/lib/sbi/openapi/model/sm_policy_context_data.c @@ -614,7 +614,7 @@ OpenAPI_sm_policy_context_data_t *OpenAPI_sm_policy_context_data_parseFromJSON(c ogs_error("OpenAPI_sm_policy_context_data_parseFromJSON() failed [inter_grp_ids]"); goto end; } - OpenAPI_list_add(inter_grp_idsList , ogs_strdup(inter_grp_ids_local->valuestring)); + OpenAPI_list_add(inter_grp_idsList, ogs_strdup(inter_grp_ids_local->valuestring)); } } @@ -942,7 +942,7 @@ OpenAPI_sm_policy_context_data_t *OpenAPI_sm_policy_context_data_parseFromJSON(c ogs_error("OpenAPI_sm_policy_context_data_parseFromJSON() failed [ipv4_frame_route_list]"); goto end; } - OpenAPI_list_add(ipv4_frame_route_listList , ogs_strdup(ipv4_frame_route_list_local->valuestring)); + OpenAPI_list_add(ipv4_frame_route_listList, ogs_strdup(ipv4_frame_route_list_local->valuestring)); } } @@ -962,7 +962,7 @@ OpenAPI_sm_policy_context_data_t *OpenAPI_sm_policy_context_data_parseFromJSON(c ogs_error("OpenAPI_sm_policy_context_data_parseFromJSON() failed [ipv6_frame_route_list]"); goto end; } - OpenAPI_list_add(ipv6_frame_route_listList , ogs_strdup(ipv6_frame_route_list_local->valuestring)); + OpenAPI_list_add(ipv6_frame_route_listList, ogs_strdup(ipv6_frame_route_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/sm_policy_data.c b/lib/sbi/openapi/model/sm_policy_data.c index c2d15d829..d14dfc25d 100644 --- a/lib/sbi/openapi/model/sm_policy_data.c +++ b/lib/sbi/openapi/model/sm_policy_data.c @@ -77,10 +77,10 @@ cJSON *OpenAPI_sm_policy_data_convertToJSON(OpenAPI_sm_policy_data_t *sm_policy_ OpenAPI_sm_policy_snssai_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_data_convertToJSON() failed [sm_policy_snssai_data]"); + ogs_error("OpenAPI_sm_policy_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(sm_policy_snssai_data, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } @@ -99,10 +99,10 @@ cJSON *OpenAPI_sm_policy_data_convertToJSON(OpenAPI_sm_policy_data_t *sm_policy_ OpenAPI_usage_mon_data_limit_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_data_convertToJSON() failed [um_data_limits]"); + ogs_error("OpenAPI_sm_policy_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(um_data_limits, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -122,10 +122,10 @@ cJSON *OpenAPI_sm_policy_data_convertToJSON(OpenAPI_sm_policy_data_t *sm_policy_ OpenAPI_usage_mon_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_data_convertToJSON() failed [um_data]"); + ogs_error("OpenAPI_sm_policy_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(um_data, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -160,16 +160,16 @@ OpenAPI_sm_policy_data_t *OpenAPI_sm_policy_data_parseFromJSON(cJSON *sm_policy_ OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(sm_policy_snssai_data_local_map, sm_policy_snssai_data) { cJSON *localMapObject = sm_policy_snssai_data_local_map; - if (cJSON_IsObject(sm_policy_snssai_data_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_sm_policy_snssai_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(sm_policy_snssai_data_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_data_parseFromJSON() failed [sm_policy_snssai_data]"); + ogs_error("OpenAPI_sm_policy_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(sm_policy_snssai_dataList , localMapKeyPair); + OpenAPI_list_add(sm_policy_snssai_dataList, localMapKeyPair); } cJSON *um_data_limits = cJSON_GetObjectItemCaseSensitive(sm_policy_dataJSON, "umDataLimits"); @@ -185,16 +185,16 @@ OpenAPI_sm_policy_data_t *OpenAPI_sm_policy_data_parseFromJSON(cJSON *sm_policy_ OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(um_data_limits_local_map, um_data_limits) { cJSON *localMapObject = um_data_limits_local_map; - if (cJSON_IsObject(um_data_limits_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_usage_mon_data_limit_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(um_data_limits_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_data_parseFromJSON() failed [um_data_limits]"); + ogs_error("OpenAPI_sm_policy_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(um_data_limitsList , localMapKeyPair); + OpenAPI_list_add(um_data_limitsList, localMapKeyPair); } } @@ -211,16 +211,16 @@ OpenAPI_sm_policy_data_t *OpenAPI_sm_policy_data_parseFromJSON(cJSON *sm_policy_ OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(um_data_local_map, um_data) { cJSON *localMapObject = um_data_local_map; - if (cJSON_IsObject(um_data_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_usage_mon_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(um_data_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_data_parseFromJSON() failed [um_data]"); + ogs_error("OpenAPI_sm_policy_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(um_dataList , localMapKeyPair); + OpenAPI_list_add(um_dataList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/sm_policy_data_patch.c b/lib/sbi/openapi/model/sm_policy_data_patch.c index 3eded94ed..d853cde54 100644 --- a/lib/sbi/openapi/model/sm_policy_data_patch.c +++ b/lib/sbi/openapi/model/sm_policy_data_patch.c @@ -66,10 +66,10 @@ cJSON *OpenAPI_sm_policy_data_patch_convertToJSON(OpenAPI_sm_policy_data_patch_t OpenAPI_usage_mon_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_data_patch_convertToJSON() failed [um_data]"); + ogs_error("OpenAPI_sm_policy_data_patch_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(um_data, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -89,10 +89,10 @@ cJSON *OpenAPI_sm_policy_data_patch_convertToJSON(OpenAPI_sm_policy_data_patch_t OpenAPI_sm_policy_snssai_data_patch_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_data_patch_convertToJSON() failed [sm_policy_snssai_data]"); + ogs_error("OpenAPI_sm_policy_data_patch_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(sm_policy_snssai_data, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -117,16 +117,16 @@ OpenAPI_sm_policy_data_patch_t *OpenAPI_sm_policy_data_patch_parseFromJSON(cJSON OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(um_data_local_map, um_data) { cJSON *localMapObject = um_data_local_map; - if (cJSON_IsObject(um_data_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_usage_mon_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(um_data_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_data_patch_parseFromJSON() failed [um_data]"); + ogs_error("OpenAPI_sm_policy_data_patch_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(um_dataList , localMapKeyPair); + OpenAPI_list_add(um_dataList, localMapKeyPair); } } @@ -143,16 +143,16 @@ OpenAPI_sm_policy_data_patch_t *OpenAPI_sm_policy_data_patch_parseFromJSON(cJSON OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(sm_policy_snssai_data_local_map, sm_policy_snssai_data) { cJSON *localMapObject = sm_policy_snssai_data_local_map; - if (cJSON_IsObject(sm_policy_snssai_data_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_sm_policy_snssai_data_patch_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(sm_policy_snssai_data_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_data_patch_parseFromJSON() failed [sm_policy_snssai_data]"); + ogs_error("OpenAPI_sm_policy_data_patch_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(sm_policy_snssai_dataList , localMapKeyPair); + OpenAPI_list_add(sm_policy_snssai_dataList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/sm_policy_decision.c b/lib/sbi/openapi/model/sm_policy_decision.c index 754447002..23af6fc55 100644 --- a/lib/sbi/openapi/model/sm_policy_decision.c +++ b/lib/sbi/openapi/model/sm_policy_decision.c @@ -203,10 +203,10 @@ cJSON *OpenAPI_sm_policy_decision_convertToJSON(OpenAPI_sm_policy_decision_t *sm OpenAPI_session_rule_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [sess_rules]"); + ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(sess_rules, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -226,10 +226,10 @@ cJSON *OpenAPI_sm_policy_decision_convertToJSON(OpenAPI_sm_policy_decision_t *sm OpenAPI_pcc_rule_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [pcc_rules]"); + ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pcc_rules, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -256,10 +256,10 @@ cJSON *OpenAPI_sm_policy_decision_convertToJSON(OpenAPI_sm_policy_decision_t *sm OpenAPI_qos_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [qos_decs]"); + ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(qos_decs, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -279,10 +279,10 @@ cJSON *OpenAPI_sm_policy_decision_convertToJSON(OpenAPI_sm_policy_decision_t *sm OpenAPI_charging_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [chg_decs]"); + ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(chg_decs, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -315,10 +315,10 @@ cJSON *OpenAPI_sm_policy_decision_convertToJSON(OpenAPI_sm_policy_decision_t *sm OpenAPI_traffic_control_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [traff_cont_decs]"); + ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(traff_cont_decs, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -338,10 +338,10 @@ cJSON *OpenAPI_sm_policy_decision_convertToJSON(OpenAPI_sm_policy_decision_t *sm OpenAPI_usage_monitoring_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [um_decs]"); + ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(um_decs, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -361,10 +361,10 @@ cJSON *OpenAPI_sm_policy_decision_convertToJSON(OpenAPI_sm_policy_decision_t *sm OpenAPI_qos_characteristics_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [qos_chars]"); + ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(qos_chars, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -384,10 +384,10 @@ cJSON *OpenAPI_sm_policy_decision_convertToJSON(OpenAPI_sm_policy_decision_t *sm OpenAPI_qos_monitoring_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [qos_mon_decs]"); + ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(qos_mon_decs, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -414,10 +414,10 @@ cJSON *OpenAPI_sm_policy_decision_convertToJSON(OpenAPI_sm_policy_decision_t *sm OpenAPI_condition_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [conds]"); + ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(conds, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -506,10 +506,10 @@ cJSON *OpenAPI_sm_policy_decision_convertToJSON(OpenAPI_sm_policy_decision_t *sm OpenAPI_presence_info_rm_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [pra_infos]"); + ogs_error("OpenAPI_sm_policy_decision_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pra_infos, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -622,16 +622,16 @@ OpenAPI_sm_policy_decision_t *OpenAPI_sm_policy_decision_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(sess_rules_local_map, sess_rules) { cJSON *localMapObject = sess_rules_local_map; - if (cJSON_IsObject(sess_rules_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_session_rule_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(sess_rules_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [sess_rules]"); + ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(sess_rulesList , localMapKeyPair); + OpenAPI_list_add(sess_rulesList, localMapKeyPair); } } @@ -648,16 +648,16 @@ OpenAPI_sm_policy_decision_t *OpenAPI_sm_policy_decision_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pcc_rules_local_map, pcc_rules) { cJSON *localMapObject = pcc_rules_local_map; - if (cJSON_IsObject(pcc_rules_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_pcc_rule_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pcc_rules_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [pcc_rules]"); + ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(pcc_rulesList , localMapKeyPair); + OpenAPI_list_add(pcc_rulesList, localMapKeyPair); } } @@ -683,16 +683,16 @@ OpenAPI_sm_policy_decision_t *OpenAPI_sm_policy_decision_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(qos_decs_local_map, qos_decs) { cJSON *localMapObject = qos_decs_local_map; - if (cJSON_IsObject(qos_decs_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_qos_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(qos_decs_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [qos_decs]"); + ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(qos_decsList , localMapKeyPair); + OpenAPI_list_add(qos_decsList, localMapKeyPair); } } @@ -709,16 +709,16 @@ OpenAPI_sm_policy_decision_t *OpenAPI_sm_policy_decision_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(chg_decs_local_map, chg_decs) { cJSON *localMapObject = chg_decs_local_map; - if (cJSON_IsObject(chg_decs_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_charging_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(chg_decs_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [chg_decs]"); + ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(chg_decsList , localMapKeyPair); + OpenAPI_list_add(chg_decsList, localMapKeyPair); } } @@ -742,16 +742,16 @@ OpenAPI_sm_policy_decision_t *OpenAPI_sm_policy_decision_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(traff_cont_decs_local_map, traff_cont_decs) { cJSON *localMapObject = traff_cont_decs_local_map; - if (cJSON_IsObject(traff_cont_decs_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_traffic_control_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(traff_cont_decs_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [traff_cont_decs]"); + ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(traff_cont_decsList , localMapKeyPair); + OpenAPI_list_add(traff_cont_decsList, localMapKeyPair); } } @@ -768,16 +768,16 @@ OpenAPI_sm_policy_decision_t *OpenAPI_sm_policy_decision_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(um_decs_local_map, um_decs) { cJSON *localMapObject = um_decs_local_map; - if (cJSON_IsObject(um_decs_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_usage_monitoring_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(um_decs_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [um_decs]"); + ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(um_decsList , localMapKeyPair); + OpenAPI_list_add(um_decsList, localMapKeyPair); } } @@ -794,16 +794,16 @@ OpenAPI_sm_policy_decision_t *OpenAPI_sm_policy_decision_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(qos_chars_local_map, qos_chars) { cJSON *localMapObject = qos_chars_local_map; - if (cJSON_IsObject(qos_chars_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_qos_characteristics_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(qos_chars_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [qos_chars]"); + ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(qos_charsList , localMapKeyPair); + OpenAPI_list_add(qos_charsList, localMapKeyPair); } } @@ -820,16 +820,16 @@ OpenAPI_sm_policy_decision_t *OpenAPI_sm_policy_decision_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(qos_mon_decs_local_map, qos_mon_decs) { cJSON *localMapObject = qos_mon_decs_local_map; - if (cJSON_IsObject(qos_mon_decs_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_qos_monitoring_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(qos_mon_decs_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [qos_mon_decs]"); + ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(qos_mon_decsList , localMapKeyPair); + OpenAPI_list_add(qos_mon_decsList, localMapKeyPair); } } @@ -855,16 +855,16 @@ OpenAPI_sm_policy_decision_t *OpenAPI_sm_policy_decision_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(conds_local_map, conds) { cJSON *localMapObject = conds_local_map; - if (cJSON_IsObject(conds_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_condition_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(conds_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [conds]"); + ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(condsList , localMapKeyPair); + OpenAPI_list_add(condsList, localMapKeyPair); } } @@ -966,16 +966,16 @@ OpenAPI_sm_policy_decision_t *OpenAPI_sm_policy_decision_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pra_infos_local_map, pra_infos) { cJSON *localMapObject = pra_infos_local_map; - if (cJSON_IsObject(pra_infos_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_presence_info_rm_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pra_infos_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [pra_infos]"); + ogs_error("OpenAPI_sm_policy_decision_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(pra_infosList , localMapKeyPair); + OpenAPI_list_add(pra_infosList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/sm_policy_dnn_data.c b/lib/sbi/openapi/model/sm_policy_dnn_data.c index 1c40c1359..8ae8fe09c 100644 --- a/lib/sbi/openapi/model/sm_policy_dnn_data.c +++ b/lib/sbi/openapi/model/sm_policy_dnn_data.c @@ -253,10 +253,10 @@ cJSON *OpenAPI_sm_policy_dnn_data_convertToJSON(OpenAPI_sm_policy_dnn_data_t *sm OpenAPI_limit_id_to_monitoring_key_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_dnn_data_convertToJSON() failed [ref_um_data_limit_ids]"); + ogs_error("OpenAPI_sm_policy_dnn_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(ref_um_data_limit_ids, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -311,10 +311,10 @@ cJSON *OpenAPI_sm_policy_dnn_data_convertToJSON(OpenAPI_sm_policy_dnn_data_t *sm OpenAPI_presence_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_dnn_data_convertToJSON() failed [pra_infos]"); + ogs_error("OpenAPI_sm_policy_dnn_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pra_infos, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -330,6 +330,10 @@ cJSON *OpenAPI_sm_policy_dnn_data_convertToJSON(OpenAPI_sm_policy_dnn_data_t *sm if (sm_policy_dnn_data->bdt_ref_ids) { OpenAPI_list_for_each(sm_policy_dnn_data->bdt_ref_ids, bdt_ref_ids_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)bdt_ref_ids_node->data; + if (cJSON_AddStringToObject(localMapObject, localKeyValue->key, (char*)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_sm_policy_dnn_data_convertToJSON() failed [inner]"); + goto end; + } } } } @@ -375,7 +379,7 @@ OpenAPI_sm_policy_dnn_data_t *OpenAPI_sm_policy_dnn_data_parseFromJSON(cJSON *sm ogs_error("OpenAPI_sm_policy_dnn_data_parseFromJSON() failed [allowed_services]"); goto end; } - OpenAPI_list_add(allowed_servicesList , ogs_strdup(allowed_services_local->valuestring)); + OpenAPI_list_add(allowed_servicesList, ogs_strdup(allowed_services_local->valuestring)); } } @@ -395,7 +399,7 @@ OpenAPI_sm_policy_dnn_data_t *OpenAPI_sm_policy_dnn_data_parseFromJSON(cJSON *sm ogs_error("OpenAPI_sm_policy_dnn_data_parseFromJSON() failed [subsc_cats]"); goto end; } - OpenAPI_list_add(subsc_catsList , ogs_strdup(subsc_cats_local->valuestring)); + OpenAPI_list_add(subsc_catsList, ogs_strdup(subsc_cats_local->valuestring)); } } @@ -491,16 +495,16 @@ OpenAPI_sm_policy_dnn_data_t *OpenAPI_sm_policy_dnn_data_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(ref_um_data_limit_ids_local_map, ref_um_data_limit_ids) { cJSON *localMapObject = ref_um_data_limit_ids_local_map; - if (cJSON_IsObject(ref_um_data_limit_ids_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_limit_id_to_monitoring_key_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(ref_um_data_limit_ids_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_dnn_data_parseFromJSON() failed [ref_um_data_limit_ids]"); + ogs_error("OpenAPI_sm_policy_dnn_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(ref_um_data_limit_idsList , localMapKeyPair); + OpenAPI_list_add(ref_um_data_limit_idsList, localMapKeyPair); } } @@ -562,16 +566,16 @@ OpenAPI_sm_policy_dnn_data_t *OpenAPI_sm_policy_dnn_data_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pra_infos_local_map, pra_infos) { cJSON *localMapObject = pra_infos_local_map; - if (cJSON_IsObject(pra_infos_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_presence_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pra_infos_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_dnn_data_parseFromJSON() failed [pra_infos]"); + ogs_error("OpenAPI_sm_policy_dnn_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(pra_infosList , localMapKeyPair); + OpenAPI_list_add(pra_infosList, localMapKeyPair); } } @@ -588,7 +592,12 @@ OpenAPI_sm_policy_dnn_data_t *OpenAPI_sm_policy_dnn_data_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(bdt_ref_ids_local_map, bdt_ref_ids) { cJSON *localMapObject = bdt_ref_ids_local_map; - OpenAPI_list_add(bdt_ref_idsList , localMapKeyPair); + if (!cJSON_IsString(localMapObject)) { + ogs_error("OpenAPI_sm_policy_dnn_data_parseFromJSON() failed [inner]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),ogs_strdup(localMapObject->valuestring)); + OpenAPI_list_add(bdt_ref_idsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/sm_policy_dnn_data_patch.c b/lib/sbi/openapi/model/sm_policy_dnn_data_patch.c index 6f5d330ae..f80065a42 100644 --- a/lib/sbi/openapi/model/sm_policy_dnn_data_patch.c +++ b/lib/sbi/openapi/model/sm_policy_dnn_data_patch.c @@ -61,6 +61,10 @@ cJSON *OpenAPI_sm_policy_dnn_data_patch_convertToJSON(OpenAPI_sm_policy_dnn_data if (sm_policy_dnn_data_patch->bdt_ref_ids) { OpenAPI_list_for_each(sm_policy_dnn_data_patch->bdt_ref_ids, bdt_ref_ids_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)bdt_ref_ids_node->data; + if (cJSON_AddStringToObject(localMapObject, localKeyValue->key, (char*)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_sm_policy_dnn_data_patch_convertToJSON() failed [inner]"); + goto end; + } } } } @@ -96,7 +100,12 @@ OpenAPI_sm_policy_dnn_data_patch_t *OpenAPI_sm_policy_dnn_data_patch_parseFromJS OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(bdt_ref_ids_local_map, bdt_ref_ids) { cJSON *localMapObject = bdt_ref_ids_local_map; - OpenAPI_list_add(bdt_ref_idsList , localMapKeyPair); + if (!cJSON_IsString(localMapObject)) { + ogs_error("OpenAPI_sm_policy_dnn_data_patch_parseFromJSON() failed [inner]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),ogs_strdup(localMapObject->valuestring)); + OpenAPI_list_add(bdt_ref_idsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/sm_policy_snssai_data.c b/lib/sbi/openapi/model/sm_policy_snssai_data.c index 00089a668..5e48d2e37 100644 --- a/lib/sbi/openapi/model/sm_policy_snssai_data.c +++ b/lib/sbi/openapi/model/sm_policy_snssai_data.c @@ -71,10 +71,10 @@ cJSON *OpenAPI_sm_policy_snssai_data_convertToJSON(OpenAPI_sm_policy_snssai_data OpenAPI_sm_policy_dnn_data_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_snssai_data_convertToJSON() failed [sm_policy_dnn_data]"); + ogs_error("OpenAPI_sm_policy_snssai_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(sm_policy_dnn_data, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -108,16 +108,16 @@ OpenAPI_sm_policy_snssai_data_t *OpenAPI_sm_policy_snssai_data_parseFromJSON(cJS OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(sm_policy_dnn_data_local_map, sm_policy_dnn_data) { cJSON *localMapObject = sm_policy_dnn_data_local_map; - if (cJSON_IsObject(sm_policy_dnn_data_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_sm_policy_dnn_data_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(sm_policy_dnn_data_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_snssai_data_parseFromJSON() failed [sm_policy_dnn_data]"); + ogs_error("OpenAPI_sm_policy_snssai_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(sm_policy_dnn_dataList , localMapKeyPair); + OpenAPI_list_add(sm_policy_dnn_dataList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/sm_policy_snssai_data_patch.c b/lib/sbi/openapi/model/sm_policy_snssai_data_patch.c index 1461c840a..38dbf566e 100644 --- a/lib/sbi/openapi/model/sm_policy_snssai_data_patch.c +++ b/lib/sbi/openapi/model/sm_policy_snssai_data_patch.c @@ -71,10 +71,10 @@ cJSON *OpenAPI_sm_policy_snssai_data_patch_convertToJSON(OpenAPI_sm_policy_snssa OpenAPI_sm_policy_dnn_data_patch_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_snssai_data_patch_convertToJSON() failed [sm_policy_dnn_data]"); + ogs_error("OpenAPI_sm_policy_snssai_data_patch_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(sm_policy_dnn_data, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -108,16 +108,16 @@ OpenAPI_sm_policy_snssai_data_patch_t *OpenAPI_sm_policy_snssai_data_patch_parse OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(sm_policy_dnn_data_local_map, sm_policy_dnn_data) { cJSON *localMapObject = sm_policy_dnn_data_local_map; - if (cJSON_IsObject(sm_policy_dnn_data_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_sm_policy_dnn_data_patch_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(sm_policy_dnn_data_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_snssai_data_patch_parseFromJSON() failed [sm_policy_dnn_data]"); + ogs_error("OpenAPI_sm_policy_snssai_data_patch_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(sm_policy_dnn_dataList , localMapKeyPair); + OpenAPI_list_add(sm_policy_dnn_dataList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/sm_policy_update_context_data.c b/lib/sbi/openapi/model/sm_policy_update_context_data.c index e636d8b90..104ee6b65 100644 --- a/lib/sbi/openapi/model/sm_policy_update_context_data.c +++ b/lib/sbi/openapi/model/sm_policy_update_context_data.c @@ -593,10 +593,10 @@ cJSON *OpenAPI_sm_policy_update_context_data_convertToJSON(OpenAPI_sm_policy_upd OpenAPI_presence_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_sm_policy_update_context_data_convertToJSON() failed [rep_pra_infos]"); + ogs_error("OpenAPI_sm_policy_update_context_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(rep_pra_infos, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -1275,16 +1275,16 @@ OpenAPI_sm_policy_update_context_data_t *OpenAPI_sm_policy_update_context_data_p OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(rep_pra_infos_local_map, rep_pra_infos) { cJSON *localMapObject = rep_pra_infos_local_map; - if (cJSON_IsObject(rep_pra_infos_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_presence_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(rep_pra_infos_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_sm_policy_update_context_data_parseFromJSON() failed [rep_pra_infos]"); + ogs_error("OpenAPI_sm_policy_update_context_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(rep_pra_infosList , localMapKeyPair); + OpenAPI_list_add(rep_pra_infosList, localMapKeyPair); } } @@ -1513,7 +1513,7 @@ OpenAPI_sm_policy_update_context_data_t *OpenAPI_sm_policy_update_context_data_p ogs_error("OpenAPI_sm_policy_update_context_data_parseFromJSON() failed [inter_grp_ids]"); goto end; } - OpenAPI_list_add(inter_grp_idsList , ogs_strdup(inter_grp_ids_local->valuestring)); + OpenAPI_list_add(inter_grp_idsList, ogs_strdup(inter_grp_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/smf_change_info.c b/lib/sbi/openapi/model/smf_change_info.c index a5c6b7f5b..9846d32b2 100644 --- a/lib/sbi/openapi/model/smf_change_info.c +++ b/lib/sbi/openapi/model/smf_change_info.c @@ -86,7 +86,7 @@ OpenAPI_smf_change_info_t *OpenAPI_smf_change_info_parseFromJSON(cJSON *smf_chan ogs_error("OpenAPI_smf_change_info_parseFromJSON() failed [pdu_session_id_list]"); goto end; } - OpenAPI_list_add(pdu_session_id_listList , &pdu_session_id_list_local->valuedouble); + OpenAPI_list_add(pdu_session_id_listList, &pdu_session_id_list_local->valuedouble); } cJSON *smf_change_ind = cJSON_GetObjectItemCaseSensitive(smf_change_infoJSON, "smfChangeInd"); diff --git a/lib/sbi/openapi/model/smf_selection_data.c b/lib/sbi/openapi/model/smf_selection_data.c index cab348b23..f3ccc7220 100644 --- a/lib/sbi/openapi/model/smf_selection_data.c +++ b/lib/sbi/openapi/model/smf_selection_data.c @@ -77,10 +77,10 @@ cJSON *OpenAPI_smf_selection_data_convertToJSON(OpenAPI_smf_selection_data_t *sm OpenAPI_candidate_for_replacement_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_smf_selection_data_convertToJSON() failed [candidates]"); + ogs_error("OpenAPI_smf_selection_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(candidates, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -147,16 +147,16 @@ OpenAPI_smf_selection_data_t *OpenAPI_smf_selection_data_parseFromJSON(cJSON *sm OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(candidates_local_map, candidates) { cJSON *localMapObject = candidates_local_map; - if (cJSON_IsObject(candidates_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_candidate_for_replacement_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(candidates_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_smf_selection_data_parseFromJSON() failed [candidates]"); + ogs_error("OpenAPI_smf_selection_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(candidatesList , localMapKeyPair); + OpenAPI_list_add(candidatesList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/smf_selection_subscription_data.c b/lib/sbi/openapi/model/smf_selection_subscription_data.c index 6565aea4f..f6a02da7c 100644 --- a/lib/sbi/openapi/model/smf_selection_subscription_data.c +++ b/lib/sbi/openapi/model/smf_selection_subscription_data.c @@ -70,10 +70,10 @@ cJSON *OpenAPI_smf_selection_subscription_data_convertToJSON(OpenAPI_smf_selecti OpenAPI_snssai_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_smf_selection_subscription_data_convertToJSON() failed [subscribed_snssai_infos]"); + ogs_error("OpenAPI_smf_selection_subscription_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(subscribed_snssai_infos, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -114,16 +114,16 @@ OpenAPI_smf_selection_subscription_data_t *OpenAPI_smf_selection_subscription_da OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(subscribed_snssai_infos_local_map, subscribed_snssai_infos) { cJSON *localMapObject = subscribed_snssai_infos_local_map; - if (cJSON_IsObject(subscribed_snssai_infos_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_snssai_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(subscribed_snssai_infos_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_smf_selection_subscription_data_parseFromJSON() failed [subscribed_snssai_infos]"); + ogs_error("OpenAPI_smf_selection_subscription_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(subscribed_snssai_infosList , localMapKeyPair); + OpenAPI_list_add(subscribed_snssai_infosList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/smf_selection_subscription_data_1.c b/lib/sbi/openapi/model/smf_selection_subscription_data_1.c index a43eac2ce..eddaa1c7a 100644 --- a/lib/sbi/openapi/model/smf_selection_subscription_data_1.c +++ b/lib/sbi/openapi/model/smf_selection_subscription_data_1.c @@ -70,10 +70,10 @@ cJSON *OpenAPI_smf_selection_subscription_data_1_convertToJSON(OpenAPI_smf_selec OpenAPI_snssai_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_smf_selection_subscription_data_1_convertToJSON() failed [subscribed_snssai_infos]"); + ogs_error("OpenAPI_smf_selection_subscription_data_1_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(subscribed_snssai_infos, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -114,16 +114,16 @@ OpenAPI_smf_selection_subscription_data_1_t *OpenAPI_smf_selection_subscription_ OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(subscribed_snssai_infos_local_map, subscribed_snssai_infos) { cJSON *localMapObject = subscribed_snssai_infos_local_map; - if (cJSON_IsObject(subscribed_snssai_infos_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_snssai_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(subscribed_snssai_infos_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_smf_selection_subscription_data_1_parseFromJSON() failed [subscribed_snssai_infos]"); + ogs_error("OpenAPI_smf_selection_subscription_data_1_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(subscribed_snssai_infosList , localMapKeyPair); + OpenAPI_list_add(subscribed_snssai_infosList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/sms_management_subscription_data.c b/lib/sbi/openapi/model/sms_management_subscription_data.c index cb9349690..03f3bfab2 100644 --- a/lib/sbi/openapi/model/sms_management_subscription_data.c +++ b/lib/sbi/openapi/model/sms_management_subscription_data.c @@ -233,7 +233,7 @@ OpenAPI_sms_management_subscription_data_t *OpenAPI_sms_management_subscription_ ogs_error("OpenAPI_sms_management_subscription_data_parseFromJSON() failed [shared_sms_mng_data_ids]"); goto end; } - OpenAPI_list_add(shared_sms_mng_data_idsList , ogs_strdup(shared_sms_mng_data_ids_local->valuestring)); + OpenAPI_list_add(shared_sms_mng_data_idsList, ogs_strdup(shared_sms_mng_data_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/sms_management_subscription_data_1.c b/lib/sbi/openapi/model/sms_management_subscription_data_1.c index 9ee0faed7..5e17b4638 100644 --- a/lib/sbi/openapi/model/sms_management_subscription_data_1.c +++ b/lib/sbi/openapi/model/sms_management_subscription_data_1.c @@ -233,7 +233,7 @@ OpenAPI_sms_management_subscription_data_1_t *OpenAPI_sms_management_subscriptio ogs_error("OpenAPI_sms_management_subscription_data_1_parseFromJSON() failed [shared_sms_mng_data_ids]"); goto end; } - OpenAPI_list_add(shared_sms_mng_data_idsList , ogs_strdup(shared_sms_mng_data_ids_local->valuestring)); + OpenAPI_list_add(shared_sms_mng_data_idsList, ogs_strdup(shared_sms_mng_data_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/spatial_validity.c b/lib/sbi/openapi/model/spatial_validity.c index fa15f09f5..14e5c6f10 100644 --- a/lib/sbi/openapi/model/spatial_validity.c +++ b/lib/sbi/openapi/model/spatial_validity.c @@ -56,10 +56,10 @@ cJSON *OpenAPI_spatial_validity_convertToJSON(OpenAPI_spatial_validity_t *spatia OpenAPI_presence_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_spatial_validity_convertToJSON() failed [presence_info_list]"); + ogs_error("OpenAPI_spatial_validity_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(presence_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } @@ -86,16 +86,16 @@ OpenAPI_spatial_validity_t *OpenAPI_spatial_validity_parseFromJSON(cJSON *spatia OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(presence_info_list_local_map, presence_info_list) { cJSON *localMapObject = presence_info_list_local_map; - if (cJSON_IsObject(presence_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_presence_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(presence_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_spatial_validity_parseFromJSON() failed [presence_info_list]"); + ogs_error("OpenAPI_spatial_validity_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(presence_info_listList , localMapKeyPair); + OpenAPI_list_add(presence_info_listList, localMapKeyPair); } spatial_validity_local_var = OpenAPI_spatial_validity_create ( diff --git a/lib/sbi/openapi/model/spatial_validity_rm.c b/lib/sbi/openapi/model/spatial_validity_rm.c index b1c813116..a1ca52e10 100644 --- a/lib/sbi/openapi/model/spatial_validity_rm.c +++ b/lib/sbi/openapi/model/spatial_validity_rm.c @@ -56,10 +56,10 @@ cJSON *OpenAPI_spatial_validity_rm_convertToJSON(OpenAPI_spatial_validity_rm_t * OpenAPI_presence_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_spatial_validity_rm_convertToJSON() failed [presence_info_list]"); + ogs_error("OpenAPI_spatial_validity_rm_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(presence_info_list, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } @@ -86,16 +86,16 @@ OpenAPI_spatial_validity_rm_t *OpenAPI_spatial_validity_rm_parseFromJSON(cJSON * OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(presence_info_list_local_map, presence_info_list) { cJSON *localMapObject = presence_info_list_local_map; - if (cJSON_IsObject(presence_info_list_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_presence_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(presence_info_list_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_spatial_validity_rm_parseFromJSON() failed [presence_info_list]"); + ogs_error("OpenAPI_spatial_validity_rm_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(presence_info_listList , localMapKeyPair); + OpenAPI_list_add(presence_info_listList, localMapKeyPair); } spatial_validity_rm_local_var = OpenAPI_spatial_validity_rm_create ( diff --git a/lib/sbi/openapi/model/sponsor_connectivity_data.c b/lib/sbi/openapi/model/sponsor_connectivity_data.c index 8cdcdd03d..d134fd8db 100644 --- a/lib/sbi/openapi/model/sponsor_connectivity_data.c +++ b/lib/sbi/openapi/model/sponsor_connectivity_data.c @@ -79,7 +79,7 @@ OpenAPI_sponsor_connectivity_data_t *OpenAPI_sponsor_connectivity_data_parseFrom ogs_error("OpenAPI_sponsor_connectivity_data_parseFromJSON() failed [asp_ids]"); goto end; } - OpenAPI_list_add(asp_idsList , ogs_strdup(asp_ids_local->valuestring)); + OpenAPI_list_add(asp_idsList, ogs_strdup(asp_ids_local->valuestring)); } sponsor_connectivity_data_local_var = OpenAPI_sponsor_connectivity_data_create ( diff --git a/lib/sbi/openapi/model/subscription_data.c b/lib/sbi/openapi/model/subscription_data.c index 2fe9c780b..e8517513a 100644 --- a/lib/sbi/openapi/model/subscription_data.c +++ b/lib/sbi/openapi/model/subscription_data.c @@ -561,7 +561,7 @@ OpenAPI_subscription_data_t *OpenAPI_subscription_data_parseFromJSON(cJSON *subs ogs_error("OpenAPI_subscription_data_parseFromJSON() failed [serving_scope]"); goto end; } - OpenAPI_list_add(serving_scopeList , ogs_strdup(serving_scope_local->valuestring)); + OpenAPI_list_add(serving_scopeList, ogs_strdup(serving_scope_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/subscription_data_subscr_cond.c b/lib/sbi/openapi/model/subscription_data_subscr_cond.c index d328a1286..c2fe5b84e 100644 --- a/lib/sbi/openapi/model/subscription_data_subscr_cond.c +++ b/lib/sbi/openapi/model/subscription_data_subscr_cond.c @@ -362,7 +362,7 @@ OpenAPI_subscription_data_subscr_cond_t *OpenAPI_subscription_data_subscr_cond_p ogs_error("OpenAPI_subscription_data_subscr_cond_parseFromJSON() failed [nsi_list]"); goto end; } - OpenAPI_list_add(nsi_listList , ogs_strdup(nsi_list_local->valuestring)); + OpenAPI_list_add(nsi_listList, ogs_strdup(nsi_list_local->valuestring)); } } @@ -409,7 +409,7 @@ OpenAPI_subscription_data_subscr_cond_t *OpenAPI_subscription_data_subscr_cond_p ogs_error("OpenAPI_subscription_data_subscr_cond_parseFromJSON() failed [smf_serving_area]"); goto end; } - OpenAPI_list_add(smf_serving_areaList , ogs_strdup(smf_serving_area_local->valuestring)); + OpenAPI_list_add(smf_serving_areaList, ogs_strdup(smf_serving_area_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/subscription_data_subscriptions.c b/lib/sbi/openapi/model/subscription_data_subscriptions.c index 1130d5213..3235e3a69 100644 --- a/lib/sbi/openapi/model/subscription_data_subscriptions.c +++ b/lib/sbi/openapi/model/subscription_data_subscriptions.c @@ -182,7 +182,7 @@ OpenAPI_subscription_data_subscriptions_t *OpenAPI_subscription_data_subscriptio ogs_error("OpenAPI_subscription_data_subscriptions_parseFromJSON() failed [monitored_resource_uris]"); goto end; } - OpenAPI_list_add(monitored_resource_urisList , ogs_strdup(monitored_resource_uris_local->valuestring)); + OpenAPI_list_add(monitored_resource_urisList, ogs_strdup(monitored_resource_uris_local->valuestring)); } cJSON *expiry = cJSON_GetObjectItemCaseSensitive(subscription_data_subscriptionsJSON, "expiry"); diff --git a/lib/sbi/openapi/model/tac_info.c b/lib/sbi/openapi/model/tac_info.c index 084efdf1b..e243e5779 100644 --- a/lib/sbi/openapi/model/tac_info.c +++ b/lib/sbi/openapi/model/tac_info.c @@ -79,7 +79,7 @@ OpenAPI_tac_info_t *OpenAPI_tac_info_parseFromJSON(cJSON *tac_infoJSON) ogs_error("OpenAPI_tac_info_parseFromJSON() failed [tac_list]"); goto end; } - OpenAPI_list_add(tac_listList , ogs_strdup(tac_list_local->valuestring)); + OpenAPI_list_add(tac_listList, ogs_strdup(tac_list_local->valuestring)); } tac_info_local_var = OpenAPI_tac_info_create ( diff --git a/lib/sbi/openapi/model/tngf_info.c b/lib/sbi/openapi/model/tngf_info.c index 007c547b9..9b54bb091 100644 --- a/lib/sbi/openapi/model/tngf_info.c +++ b/lib/sbi/openapi/model/tngf_info.c @@ -110,7 +110,7 @@ OpenAPI_tngf_info_t *OpenAPI_tngf_info_parseFromJSON(cJSON *tngf_infoJSON) ogs_error("OpenAPI_tngf_info_parseFromJSON() failed [ipv4_endpoint_addresses]"); goto end; } - OpenAPI_list_add(ipv4_endpoint_addressesList , ogs_strdup(ipv4_endpoint_addresses_local->valuestring)); + OpenAPI_list_add(ipv4_endpoint_addressesList, ogs_strdup(ipv4_endpoint_addresses_local->valuestring)); } } @@ -130,7 +130,7 @@ OpenAPI_tngf_info_t *OpenAPI_tngf_info_parseFromJSON(cJSON *tngf_infoJSON) ogs_error("OpenAPI_tngf_info_parseFromJSON() failed [ipv6_endpoint_addresses]"); goto end; } - OpenAPI_list_add(ipv6_endpoint_addressesList , ogs_strdup(ipv6_endpoint_addresses_local->valuestring)); + OpenAPI_list_add(ipv6_endpoint_addressesList, ogs_strdup(ipv6_endpoint_addresses_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/traffic_influ_data.c b/lib/sbi/openapi/model/traffic_influ_data.c index 2b68af982..cf0fd159e 100644 --- a/lib/sbi/openapi/model/traffic_influ_data.c +++ b/lib/sbi/openapi/model/traffic_influ_data.c @@ -613,7 +613,7 @@ OpenAPI_traffic_influ_data_t *OpenAPI_traffic_influ_data_parseFromJSON(cJSON *tr ogs_error("OpenAPI_traffic_influ_data_parseFromJSON() failed [headers]"); goto end; } - OpenAPI_list_add(headersList , ogs_strdup(headers_local->valuestring)); + OpenAPI_list_add(headersList, ogs_strdup(headers_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/traffic_influ_data_patch.c b/lib/sbi/openapi/model/traffic_influ_data_patch.c index cfc4b9212..d61bde192 100644 --- a/lib/sbi/openapi/model/traffic_influ_data_patch.c +++ b/lib/sbi/openapi/model/traffic_influ_data_patch.c @@ -539,7 +539,7 @@ OpenAPI_traffic_influ_data_patch_t *OpenAPI_traffic_influ_data_patch_parseFromJS ogs_error("OpenAPI_traffic_influ_data_patch_parseFromJSON() failed [headers]"); goto end; } - OpenAPI_list_add(headersList , ogs_strdup(headers_local->valuestring)); + OpenAPI_list_add(headersList, ogs_strdup(headers_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/traffic_influ_sub.c b/lib/sbi/openapi/model/traffic_influ_sub.c index dbaff0d61..c9644cb2e 100644 --- a/lib/sbi/openapi/model/traffic_influ_sub.c +++ b/lib/sbi/openapi/model/traffic_influ_sub.c @@ -176,7 +176,7 @@ OpenAPI_traffic_influ_sub_t *OpenAPI_traffic_influ_sub_parseFromJSON(cJSON *traf ogs_error("OpenAPI_traffic_influ_sub_parseFromJSON() failed [dnns]"); goto end; } - OpenAPI_list_add(dnnsList , ogs_strdup(dnns_local->valuestring)); + OpenAPI_list_add(dnnsList, ogs_strdup(dnns_local->valuestring)); } } @@ -225,7 +225,7 @@ OpenAPI_traffic_influ_sub_t *OpenAPI_traffic_influ_sub_parseFromJSON(cJSON *traf ogs_error("OpenAPI_traffic_influ_sub_parseFromJSON() failed [internal_group_ids]"); goto end; } - OpenAPI_list_add(internal_group_idsList , ogs_strdup(internal_group_ids_local->valuestring)); + OpenAPI_list_add(internal_group_idsList, ogs_strdup(internal_group_ids_local->valuestring)); } } @@ -245,7 +245,7 @@ OpenAPI_traffic_influ_sub_t *OpenAPI_traffic_influ_sub_parseFromJSON(cJSON *traf ogs_error("OpenAPI_traffic_influ_sub_parseFromJSON() failed [supis]"); goto end; } - OpenAPI_list_add(supisList , ogs_strdup(supis_local->valuestring)); + OpenAPI_list_add(supisList, ogs_strdup(supis_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/twif_info.c b/lib/sbi/openapi/model/twif_info.c index 2095a42ee..ccf74a1f6 100644 --- a/lib/sbi/openapi/model/twif_info.c +++ b/lib/sbi/openapi/model/twif_info.c @@ -110,7 +110,7 @@ OpenAPI_twif_info_t *OpenAPI_twif_info_parseFromJSON(cJSON *twif_infoJSON) ogs_error("OpenAPI_twif_info_parseFromJSON() failed [ipv4_endpoint_addresses]"); goto end; } - OpenAPI_list_add(ipv4_endpoint_addressesList , ogs_strdup(ipv4_endpoint_addresses_local->valuestring)); + OpenAPI_list_add(ipv4_endpoint_addressesList, ogs_strdup(ipv4_endpoint_addresses_local->valuestring)); } } @@ -130,7 +130,7 @@ OpenAPI_twif_info_t *OpenAPI_twif_info_parseFromJSON(cJSON *twif_infoJSON) ogs_error("OpenAPI_twif_info_parseFromJSON() failed [ipv6_endpoint_addresses]"); goto end; } - OpenAPI_list_add(ipv6_endpoint_addressesList , ogs_strdup(ipv6_endpoint_addresses_local->valuestring)); + OpenAPI_list_add(ipv6_endpoint_addressesList, ogs_strdup(ipv6_endpoint_addresses_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/udm_info.c b/lib/sbi/openapi/model/udm_info.c index 9c709547f..8479aa607 100644 --- a/lib/sbi/openapi/model/udm_info.c +++ b/lib/sbi/openapi/model/udm_info.c @@ -288,7 +288,7 @@ OpenAPI_udm_info_t *OpenAPI_udm_info_parseFromJSON(cJSON *udm_infoJSON) ogs_error("OpenAPI_udm_info_parseFromJSON() failed [routing_indicators]"); goto end; } - OpenAPI_list_add(routing_indicatorsList , ogs_strdup(routing_indicators_local->valuestring)); + OpenAPI_list_add(routing_indicatorsList, ogs_strdup(routing_indicators_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/udsf_info.c b/lib/sbi/openapi/model/udsf_info.c index 33fff7f1e..62b0fa219 100644 --- a/lib/sbi/openapi/model/udsf_info.c +++ b/lib/sbi/openapi/model/udsf_info.c @@ -89,6 +89,14 @@ cJSON *OpenAPI_udsf_info_convertToJSON(OpenAPI_udsf_info_t *udsf_info) if (udsf_info->storage_id_ranges) { OpenAPI_list_for_each(udsf_info->storage_id_ranges, storage_id_ranges_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)storage_id_ranges_node->data; + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_identity_range_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_udsf_info_convertToJSON() failed [inner]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -151,7 +159,16 @@ OpenAPI_udsf_info_t *OpenAPI_udsf_info_parseFromJSON(cJSON *udsf_infoJSON) OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(storage_id_ranges_local_map, storage_id_ranges) { cJSON *localMapObject = storage_id_ranges_local_map; - OpenAPI_list_add(storage_id_rangesList , localMapKeyPair); + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_identity_range_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_udsf_info_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(storage_id_rangesList, localMapKeyPair); } } diff --git a/lib/sbi/custom/ue_authentication_ctx.c b/lib/sbi/openapi/model/ue_authentication_ctx.c similarity index 60% rename from lib/sbi/custom/ue_authentication_ctx.c rename to lib/sbi/openapi/model/ue_authentication_ctx.c index 53f196ed8..3d0e12ec4 100644 --- a/lib/sbi/custom/ue_authentication_ctx.c +++ b/lib/sbi/openapi/model/ue_authentication_ctx.c @@ -6,8 +6,7 @@ OpenAPI_ue_authentication_ctx_t *OpenAPI_ue_authentication_ctx_create( OpenAPI_auth_type_e auth_type, - OpenAPI_av5g_aka_t *_5g_auth_data, - char *eap_payload, + OpenAPI_ue_authentication_ctx_5g_auth_data_t *_5g_auth_data, OpenAPI_list_t* _links, char *serving_network_name ) @@ -17,7 +16,6 @@ OpenAPI_ue_authentication_ctx_t *OpenAPI_ue_authentication_ctx_create( ue_authentication_ctx_local_var->auth_type = auth_type; ue_authentication_ctx_local_var->_5g_auth_data = _5g_auth_data; - ue_authentication_ctx_local_var->eap_payload = eap_payload; ue_authentication_ctx_local_var->_links = _links; ue_authentication_ctx_local_var->serving_network_name = serving_network_name; @@ -31,19 +29,15 @@ void OpenAPI_ue_authentication_ctx_free(OpenAPI_ue_authentication_ctx_t *ue_auth } OpenAPI_lnode_t *node; if (ue_authentication_ctx->_5g_auth_data) { - OpenAPI_av5g_aka_free(ue_authentication_ctx->_5g_auth_data); + OpenAPI_ue_authentication_ctx_5g_auth_data_free(ue_authentication_ctx->_5g_auth_data); ue_authentication_ctx->_5g_auth_data = NULL; } - if (ue_authentication_ctx->eap_payload) { - ogs_free(ue_authentication_ctx->eap_payload); - ue_authentication_ctx->eap_payload = NULL; - } if (ue_authentication_ctx->_links) { OpenAPI_list_for_each(ue_authentication_ctx->_links, node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)node->data; ogs_free(localKeyValue->key); OpenAPI_links_value_schema_free(localKeyValue->value); - ogs_free(localKeyValue); + OpenAPI_map_free(localKeyValue); } OpenAPI_list_free(ue_authentication_ctx->_links); ue_authentication_ctx->_links = NULL; @@ -65,13 +59,20 @@ cJSON *OpenAPI_ue_authentication_ctx_convertToJSON(OpenAPI_ue_authentication_ctx } item = cJSON_CreateObject(); + if (ue_authentication_ctx->auth_type == OpenAPI_auth_type_NULL) { + ogs_error("OpenAPI_ue_authentication_ctx_convertToJSON() failed [auth_type]"); + return NULL; + } if (cJSON_AddStringToObject(item, "authType", OpenAPI_auth_type_ToString(ue_authentication_ctx->auth_type)) == NULL) { ogs_error("OpenAPI_ue_authentication_ctx_convertToJSON() failed [auth_type]"); goto end; } - if (ue_authentication_ctx->_5g_auth_data) { - cJSON *_5g_auth_data_local_JSON = OpenAPI_av5g_aka_convertToJSON(ue_authentication_ctx->_5g_auth_data); + if (!ue_authentication_ctx->_5g_auth_data) { + ogs_error("OpenAPI_ue_authentication_ctx_convertToJSON() failed [_5g_auth_data]"); + return NULL; + } + cJSON *_5g_auth_data_local_JSON = OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON(ue_authentication_ctx->_5g_auth_data); if (_5g_auth_data_local_JSON == NULL) { ogs_error("OpenAPI_ue_authentication_ctx_convertToJSON() failed [_5g_auth_data]"); goto end; @@ -81,30 +82,29 @@ cJSON *OpenAPI_ue_authentication_ctx_convertToJSON(OpenAPI_ue_authentication_ctx ogs_error("OpenAPI_ue_authentication_ctx_convertToJSON() failed [_5g_auth_data]"); goto end; } - } - if (ue_authentication_ctx->eap_payload) { - if (cJSON_AddStringToObject(item, "EapPayload", ue_authentication_ctx->eap_payload) == NULL) { - ogs_error("OpenAPI_ue_authentication_ctx_convertToJSON() failed [eap_payload]"); - goto end; + if (!ue_authentication_ctx->_links) { + ogs_error("OpenAPI_ue_authentication_ctx_convertToJSON() failed [_links]"); + return NULL; } - } - cJSON *_links = cJSON_AddObjectToObject(item, "_links"); if (_links == NULL) { ogs_error("OpenAPI_ue_authentication_ctx_convertToJSON() failed [_links]"); goto end; } + cJSON *localMapObject = _links; OpenAPI_lnode_t *_links_node; if (ue_authentication_ctx->_links) { OpenAPI_list_for_each(ue_authentication_ctx->_links, _links_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)_links_node->data; - cJSON *itemLocal = OpenAPI_links_value_schema_convertToJSON(localKeyValue->value); + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_links_value_schema_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_ue_authentication_ctx_convertToJSON() failed [_links]"); + ogs_error("OpenAPI_ue_authentication_ctx_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(_links, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } @@ -122,81 +122,91 @@ end: OpenAPI_ue_authentication_ctx_t *OpenAPI_ue_authentication_ctx_parseFromJSON(cJSON *ue_authentication_ctxJSON) { OpenAPI_ue_authentication_ctx_t *ue_authentication_ctx_local_var = NULL; - cJSON *auth_type = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctxJSON, "authType"); + OpenAPI_lnode_t *node = NULL; + cJSON *auth_type = NULL; + OpenAPI_auth_type_e auth_typeVariable = 0; + cJSON *_5g_auth_data = NULL; + OpenAPI_ue_authentication_ctx_5g_auth_data_t *_5g_auth_data_local_nonprim = NULL; + cJSON *_links = NULL; + OpenAPI_list_t *_linksList = NULL; + cJSON *serving_network_name = NULL; + auth_type = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctxJSON, "authType"); if (!auth_type) { ogs_error("OpenAPI_ue_authentication_ctx_parseFromJSON() failed [auth_type]"); goto end; } - - OpenAPI_auth_type_e auth_typeVariable; - if (!cJSON_IsString(auth_type)) { ogs_error("OpenAPI_ue_authentication_ctx_parseFromJSON() failed [auth_type]"); goto end; } auth_typeVariable = OpenAPI_auth_type_FromString(auth_type->valuestring); - cJSON *_5g_auth_data = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctxJSON, "5gAuthData"); - - OpenAPI_av5g_aka_t *_5g_auth_data_local_nonprim = NULL; - if (_5g_auth_data) { - _5g_auth_data_local_nonprim = OpenAPI_av5g_aka_parseFromJSON(_5g_auth_data); -} - - cJSON *eap_payload = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctxJSON, "EapPayload"); - - if (eap_payload) { - if (!cJSON_IsString(eap_payload)) { - ogs_error("OpenAPI_ue_authentication_ctx_parseFromJSON() failed [eap_payload]"); + _5g_auth_data = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctxJSON, "5gAuthData"); + if (!_5g_auth_data) { + ogs_error("OpenAPI_ue_authentication_ctx_parseFromJSON() failed [_5g_auth_data]"); goto end; } -} + _5g_auth_data_local_nonprim = OpenAPI_ue_authentication_ctx_5g_auth_data_parseFromJSON(_5g_auth_data); - cJSON *_links = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctxJSON, "_links"); + _links = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctxJSON, "_links"); if (!_links) { ogs_error("OpenAPI_ue_authentication_ctx_parseFromJSON() failed [_links]"); goto end; } - - OpenAPI_list_t *_linksList; - - cJSON *_links_local_map; - if (!cJSON_IsObject(_links)) { - ogs_error("OpenAPI_ue_authentication_ctx_parseFromJSON() failed [_links]"); - goto end; - } - _linksList = OpenAPI_list_create(); - OpenAPI_map_t *localMapKeyPair = NULL; - cJSON_ArrayForEach(_links_local_map, _links) { - cJSON *localMapObject = _links_local_map; - if (!cJSON_IsObject(_links_local_map)) { + cJSON *_links_local_map = NULL; + if (!cJSON_IsObject(_links) && !cJSON_IsNull(_links)) { ogs_error("OpenAPI_ue_authentication_ctx_parseFromJSON() failed [_links]"); goto end; } - localMapKeyPair = OpenAPI_map_create( - ogs_strdup(localMapObject->string), OpenAPI_links_value_schema_parseFromJSON(localMapObject)); - OpenAPI_list_add(_linksList , localMapKeyPair); - } + if (cJSON_IsObject(_links)) { + _linksList = OpenAPI_list_create(); + OpenAPI_map_t *localMapKeyPair = NULL; + cJSON_ArrayForEach(_links_local_map, _links) { + cJSON *localMapObject = _links_local_map; + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_links_value_schema_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_ue_authentication_ctx_parseFromJSON() failed [inner]"); + goto end; + } + OpenAPI_list_add(_linksList, localMapKeyPair); + } + } - cJSON *serving_network_name = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctxJSON, "servingNetworkName"); - - if (serving_network_name) { - if (!cJSON_IsString(serving_network_name)) { + serving_network_name = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctxJSON, "servingNetworkName"); + if (serving_network_name) { + if (!cJSON_IsString(serving_network_name) && !cJSON_IsNull(serving_network_name)) { ogs_error("OpenAPI_ue_authentication_ctx_parseFromJSON() failed [serving_network_name]"); goto end; } -} + } ue_authentication_ctx_local_var = OpenAPI_ue_authentication_ctx_create ( auth_typeVariable, - _5g_auth_data ? _5g_auth_data_local_nonprim : NULL, - eap_payload ? ogs_strdup(eap_payload->valuestring) : NULL, + _5g_auth_data_local_nonprim, _linksList, - serving_network_name ? ogs_strdup(serving_network_name->valuestring) : NULL + serving_network_name && !cJSON_IsNull(serving_network_name) ? ogs_strdup(serving_network_name->valuestring) : NULL ); return ue_authentication_ctx_local_var; end: + if (_5g_auth_data_local_nonprim) { + OpenAPI_ue_authentication_ctx_5g_auth_data_free(_5g_auth_data_local_nonprim); + _5g_auth_data_local_nonprim = NULL; + } + if (_linksList) { + OpenAPI_list_for_each(_linksList, node) { + OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*) node->data; + ogs_free(localKeyValue->key); + OpenAPI_links_value_schema_free(localKeyValue->value); + OpenAPI_map_free(localKeyValue); + } + OpenAPI_list_free(_linksList); + _linksList = NULL; + } return NULL; } diff --git a/lib/sbi/custom/ue_authentication_ctx.h b/lib/sbi/openapi/model/ue_authentication_ctx.h similarity index 63% rename from lib/sbi/custom/ue_authentication_ctx.h rename to lib/sbi/openapi/model/ue_authentication_ctx.h index 0cf796d0d..0a552871c 100644 --- a/lib/sbi/custom/ue_authentication_ctx.h +++ b/lib/sbi/openapi/model/ue_authentication_ctx.h @@ -8,13 +8,13 @@ #define _OpenAPI_ue_authentication_ctx_H_ #include -#include "../openapi/external/cJSON.h" -#include "../openapi/include/list.h" -#include "../openapi/include/keyValuePair.h" -#include "../openapi/include/binary.h" -#include "../openapi/model/auth_type.h" -#include "../openapi/model/av5g_aka.h" -#include "../openapi/model/links_value_schema.h" +#include "../external/cJSON.h" +#include "../include/list.h" +#include "../include/keyValuePair.h" +#include "../include/binary.h" +#include "auth_type.h" +#include "links_value_schema.h" +#include "ue_authentication_ctx_5g_auth_data.h" #ifdef __cplusplus extern "C" { @@ -22,17 +22,15 @@ extern "C" { typedef struct OpenAPI_ue_authentication_ctx_s OpenAPI_ue_authentication_ctx_t; typedef struct OpenAPI_ue_authentication_ctx_s { - OpenAPI_auth_type_e auth_type; /* Non-Primitive Enum */ - struct OpenAPI_av5g_aka_s *_5g_auth_data; /* Model */ - char *eap_payload; /* String */ - OpenAPI_list_t* _links; /* Map */ - char *serving_network_name; /* String */ + OpenAPI_auth_type_e auth_type; + struct OpenAPI_ue_authentication_ctx_5g_auth_data_s *_5g_auth_data; + OpenAPI_list_t* _links; + char *serving_network_name; } OpenAPI_ue_authentication_ctx_t; OpenAPI_ue_authentication_ctx_t *OpenAPI_ue_authentication_ctx_create( OpenAPI_auth_type_e auth_type, - OpenAPI_av5g_aka_t *_5g_auth_data, - char *eap_payload, + OpenAPI_ue_authentication_ctx_5g_auth_data_t *_5g_auth_data, OpenAPI_list_t* _links, char *serving_network_name ); diff --git a/lib/sbi/openapi/model/ue_authentication_ctx_5g_auth_data.c b/lib/sbi/openapi/model/ue_authentication_ctx_5g_auth_data.c new file mode 100644 index 000000000..e6e83fdc8 --- /dev/null +++ b/lib/sbi/openapi/model/ue_authentication_ctx_5g_auth_data.c @@ -0,0 +1,166 @@ + +#include +#include +#include +#include "ue_authentication_ctx_5g_auth_data.h" + +OpenAPI_ue_authentication_ctx_5g_auth_data_t *OpenAPI_ue_authentication_ctx_5g_auth_data_create( + char *rand, + char *hxres_star, + char *autn +) +{ + OpenAPI_ue_authentication_ctx_5g_auth_data_t *ue_authentication_ctx_5g_auth_data_local_var = ogs_malloc(sizeof(OpenAPI_ue_authentication_ctx_5g_auth_data_t)); + ogs_assert(ue_authentication_ctx_5g_auth_data_local_var); + + ue_authentication_ctx_5g_auth_data_local_var->rand = rand; + ue_authentication_ctx_5g_auth_data_local_var->hxres_star = hxres_star; + ue_authentication_ctx_5g_auth_data_local_var->autn = autn; + + return ue_authentication_ctx_5g_auth_data_local_var; +} + +void OpenAPI_ue_authentication_ctx_5g_auth_data_free(OpenAPI_ue_authentication_ctx_5g_auth_data_t *ue_authentication_ctx_5g_auth_data) +{ + if (NULL == ue_authentication_ctx_5g_auth_data) { + return; + } + OpenAPI_lnode_t *node; + if (ue_authentication_ctx_5g_auth_data->rand) { + ogs_free(ue_authentication_ctx_5g_auth_data->rand); + ue_authentication_ctx_5g_auth_data->rand = NULL; + } + if (ue_authentication_ctx_5g_auth_data->hxres_star) { + ogs_free(ue_authentication_ctx_5g_auth_data->hxres_star); + ue_authentication_ctx_5g_auth_data->hxres_star = NULL; + } + if (ue_authentication_ctx_5g_auth_data->autn) { + ogs_free(ue_authentication_ctx_5g_auth_data->autn); + ue_authentication_ctx_5g_auth_data->autn = NULL; + } + ogs_free(ue_authentication_ctx_5g_auth_data); +} + +cJSON *OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON(OpenAPI_ue_authentication_ctx_5g_auth_data_t *ue_authentication_ctx_5g_auth_data) +{ + cJSON *item = NULL; + + if (ue_authentication_ctx_5g_auth_data == NULL) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON() failed [UEAuthenticationCtx_5gAuthData]"); + return NULL; + } + + item = cJSON_CreateObject(); + if (!ue_authentication_ctx_5g_auth_data->rand) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON() failed [rand]"); + return NULL; + } + if (cJSON_AddStringToObject(item, "rand", ue_authentication_ctx_5g_auth_data->rand) == NULL) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON() failed [rand]"); + goto end; + } + + if (!ue_authentication_ctx_5g_auth_data->hxres_star) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON() failed [hxres_star]"); + return NULL; + } + if (cJSON_AddStringToObject(item, "hxresStar", ue_authentication_ctx_5g_auth_data->hxres_star) == NULL) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON() failed [hxres_star]"); + goto end; + } + + if (!ue_authentication_ctx_5g_auth_data->autn) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON() failed [autn]"); + return NULL; + } + if (cJSON_AddStringToObject(item, "autn", ue_authentication_ctx_5g_auth_data->autn) == NULL) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON() failed [autn]"); + goto end; + } + +end: + return item; +} + +OpenAPI_ue_authentication_ctx_5g_auth_data_t *OpenAPI_ue_authentication_ctx_5g_auth_data_parseFromJSON(cJSON *ue_authentication_ctx_5g_auth_dataJSON) +{ + OpenAPI_ue_authentication_ctx_5g_auth_data_t *ue_authentication_ctx_5g_auth_data_local_var = NULL; + OpenAPI_lnode_t *node = NULL; + cJSON *rand = NULL; + cJSON *hxres_star = NULL; + cJSON *autn = NULL; + rand = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctx_5g_auth_dataJSON, "rand"); + if (!rand) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_parseFromJSON() failed [rand]"); + goto end; + } + if (!cJSON_IsString(rand)) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_parseFromJSON() failed [rand]"); + goto end; + } + + hxres_star = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctx_5g_auth_dataJSON, "hxresStar"); + if (!hxres_star) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_parseFromJSON() failed [hxres_star]"); + goto end; + } + if (!cJSON_IsString(hxres_star)) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_parseFromJSON() failed [hxres_star]"); + goto end; + } + + autn = cJSON_GetObjectItemCaseSensitive(ue_authentication_ctx_5g_auth_dataJSON, "autn"); + if (!autn) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_parseFromJSON() failed [autn]"); + goto end; + } + if (!cJSON_IsString(autn)) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_parseFromJSON() failed [autn]"); + goto end; + } + + ue_authentication_ctx_5g_auth_data_local_var = OpenAPI_ue_authentication_ctx_5g_auth_data_create ( + ogs_strdup(rand->valuestring), + ogs_strdup(hxres_star->valuestring), + ogs_strdup(autn->valuestring) + ); + + return ue_authentication_ctx_5g_auth_data_local_var; +end: + return NULL; +} + +OpenAPI_ue_authentication_ctx_5g_auth_data_t *OpenAPI_ue_authentication_ctx_5g_auth_data_copy(OpenAPI_ue_authentication_ctx_5g_auth_data_t *dst, OpenAPI_ue_authentication_ctx_5g_auth_data_t *src) +{ + cJSON *item = NULL; + char *content = NULL; + + ogs_assert(src); + item = OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON(src); + if (!item) { + ogs_error("OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON() failed"); + return NULL; + } + + content = cJSON_Print(item); + cJSON_Delete(item); + + if (!content) { + ogs_error("cJSON_Print() failed"); + return NULL; + } + + item = cJSON_Parse(content); + ogs_free(content); + if (!item) { + ogs_error("cJSON_Parse() failed"); + return NULL; + } + + OpenAPI_ue_authentication_ctx_5g_auth_data_free(dst); + dst = OpenAPI_ue_authentication_ctx_5g_auth_data_parseFromJSON(item); + cJSON_Delete(item); + + return dst; +} + diff --git a/lib/sbi/openapi/model/ue_authentication_ctx_5g_auth_data.h b/lib/sbi/openapi/model/ue_authentication_ctx_5g_auth_data.h new file mode 100644 index 000000000..b92e1d149 --- /dev/null +++ b/lib/sbi/openapi/model/ue_authentication_ctx_5g_auth_data.h @@ -0,0 +1,43 @@ +/* + * ue_authentication_ctx_5g_auth_data.h + * + * + */ + +#ifndef _OpenAPI_ue_authentication_ctx_5g_auth_data_H_ +#define _OpenAPI_ue_authentication_ctx_5g_auth_data_H_ + +#include +#include "../external/cJSON.h" +#include "../include/list.h" +#include "../include/keyValuePair.h" +#include "../include/binary.h" +#include "av5g_aka.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct OpenAPI_ue_authentication_ctx_5g_auth_data_s OpenAPI_ue_authentication_ctx_5g_auth_data_t; +typedef struct OpenAPI_ue_authentication_ctx_5g_auth_data_s { + char *rand; + char *hxres_star; + char *autn; +} OpenAPI_ue_authentication_ctx_5g_auth_data_t; + +OpenAPI_ue_authentication_ctx_5g_auth_data_t *OpenAPI_ue_authentication_ctx_5g_auth_data_create( + char *rand, + char *hxres_star, + char *autn +); +void OpenAPI_ue_authentication_ctx_5g_auth_data_free(OpenAPI_ue_authentication_ctx_5g_auth_data_t *ue_authentication_ctx_5g_auth_data); +OpenAPI_ue_authentication_ctx_5g_auth_data_t *OpenAPI_ue_authentication_ctx_5g_auth_data_parseFromJSON(cJSON *ue_authentication_ctx_5g_auth_dataJSON); +cJSON *OpenAPI_ue_authentication_ctx_5g_auth_data_convertToJSON(OpenAPI_ue_authentication_ctx_5g_auth_data_t *ue_authentication_ctx_5g_auth_data); +OpenAPI_ue_authentication_ctx_5g_auth_data_t *OpenAPI_ue_authentication_ctx_5g_auth_data_copy(OpenAPI_ue_authentication_ctx_5g_auth_data_t *dst, OpenAPI_ue_authentication_ctx_5g_auth_data_t *src); + +#ifdef __cplusplus +} +#endif + +#endif /* _OpenAPI_ue_authentication_ctx_5g_auth_data_H_ */ + diff --git a/lib/sbi/openapi/model/ue_context.c b/lib/sbi/openapi/model/ue_context.c index 1c69c7264..ccea61042 100644 --- a/lib/sbi/openapi/model/ue_context.c +++ b/lib/sbi/openapi/model/ue_context.c @@ -811,7 +811,7 @@ OpenAPI_ue_context_t *OpenAPI_ue_context_parseFromJSON(cJSON *ue_contextJSON) ogs_error("OpenAPI_ue_context_parseFromJSON() failed [gpsi_list]"); goto end; } - OpenAPI_list_add(gpsi_listList , ogs_strdup(gpsi_list_local->valuestring)); + OpenAPI_list_add(gpsi_listList, ogs_strdup(gpsi_list_local->valuestring)); } } @@ -876,7 +876,7 @@ OpenAPI_ue_context_t *OpenAPI_ue_context_parseFromJSON(cJSON *ue_contextJSON) ogs_error("OpenAPI_ue_context_parseFromJSON() failed [group_list]"); goto end; } - OpenAPI_list_add(group_listList , ogs_strdup(group_list_local->valuestring)); + OpenAPI_list_add(group_listList, ogs_strdup(group_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/ue_context_in_smf_data.c b/lib/sbi/openapi/model/ue_context_in_smf_data.c index fdad1c225..03495f231 100644 --- a/lib/sbi/openapi/model/ue_context_in_smf_data.c +++ b/lib/sbi/openapi/model/ue_context_in_smf_data.c @@ -66,10 +66,10 @@ cJSON *OpenAPI_ue_context_in_smf_data_convertToJSON(OpenAPI_ue_context_in_smf_da OpenAPI_pdu_session_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_ue_context_in_smf_data_convertToJSON() failed [pdu_sessions]"); + ogs_error("OpenAPI_ue_context_in_smf_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pdu_sessions, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -127,16 +127,16 @@ OpenAPI_ue_context_in_smf_data_t *OpenAPI_ue_context_in_smf_data_parseFromJSON(c OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pdu_sessions_local_map, pdu_sessions) { cJSON *localMapObject = pdu_sessions_local_map; - if (cJSON_IsObject(pdu_sessions_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_pdu_session_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pdu_sessions_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_ue_context_in_smf_data_parseFromJSON() failed [pdu_sessions]"); + ogs_error("OpenAPI_ue_context_in_smf_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(pdu_sessionsList , localMapKeyPair); + OpenAPI_list_add(pdu_sessionsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/ue_context_in_smf_data_1.c b/lib/sbi/openapi/model/ue_context_in_smf_data_1.c index 1104867d2..0b317405b 100644 --- a/lib/sbi/openapi/model/ue_context_in_smf_data_1.c +++ b/lib/sbi/openapi/model/ue_context_in_smf_data_1.c @@ -66,10 +66,10 @@ cJSON *OpenAPI_ue_context_in_smf_data_1_convertToJSON(OpenAPI_ue_context_in_smf_ OpenAPI_pdu_session_1_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_ue_context_in_smf_data_1_convertToJSON() failed [pdu_sessions]"); + ogs_error("OpenAPI_ue_context_in_smf_data_1_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pdu_sessions, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -127,16 +127,16 @@ OpenAPI_ue_context_in_smf_data_1_t *OpenAPI_ue_context_in_smf_data_1_parseFromJS OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pdu_sessions_local_map, pdu_sessions) { cJSON *localMapObject = pdu_sessions_local_map; - if (cJSON_IsObject(pdu_sessions_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_pdu_session_1_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pdu_sessions_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_ue_context_in_smf_data_1_parseFromJSON() failed [pdu_sessions]"); + ogs_error("OpenAPI_ue_context_in_smf_data_1_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(pdu_sessionsList , localMapKeyPair); + OpenAPI_list_add(pdu_sessionsList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/ue_id.c b/lib/sbi/openapi/model/ue_id.c index b7f301662..6e813fcfd 100644 --- a/lib/sbi/openapi/model/ue_id.c +++ b/lib/sbi/openapi/model/ue_id.c @@ -97,7 +97,7 @@ OpenAPI_ue_id_t *OpenAPI_ue_id_parseFromJSON(cJSON *ue_idJSON) ogs_error("OpenAPI_ue_id_parseFromJSON() failed [gpsi_list]"); goto end; } - OpenAPI_list_add(gpsi_listList , ogs_strdup(gpsi_list_local->valuestring)); + OpenAPI_list_add(gpsi_listList, ogs_strdup(gpsi_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/ue_policy_set.c b/lib/sbi/openapi/model/ue_policy_set.c index d2c0b3052..fef44f23e 100644 --- a/lib/sbi/openapi/model/ue_policy_set.c +++ b/lib/sbi/openapi/model/ue_policy_set.c @@ -103,10 +103,10 @@ cJSON *OpenAPI_ue_policy_set_convertToJSON(OpenAPI_ue_policy_set_t *ue_policy_se OpenAPI_presence_info_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_ue_policy_set_convertToJSON() failed [pra_infos]"); + ogs_error("OpenAPI_ue_policy_set_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(pra_infos, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -142,10 +142,10 @@ cJSON *OpenAPI_ue_policy_set_convertToJSON(OpenAPI_ue_policy_set_t *ue_policy_se OpenAPI_ue_policy_section_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_ue_policy_set_convertToJSON() failed [ue_policy_sections]"); + ogs_error("OpenAPI_ue_policy_set_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(ue_policy_sections, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -181,10 +181,10 @@ cJSON *OpenAPI_ue_policy_set_convertToJSON(OpenAPI_ue_policy_set_t *ue_policy_se OpenAPI_plmn_route_selection_descriptor_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_ue_policy_set_convertToJSON() failed [allowed_route_sel_descs]"); + ogs_error("OpenAPI_ue_policy_set_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(allowed_route_sel_descs, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -246,16 +246,16 @@ OpenAPI_ue_policy_set_t *OpenAPI_ue_policy_set_parseFromJSON(cJSON *ue_policy_se OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(pra_infos_local_map, pra_infos) { cJSON *localMapObject = pra_infos_local_map; - if (cJSON_IsObject(pra_infos_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_presence_info_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(pra_infos_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_ue_policy_set_parseFromJSON() failed [pra_infos]"); + ogs_error("OpenAPI_ue_policy_set_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(pra_infosList , localMapKeyPair); + OpenAPI_list_add(pra_infosList, localMapKeyPair); } } @@ -275,7 +275,7 @@ OpenAPI_ue_policy_set_t *OpenAPI_ue_policy_set_parseFromJSON(cJSON *ue_policy_se ogs_error("OpenAPI_ue_policy_set_parseFromJSON() failed [subsc_cats]"); goto end; } - OpenAPI_list_add(subsc_catsList , ogs_strdup(subsc_cats_local->valuestring)); + OpenAPI_list_add(subsc_catsList, ogs_strdup(subsc_cats_local->valuestring)); } } @@ -292,16 +292,16 @@ OpenAPI_ue_policy_set_t *OpenAPI_ue_policy_set_parseFromJSON(cJSON *ue_policy_se OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(ue_policy_sections_local_map, ue_policy_sections) { cJSON *localMapObject = ue_policy_sections_local_map; - if (cJSON_IsObject(ue_policy_sections_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_ue_policy_section_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(ue_policy_sections_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_ue_policy_set_parseFromJSON() failed [ue_policy_sections]"); + ogs_error("OpenAPI_ue_policy_set_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(ue_policy_sectionsList , localMapKeyPair); + OpenAPI_list_add(ue_policy_sectionsList, localMapKeyPair); } } @@ -321,7 +321,7 @@ OpenAPI_ue_policy_set_t *OpenAPI_ue_policy_set_parseFromJSON(cJSON *ue_policy_se ogs_error("OpenAPI_ue_policy_set_parseFromJSON() failed [upsis]"); goto end; } - OpenAPI_list_add(upsisList , ogs_strdup(upsis_local->valuestring)); + OpenAPI_list_add(upsisList, ogs_strdup(upsis_local->valuestring)); } } @@ -338,16 +338,16 @@ OpenAPI_ue_policy_set_t *OpenAPI_ue_policy_set_parseFromJSON(cJSON *ue_policy_se OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(allowed_route_sel_descs_local_map, allowed_route_sel_descs) { cJSON *localMapObject = allowed_route_sel_descs_local_map; - if (cJSON_IsObject(allowed_route_sel_descs_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_plmn_route_selection_descriptor_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(allowed_route_sel_descs_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_ue_policy_set_parseFromJSON() failed [allowed_route_sel_descs]"); + ogs_error("OpenAPI_ue_policy_set_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(allowed_route_sel_descsList , localMapKeyPair); + OpenAPI_list_add(allowed_route_sel_descsList, localMapKeyPair); } } @@ -385,7 +385,7 @@ OpenAPI_ue_policy_set_t *OpenAPI_ue_policy_set_parseFromJSON(cJSON *ue_policy_se ogs_error("OpenAPI_ue_policy_set_parseFromJSON() failed [os_ids]"); goto end; } - OpenAPI_list_add(os_idsList , ogs_strdup(os_ids_local->valuestring)); + OpenAPI_list_add(os_idsList, ogs_strdup(os_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/ue_policy_set_patch.c b/lib/sbi/openapi/model/ue_policy_set_patch.c index 572135273..290dde049 100644 --- a/lib/sbi/openapi/model/ue_policy_set_patch.c +++ b/lib/sbi/openapi/model/ue_policy_set_patch.c @@ -76,10 +76,10 @@ cJSON *OpenAPI_ue_policy_set_patch_convertToJSON(OpenAPI_ue_policy_set_patch_t * OpenAPI_ue_policy_section_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_ue_policy_set_patch_convertToJSON() failed [ue_policy_sections]"); + ogs_error("OpenAPI_ue_policy_set_patch_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(ue_policy_sections, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -150,16 +150,16 @@ OpenAPI_ue_policy_set_patch_t *OpenAPI_ue_policy_set_patch_parseFromJSON(cJSON * OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(ue_policy_sections_local_map, ue_policy_sections) { cJSON *localMapObject = ue_policy_sections_local_map; - if (cJSON_IsObject(ue_policy_sections_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_ue_policy_section_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(ue_policy_sections_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_ue_policy_set_patch_parseFromJSON() failed [ue_policy_sections]"); + ogs_error("OpenAPI_ue_policy_set_patch_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(ue_policy_sectionsList , localMapKeyPair); + OpenAPI_list_add(ue_policy_sectionsList, localMapKeyPair); } } @@ -179,7 +179,7 @@ OpenAPI_ue_policy_set_patch_t *OpenAPI_ue_policy_set_patch_parseFromJSON(cJSON * ogs_error("OpenAPI_ue_policy_set_patch_parseFromJSON() failed [upsis]"); goto end; } - OpenAPI_list_add(upsisList , ogs_strdup(upsis_local->valuestring)); + OpenAPI_list_add(upsisList, ogs_strdup(upsis_local->valuestring)); } } @@ -217,7 +217,7 @@ OpenAPI_ue_policy_set_patch_t *OpenAPI_ue_policy_set_patch_parseFromJSON(cJSON * ogs_error("OpenAPI_ue_policy_set_patch_parseFromJSON() failed [os_ids]"); goto end; } - OpenAPI_list_add(os_idsList , ogs_strdup(os_ids_local->valuestring)); + OpenAPI_list_add(os_idsList, ogs_strdup(os_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/ue_reg_status_update_req_data.c b/lib/sbi/openapi/model/ue_reg_status_update_req_data.c index 295d0c9cb..23c57d3f9 100644 --- a/lib/sbi/openapi/model/ue_reg_status_update_req_data.c +++ b/lib/sbi/openapi/model/ue_reg_status_update_req_data.c @@ -135,7 +135,7 @@ OpenAPI_ue_reg_status_update_req_data_t *OpenAPI_ue_reg_status_update_req_data_p ogs_error("OpenAPI_ue_reg_status_update_req_data_parseFromJSON() failed [to_release_session_list]"); goto end; } - OpenAPI_list_add(to_release_session_listList , &to_release_session_list_local->valuedouble); + OpenAPI_list_add(to_release_session_listList, &to_release_session_list_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/upf_cond.c b/lib/sbi/openapi/model/upf_cond.c index a8cf94544..38733c4d2 100644 --- a/lib/sbi/openapi/model/upf_cond.c +++ b/lib/sbi/openapi/model/upf_cond.c @@ -147,7 +147,7 @@ OpenAPI_upf_cond_t *OpenAPI_upf_cond_parseFromJSON(cJSON *upf_condJSON) ogs_error("OpenAPI_upf_cond_parseFromJSON() failed [smf_serving_area]"); goto end; } - OpenAPI_list_add(smf_serving_areaList , ogs_strdup(smf_serving_area_local->valuestring)); + OpenAPI_list_add(smf_serving_areaList, ogs_strdup(smf_serving_area_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/upf_info.c b/lib/sbi/openapi/model/upf_info.c index c8f8cb28b..385590aaf 100644 --- a/lib/sbi/openapi/model/upf_info.c +++ b/lib/sbi/openapi/model/upf_info.c @@ -333,7 +333,7 @@ OpenAPI_upf_info_t *OpenAPI_upf_info_parseFromJSON(cJSON *upf_infoJSON) ogs_error("OpenAPI_upf_info_parseFromJSON() failed [smf_serving_area]"); goto end; } - OpenAPI_list_add(smf_serving_areaList , ogs_strdup(smf_serving_area_local->valuestring)); + OpenAPI_list_add(smf_serving_areaList, ogs_strdup(smf_serving_area_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/usage_mon_data.c b/lib/sbi/openapi/model/usage_mon_data.c index 33e5915a8..2d52c4738 100644 --- a/lib/sbi/openapi/model/usage_mon_data.c +++ b/lib/sbi/openapi/model/usage_mon_data.c @@ -77,10 +77,10 @@ cJSON *OpenAPI_usage_mon_data_convertToJSON(OpenAPI_usage_mon_data_t *usage_mon_ OpenAPI_usage_mon_data_scope_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_usage_mon_data_convertToJSON() failed [scopes]"); + ogs_error("OpenAPI_usage_mon_data_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(scopes, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -162,16 +162,16 @@ OpenAPI_usage_mon_data_t *OpenAPI_usage_mon_data_parseFromJSON(cJSON *usage_mon_ OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(scopes_local_map, scopes) { cJSON *localMapObject = scopes_local_map; - if (cJSON_IsObject(scopes_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_usage_mon_data_scope_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(scopes_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_usage_mon_data_parseFromJSON() failed [scopes]"); + ogs_error("OpenAPI_usage_mon_data_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(scopesList , localMapKeyPair); + OpenAPI_list_add(scopesList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/usage_mon_data_limit.c b/lib/sbi/openapi/model/usage_mon_data_limit.c index 0fcd90b57..b99e4c9e0 100644 --- a/lib/sbi/openapi/model/usage_mon_data_limit.c +++ b/lib/sbi/openapi/model/usage_mon_data_limit.c @@ -80,10 +80,10 @@ cJSON *OpenAPI_usage_mon_data_limit_convertToJSON(OpenAPI_usage_mon_data_limit_t OpenAPI_usage_mon_data_scope_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); if (itemLocal == NULL) { - ogs_error("OpenAPI_usage_mon_data_limit_convertToJSON() failed [scopes]"); + ogs_error("OpenAPI_usage_mon_data_limit_convertToJSON() failed [inner]"); goto end; } - cJSON_AddItemToObject(scopes, localKeyValue->key, itemLocal); + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); } } } @@ -166,16 +166,16 @@ OpenAPI_usage_mon_data_limit_t *OpenAPI_usage_mon_data_limit_parseFromJSON(cJSON OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach(scopes_local_map, scopes) { cJSON *localMapObject = scopes_local_map; - if (cJSON_IsObject(scopes_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_usage_mon_data_scope_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull(scopes_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { - ogs_error("OpenAPI_usage_mon_data_limit_parseFromJSON() failed [scopes]"); + ogs_error("OpenAPI_usage_mon_data_limit_parseFromJSON() failed [inner]"); goto end; } - OpenAPI_list_add(scopesList , localMapKeyPair); + OpenAPI_list_add(scopesList, localMapKeyPair); } } diff --git a/lib/sbi/openapi/model/usage_mon_data_scope.c b/lib/sbi/openapi/model/usage_mon_data_scope.c index ae9554c65..d4e833042 100644 --- a/lib/sbi/openapi/model/usage_mon_data_scope.c +++ b/lib/sbi/openapi/model/usage_mon_data_scope.c @@ -101,7 +101,7 @@ OpenAPI_usage_mon_data_scope_t *OpenAPI_usage_mon_data_scope_parseFromJSON(cJSON ogs_error("OpenAPI_usage_mon_data_scope_parseFromJSON() failed [dnn]"); goto end; } - OpenAPI_list_add(dnnList , ogs_strdup(dnn_local->valuestring)); + OpenAPI_list_add(dnnList, ogs_strdup(dnn_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/usage_monitoring_data.c b/lib/sbi/openapi/model/usage_monitoring_data.c index 2237a1c25..4c8e14378 100644 --- a/lib/sbi/openapi/model/usage_monitoring_data.c +++ b/lib/sbi/openapi/model/usage_monitoring_data.c @@ -296,7 +296,7 @@ OpenAPI_usage_monitoring_data_t *OpenAPI_usage_monitoring_data_parseFromJSON(cJS ogs_error("OpenAPI_usage_monitoring_data_parseFromJSON() failed [ex_usage_pcc_rule_ids]"); goto end; } - OpenAPI_list_add(ex_usage_pcc_rule_idsList , ogs_strdup(ex_usage_pcc_rule_ids_local->valuestring)); + OpenAPI_list_add(ex_usage_pcc_rule_idsList, ogs_strdup(ex_usage_pcc_rule_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/vsmf_update_data.c b/lib/sbi/openapi/model/vsmf_update_data.c index 510d5dac4..32fa792dd 100644 --- a/lib/sbi/openapi/model/vsmf_update_data.c +++ b/lib/sbi/openapi/model/vsmf_update_data.c @@ -588,7 +588,7 @@ OpenAPI_vsmf_update_data_t *OpenAPI_vsmf_update_data_parseFromJSON(cJSON *vsmf_u ogs_error("OpenAPI_vsmf_update_data_parseFromJSON() failed [revoke_ebi_list]"); goto end; } - OpenAPI_list_add(revoke_ebi_listList , &revoke_ebi_list_local->valuedouble); + OpenAPI_list_add(revoke_ebi_listList, &revoke_ebi_list_local->valuedouble); } } @@ -736,7 +736,7 @@ OpenAPI_vsmf_update_data_t *OpenAPI_vsmf_update_data_parseFromJSON(cJSON *vsmf_u ogs_error("OpenAPI_vsmf_update_data_parseFromJSON() failed [dnai_list]"); goto end; } - OpenAPI_list_add(dnai_listList , ogs_strdup(dnai_list_local->valuestring)); + OpenAPI_list_add(dnai_listList, ogs_strdup(dnai_list_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/vsmf_updated_data.c b/lib/sbi/openapi/model/vsmf_updated_data.c index 2f520cd67..c17731906 100644 --- a/lib/sbi/openapi/model/vsmf_updated_data.c +++ b/lib/sbi/openapi/model/vsmf_updated_data.c @@ -619,7 +619,7 @@ OpenAPI_vsmf_updated_data_t *OpenAPI_vsmf_updated_data_parseFromJSON(cJSON *vsmf ogs_error("OpenAPI_vsmf_updated_data_parseFromJSON() failed [released_ebi_list]"); goto end; } - OpenAPI_list_add(released_ebi_listList , &released_ebi_list_local->valuedouble); + OpenAPI_list_add(released_ebi_listList, &released_ebi_list_local->valuedouble); } } diff --git a/lib/sbi/openapi/model/w_agf_info.c b/lib/sbi/openapi/model/w_agf_info.c index ffe12c931..86335c2ad 100644 --- a/lib/sbi/openapi/model/w_agf_info.c +++ b/lib/sbi/openapi/model/w_agf_info.c @@ -110,7 +110,7 @@ OpenAPI_w_agf_info_t *OpenAPI_w_agf_info_parseFromJSON(cJSON *w_agf_infoJSON) ogs_error("OpenAPI_w_agf_info_parseFromJSON() failed [ipv4_endpoint_addresses]"); goto end; } - OpenAPI_list_add(ipv4_endpoint_addressesList , ogs_strdup(ipv4_endpoint_addresses_local->valuestring)); + OpenAPI_list_add(ipv4_endpoint_addressesList, ogs_strdup(ipv4_endpoint_addresses_local->valuestring)); } } @@ -130,7 +130,7 @@ OpenAPI_w_agf_info_t *OpenAPI_w_agf_info_parseFromJSON(cJSON *w_agf_infoJSON) ogs_error("OpenAPI_w_agf_info_parseFromJSON() failed [ipv6_endpoint_addresses]"); goto end; } - OpenAPI_list_add(ipv6_endpoint_addressesList , ogs_strdup(ipv6_endpoint_addresses_local->valuestring)); + OpenAPI_list_add(ipv6_endpoint_addressesList, ogs_strdup(ipv6_endpoint_addresses_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/wireline_area.c b/lib/sbi/openapi/model/wireline_area.c index 0c0d3b9ce..16b47ddec 100644 --- a/lib/sbi/openapi/model/wireline_area.c +++ b/lib/sbi/openapi/model/wireline_area.c @@ -120,7 +120,7 @@ OpenAPI_wireline_area_t *OpenAPI_wireline_area_parseFromJSON(cJSON *wireline_are ogs_error("OpenAPI_wireline_area_parseFromJSON() failed [global_line_ids]"); goto end; } - OpenAPI_list_add(global_line_idsList , ogs_strdup(global_line_ids_local->valuestring)); + OpenAPI_list_add(global_line_idsList, ogs_strdup(global_line_ids_local->valuestring)); } } @@ -140,7 +140,7 @@ OpenAPI_wireline_area_t *OpenAPI_wireline_area_parseFromJSON(cJSON *wireline_are ogs_error("OpenAPI_wireline_area_parseFromJSON() failed [hfc_n_ids]"); goto end; } - OpenAPI_list_add(hfc_n_idsList , ogs_strdup(hfc_n_ids_local->valuestring)); + OpenAPI_list_add(hfc_n_idsList, ogs_strdup(hfc_n_ids_local->valuestring)); } } diff --git a/lib/sbi/openapi/model/wireline_area_1.c b/lib/sbi/openapi/model/wireline_area_1.c index eacf4edbc..23f0450c4 100644 --- a/lib/sbi/openapi/model/wireline_area_1.c +++ b/lib/sbi/openapi/model/wireline_area_1.c @@ -120,7 +120,7 @@ OpenAPI_wireline_area_1_t *OpenAPI_wireline_area_1_parseFromJSON(cJSON *wireline ogs_error("OpenAPI_wireline_area_1_parseFromJSON() failed [global_line_ids]"); goto end; } - OpenAPI_list_add(global_line_idsList , ogs_strdup(global_line_ids_local->valuestring)); + OpenAPI_list_add(global_line_idsList, ogs_strdup(global_line_ids_local->valuestring)); } } @@ -140,7 +140,7 @@ OpenAPI_wireline_area_1_t *OpenAPI_wireline_area_1_parseFromJSON(cJSON *wireline ogs_error("OpenAPI_wireline_area_1_parseFromJSON() failed [hfc_n_ids]"); goto end; } - OpenAPI_list_add(hfc_n_idsList , ogs_strdup(hfc_n_ids_local->valuestring)); + OpenAPI_list_add(hfc_n_idsList, ogs_strdup(hfc_n_ids_local->valuestring)); } } diff --git a/lib/sbi/support/20210629/README.md b/lib/sbi/support/r16-20210629-openapitools-5.2.0/README.md similarity index 100% rename from lib/sbi/support/20210629/README.md rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/README.md diff --git a/lib/sbi/support/20210629/generator.sh b/lib/sbi/support/r16-20210629-openapitools-5.2.0/generator.sh similarity index 100% rename from lib/sbi/support/20210629/generator.sh rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/generator.sh diff --git a/lib/sbi/support/20210629/modified/TS29122_CommonData.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29122_CommonData.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29122_CommonData.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29122_CommonData.yaml diff --git a/lib/sbi/support/20210629/modified/TS29122_PfdManagement.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29122_PfdManagement.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29122_PfdManagement.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29122_PfdManagement.yaml diff --git a/lib/sbi/support/20210629/modified/TS29122_ResourceManagementOfBdt.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29122_ResourceManagementOfBdt.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29122_ResourceManagementOfBdt.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29122_ResourceManagementOfBdt.yaml diff --git a/lib/sbi/support/20210629/modified/TS29502_Nsmf_PDUSession.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29502_Nsmf_PDUSession.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29502_Nsmf_PDUSession.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29502_Nsmf_PDUSession.yaml diff --git a/lib/sbi/support/20210629/modified/TS29503_Nudm_EE.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_EE.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29503_Nudm_EE.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_EE.yaml diff --git a/lib/sbi/support/20210629/modified/TS29503_Nudm_NIDDAU.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_NIDDAU.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29503_Nudm_NIDDAU.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_NIDDAU.yaml diff --git a/lib/sbi/support/20210629/modified/TS29503_Nudm_PP.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_PP.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29503_Nudm_PP.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_PP.yaml diff --git a/lib/sbi/support/20210629/modified/TS29503_Nudm_SDM.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_SDM.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29503_Nudm_SDM.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_SDM.yaml diff --git a/lib/sbi/support/20210629/modified/TS29503_Nudm_UEAU.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_UEAU.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29503_Nudm_UEAU.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_UEAU.yaml diff --git a/lib/sbi/support/20210629/modified/TS29503_Nudm_UECM.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_UECM.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29503_Nudm_UECM.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29503_Nudm_UECM.yaml diff --git a/lib/sbi/support/20210629/modified/TS29504_Nudr_DR.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29504_Nudr_DR.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29504_Nudr_DR.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29504_Nudr_DR.yaml diff --git a/lib/sbi/support/20210629/modified/TS29505_Subscription_Data.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29505_Subscription_Data.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29505_Subscription_Data.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29505_Subscription_Data.yaml diff --git a/lib/sbi/support/20210629/modified/TS29507_Npcf_AMPolicyControl.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29507_Npcf_AMPolicyControl.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29507_Npcf_AMPolicyControl.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29507_Npcf_AMPolicyControl.yaml diff --git a/lib/sbi/support/20210629/modified/TS29509_Nausf_SoRProtection.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29509_Nausf_SoRProtection.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29509_Nausf_SoRProtection.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29509_Nausf_SoRProtection.yaml diff --git a/lib/sbi/support/20210629/modified/TS29509_Nausf_UEAuthentication.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29509_Nausf_UEAuthentication.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29509_Nausf_UEAuthentication.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29509_Nausf_UEAuthentication.yaml diff --git a/lib/sbi/support/20210629/modified/TS29509_Nausf_UPUProtection.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29509_Nausf_UPUProtection.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29509_Nausf_UPUProtection.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29509_Nausf_UPUProtection.yaml diff --git a/lib/sbi/support/20210629/modified/TS29510_Nnrf_AccessToken.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29510_Nnrf_AccessToken.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29510_Nnrf_AccessToken.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29510_Nnrf_AccessToken.yaml diff --git a/lib/sbi/support/20210629/modified/TS29510_Nnrf_NFDiscovery.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29510_Nnrf_NFDiscovery.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29510_Nnrf_NFDiscovery.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29510_Nnrf_NFDiscovery.yaml diff --git a/lib/sbi/support/20210629/modified/TS29510_Nnrf_NFManagement.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29510_Nnrf_NFManagement.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29510_Nnrf_NFManagement.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29510_Nnrf_NFManagement.yaml diff --git a/lib/sbi/support/20210629/modified/TS29512_Npcf_SMPolicyControl.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29512_Npcf_SMPolicyControl.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29512_Npcf_SMPolicyControl.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29512_Npcf_SMPolicyControl.yaml diff --git a/lib/sbi/support/20210629/modified/TS29514_Npcf_PolicyAuthorization.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29514_Npcf_PolicyAuthorization.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29514_Npcf_PolicyAuthorization.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29514_Npcf_PolicyAuthorization.yaml diff --git a/lib/sbi/support/20210629/modified/TS29517_Naf_EventExposure.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29517_Naf_EventExposure.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29517_Naf_EventExposure.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29517_Naf_EventExposure.yaml diff --git a/lib/sbi/support/20210629/modified/TS29518_Namf_Communication.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29518_Namf_Communication.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29518_Namf_Communication.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29518_Namf_Communication.yaml diff --git a/lib/sbi/support/20210629/modified/TS29518_Namf_EventExposure.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29518_Namf_EventExposure.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29518_Namf_EventExposure.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29518_Namf_EventExposure.yaml diff --git a/lib/sbi/support/20210629/modified/TS29519_Application_Data.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29519_Application_Data.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29519_Application_Data.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29519_Application_Data.yaml diff --git a/lib/sbi/support/20210629/modified/TS29519_Exposure_Data.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29519_Exposure_Data.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29519_Exposure_Data.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29519_Exposure_Data.yaml diff --git a/lib/sbi/support/20210629/modified/TS29519_Policy_Data.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29519_Policy_Data.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29519_Policy_Data.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29519_Policy_Data.yaml diff --git a/lib/sbi/support/20210629/modified/TS29520_Nnwdaf_AnalyticsInfo.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29520_Nnwdaf_AnalyticsInfo.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29520_Nnwdaf_AnalyticsInfo.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29520_Nnwdaf_AnalyticsInfo.yaml diff --git a/lib/sbi/support/20210629/modified/TS29520_Nnwdaf_EventsSubscription.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29520_Nnwdaf_EventsSubscription.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29520_Nnwdaf_EventsSubscription.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29520_Nnwdaf_EventsSubscription.yaml diff --git a/lib/sbi/support/20210629/modified/TS29521_Nbsf_Management.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29521_Nbsf_Management.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29521_Nbsf_Management.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29521_Nbsf_Management.yaml diff --git a/lib/sbi/support/20210629/modified/TS29522_IPTVConfiguration.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29522_IPTVConfiguration.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29522_IPTVConfiguration.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29522_IPTVConfiguration.yaml diff --git a/lib/sbi/support/20210629/modified/TS29522_ServiceParameter.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29522_ServiceParameter.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29522_ServiceParameter.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29522_ServiceParameter.yaml diff --git a/lib/sbi/support/20210629/modified/TS29522_TrafficInfluence.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29522_TrafficInfluence.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29522_TrafficInfluence.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29522_TrafficInfluence.yaml diff --git a/lib/sbi/support/20210629/modified/TS29531_Nnssf_NSSelection.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29531_Nnssf_NSSelection.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29531_Nnssf_NSSelection.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29531_Nnssf_NSSelection.yaml diff --git a/lib/sbi/support/20210629/modified/TS29544_Nspaf_SecuredPacket.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29544_Nspaf_SecuredPacket.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29544_Nspaf_SecuredPacket.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29544_Nspaf_SecuredPacket.yaml diff --git a/lib/sbi/support/20210629/modified/TS29551_Nnef_PFDmanagement.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29551_Nnef_PFDmanagement.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29551_Nnef_PFDmanagement.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29551_Nnef_PFDmanagement.yaml diff --git a/lib/sbi/support/20210629/modified/TS29554_Npcf_BDTPolicyControl.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29554_Npcf_BDTPolicyControl.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29554_Npcf_BDTPolicyControl.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29554_Npcf_BDTPolicyControl.yaml diff --git a/lib/sbi/support/20210629/modified/TS29571_CommonData.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29571_CommonData.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29571_CommonData.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29571_CommonData.yaml diff --git a/lib/sbi/support/20210629/modified/TS29572_Nlmf_Location.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29572_Nlmf_Location.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS29572_Nlmf_Location.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS29572_Nlmf_Location.yaml diff --git a/lib/sbi/support/20210629/modified/TS32291_Nchf_ConvergedCharging.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS32291_Nchf_ConvergedCharging.yaml similarity index 100% rename from lib/sbi/support/20210629/modified/TS32291_Nchf_ConvergedCharging.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/modified/TS32291_Nchf_ConvergedCharging.yaml diff --git a/lib/sbi/support/20210629/openapi-generator/VERSION b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/VERSION similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/VERSION rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/VERSION diff --git a/lib/sbi/support/20210629/openapi-generator/config.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/config.yaml similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/config.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/config.yaml diff --git a/lib/sbi/support/20210629/openapi-generator/templates/any_type.c b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/any_type.c similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/any_type.c rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/any_type.c diff --git a/lib/sbi/support/20210629/openapi-generator/templates/any_type.h b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/any_type.h similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/any_type.h rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/any_type.h diff --git a/lib/sbi/support/20210629/openapi-generator/templates/apiKey.c.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/apiKey.c.mustache similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/apiKey.c.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/apiKey.c.mustache diff --git a/lib/sbi/support/20210629/openapi-generator/templates/binary.c.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/binary.c.mustache similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/binary.c.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/binary.c.mustache diff --git a/lib/sbi/support/20210629/openapi-generator/templates/binary.h.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/binary.h.mustache similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/binary.h.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/binary.h.mustache diff --git a/lib/sbi/support/20210629/openapi-generator/templates/cJSON.c.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/cJSON.c.mustache similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/cJSON.c.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/cJSON.c.mustache diff --git a/lib/sbi/support/20210629/openapi-generator/templates/cJSON.h.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/cJSON.h.mustache similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/cJSON.h.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/cJSON.h.mustache diff --git a/lib/sbi/support/20210629/openapi-generator/templates/keyValuePair.h.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/keyValuePair.h.mustache similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/keyValuePair.h.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/keyValuePair.h.mustache diff --git a/lib/sbi/support/20210629/openapi-generator/templates/list.c.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/list.c.mustache similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/list.c.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/list.c.mustache diff --git a/lib/sbi/support/20210629/openapi-generator/templates/list.h.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/list.h.mustache similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/list.h.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/list.h.mustache diff --git a/lib/sbi/support/20210629/openapi-generator/templates/model-body.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/model-body.mustache similarity index 97% rename from lib/sbi/support/20210629/openapi-generator/templates/model-body.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/model-body.mustache index 3eb598cc5..4619235ea 100644 --- a/lib/sbi/support/20210629/openapi-generator/templates/model-body.mustache +++ b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/model-body.mustache @@ -427,20 +427,20 @@ cJSON *OpenAPI_{{classname}}_convertToJSON(OpenAPI_{{classname}}_t *{{classname} OpenAPI_lnode_t *{{{name}}}_node; OpenAPI_list_for_each({{{classname}}}->{{{name}}}, {{{name}}}_node) { - {{#items}} - {{#isString}} + {{#items}} + {{#isString}} if (cJSON_AddStringToObject({{{name}}}, "", (char*){{{name}}}_node->data) == NULL) { ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); goto end; } - {{/isString}} - {{#isBoolean}} + {{/isString}} + {{#isBoolean}} if (cJSON_AddBoolToObject({{{name}}}, "", *(cJSON_bool *){{{name}}}_node->data) == NULL) { ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); goto end; } - {{/isBoolean}} - {{#isNumeric}} + {{/isBoolean}} + {{#isNumeric}} if (cJSON_AddNumberToObject({{{name}}}, "", *(double *){{{name}}}_node->data) == NULL) { ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); goto end; @@ -506,27 +506,28 @@ cJSON *OpenAPI_{{classname}}_convertToJSON(OpenAPI_{{classname}}_t *{{classname} if ({{{classname}}}->{{{name}}}) { OpenAPI_list_for_each({{{classname}}}->{{{name}}}, {{{name}}}_node) { OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*){{{name}}}_node->data; - {{#isPrimitiveType}} - {{#isString}} + {{#items}} + {{#isPrimitiveType}} + {{#isString}} if (cJSON_AddStringToObject(localMapObject, localKeyValue->key, (char*)localKeyValue->value) == NULL) { ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); goto end; } - {{/isString}} - {{#isNumeric}} + {{/isString}} + {{#isNumeric}} if (cJSON_AddNumberToObject(localMapObject, localKeyValue->key, *(double *)localKeyValue->value) == NULL) { ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); goto end; } - {{/isNumeric}} - {{#isBoolean}} + {{/isNumeric}} + {{#isBoolean}} if (cJSON_AddBoolToObject(localMapObject, localKeyValue->key, *(cJSON_bool *)localKeyValue->value) == NULL) { ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); goto end; } - {{/isBoolean}} - {{/isPrimitiveType}} - {{^isPrimitiveType}} + {{/isBoolean}} + {{/isPrimitiveType}} + {{^isPrimitiveType}} cJSON *itemLocal = localKeyValue->value ? OpenAPI_{{complexType}}_convertToJSON(localKeyValue->value) : cJSON_CreateNull(); @@ -534,8 +535,9 @@ cJSON *OpenAPI_{{classname}}_convertToJSON(OpenAPI_{{classname}}_t *{{classname} ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); goto end; } - cJSON_AddItemToObject({{{name}}}, localKeyValue->key, itemLocal); - {{/isPrimitiveType}} + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); + {{/isPrimitiveType}} + {{/items}} } } {{/isMap}} @@ -728,21 +730,21 @@ OpenAPI_{{classname}}_t *OpenAPI_{{classname}}_parseFromJSON(cJSON *{{classname} ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); goto end; } - OpenAPI_list_add({{{name}}}List , ogs_strdup({{{name}}}_local->valuestring)); + OpenAPI_list_add({{{name}}}List, ogs_strdup({{{name}}}_local->valuestring)); {{/isString}} {{#isNumeric}} if (!cJSON_IsNumber({{{name}}}_local)) { ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); goto end; } - OpenAPI_list_add({{{name}}}List , &{{{name}}}_local->valuedouble); + OpenAPI_list_add({{{name}}}List, &{{{name}}}_local->valuedouble); {{/isNumeric}} {{#isBoolean}} if (!cJSON_IsBool({{{name}}}_local)) { ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); goto end; } - OpenAPI_list_add({{{name}}}List , {{{name}}}_local->valueint); + OpenAPI_list_add({{{name}}}List, {{{name}}}_local->valueint); {{/isBoolean}} {{/items}} } @@ -818,6 +820,7 @@ OpenAPI_{{classname}}_t *OpenAPI_{{classname}}_parseFromJSON(cJSON *{{classname} OpenAPI_map_t *localMapKeyPair = NULL; cJSON_ArrayForEach({{{name}}}_local_map, {{{name}}}) { cJSON *localMapObject = {{{name}}}_local_map; + {{#items}} {{#isPrimitiveType}} {{#isString}} if (!cJSON_IsString(localMapObject)) { @@ -842,17 +845,18 @@ OpenAPI_{{classname}}_t *OpenAPI_{{classname}}_parseFromJSON(cJSON *{{classname} {{/isNumeric}} {{/isPrimitiveType}} {{^isPrimitiveType}} - if (cJSON_IsObject({{{name}}}_local_map)) { + if (cJSON_IsObject(localMapObject)) { localMapKeyPair = OpenAPI_map_create( ogs_strdup(localMapObject->string), OpenAPI_{{complexType}}_parseFromJSON(localMapObject)); - } else if (cJSON_IsNull({{{name}}}_local_map)) { + } else if (cJSON_IsNull(localMapObject)) { localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); } else { ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); goto end; } {{/isPrimitiveType}} - OpenAPI_list_add({{{name}}}List , localMapKeyPair); + {{/items}} + OpenAPI_list_add({{{name}}}List, localMapKeyPair); } {{/isMap}} {{/isContainer}} diff --git a/lib/sbi/support/20210629/openapi-generator/templates/model-header.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/model-header.mustache similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/model-header.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/model-header.mustache diff --git a/lib/sbi/support/20210629/openapi-generator/templates/object-body.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/object-body.mustache similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/object-body.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/object-body.mustache diff --git a/lib/sbi/support/20210629/openapi-generator/templates/object-header.mustache b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/object-header.mustache similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/templates/object-header.mustache rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/templates/object-header.mustache diff --git a/lib/sbi/support/20210629/openapi-generator/uncrustify-rules.cfg b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/uncrustify-rules.cfg similarity index 100% rename from lib/sbi/support/20210629/openapi-generator/uncrustify-rules.cfg rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapi-generator/uncrustify-rules.cfg diff --git a/lib/sbi/support/20210629/openapitools.json b/lib/sbi/support/r16-20210629-openapitools-5.2.0/openapitools.json similarity index 100% rename from lib/sbi/support/20210629/openapitools.json rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/openapitools.json diff --git a/lib/sbi/support/20210629/standard/TS29122_AsSessionWithQoS.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_AsSessionWithQoS.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_AsSessionWithQoS.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_AsSessionWithQoS.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_ChargeableParty.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_ChargeableParty.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_ChargeableParty.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_ChargeableParty.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_CommonData.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_CommonData.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_CommonData.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_CommonData.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_CpProvisioning.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_CpProvisioning.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_CpProvisioning.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_CpProvisioning.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_DeviceTriggering.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_DeviceTriggering.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_DeviceTriggering.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_DeviceTriggering.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_ECRControl.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_ECRControl.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_ECRControl.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_ECRControl.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_GMDviaMBMSbyMB2.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_GMDviaMBMSbyMB2.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_GMDviaMBMSbyMB2.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_GMDviaMBMSbyMB2.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_GMDviaMBMSbyxMB.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_GMDviaMBMSbyxMB.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_GMDviaMBMSbyxMB.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_GMDviaMBMSbyxMB.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_MonitoringEvent.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_MonitoringEvent.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_MonitoringEvent.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_MonitoringEvent.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_MsisdnLessMoSms.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_MsisdnLessMoSms.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_MsisdnLessMoSms.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_MsisdnLessMoSms.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_NIDD.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_NIDD.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_NIDD.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_NIDD.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_NpConfiguration.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_NpConfiguration.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_NpConfiguration.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_NpConfiguration.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_PfdManagement.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_PfdManagement.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_PfdManagement.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_PfdManagement.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_RacsParameterProvisioning.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_RacsParameterProvisioning.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_RacsParameterProvisioning.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_RacsParameterProvisioning.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_ReportingNetworkStatus.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_ReportingNetworkStatus.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_ReportingNetworkStatus.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_ReportingNetworkStatus.yaml diff --git a/lib/sbi/support/20210629/standard/TS29122_ResourceManagementOfBdt.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_ResourceManagementOfBdt.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29122_ResourceManagementOfBdt.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29122_ResourceManagementOfBdt.yaml diff --git a/lib/sbi/support/20210629/standard/TS29502_Nsmf_PDUSession.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29502_Nsmf_PDUSession.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29502_Nsmf_PDUSession.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29502_Nsmf_PDUSession.yaml diff --git a/lib/sbi/support/20210629/standard/TS29503_Nudm_EE.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_EE.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29503_Nudm_EE.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_EE.yaml diff --git a/lib/sbi/support/20210629/standard/TS29503_Nudm_MT.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_MT.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29503_Nudm_MT.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_MT.yaml diff --git a/lib/sbi/support/20210629/standard/TS29503_Nudm_NIDDAU.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_NIDDAU.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29503_Nudm_NIDDAU.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_NIDDAU.yaml diff --git a/lib/sbi/support/20210629/standard/TS29503_Nudm_PP.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_PP.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29503_Nudm_PP.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_PP.yaml diff --git a/lib/sbi/support/20210629/standard/TS29503_Nudm_SDM.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_SDM.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29503_Nudm_SDM.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_SDM.yaml diff --git a/lib/sbi/support/20210629/standard/TS29503_Nudm_UEAU.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_UEAU.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29503_Nudm_UEAU.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_UEAU.yaml diff --git a/lib/sbi/support/20210629/standard/TS29503_Nudm_UECM.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_UECM.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29503_Nudm_UECM.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29503_Nudm_UECM.yaml diff --git a/lib/sbi/support/20210629/standard/TS29504_Nudr_DR.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29504_Nudr_DR.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29504_Nudr_DR.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29504_Nudr_DR.yaml diff --git a/lib/sbi/support/20210629/standard/TS29504_Nudr_GroupIDmap.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29504_Nudr_GroupIDmap.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29504_Nudr_GroupIDmap.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29504_Nudr_GroupIDmap.yaml diff --git a/lib/sbi/support/20210629/standard/TS29505_Subscription_Data.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29505_Subscription_Data.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29505_Subscription_Data.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29505_Subscription_Data.yaml diff --git a/lib/sbi/support/20210629/standard/TS29507_Npcf_AMPolicyControl.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29507_Npcf_AMPolicyControl.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29507_Npcf_AMPolicyControl.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29507_Npcf_AMPolicyControl.yaml diff --git a/lib/sbi/support/20210629/standard/TS29509_Nausf_SoRProtection.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29509_Nausf_SoRProtection.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29509_Nausf_SoRProtection.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29509_Nausf_SoRProtection.yaml diff --git a/lib/sbi/support/20210629/standard/TS29509_Nausf_UEAuthentication.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29509_Nausf_UEAuthentication.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29509_Nausf_UEAuthentication.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29509_Nausf_UEAuthentication.yaml diff --git a/lib/sbi/support/20210629/standard/TS29509_Nausf_UPUProtection.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29509_Nausf_UPUProtection.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29509_Nausf_UPUProtection.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29509_Nausf_UPUProtection.yaml diff --git a/lib/sbi/support/20210629/standard/TS29510_Nnrf_AccessToken.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29510_Nnrf_AccessToken.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29510_Nnrf_AccessToken.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29510_Nnrf_AccessToken.yaml diff --git a/lib/sbi/support/20210629/standard/TS29510_Nnrf_Bootstrapping.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29510_Nnrf_Bootstrapping.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29510_Nnrf_Bootstrapping.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29510_Nnrf_Bootstrapping.yaml diff --git a/lib/sbi/support/20210629/standard/TS29510_Nnrf_NFDiscovery.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29510_Nnrf_NFDiscovery.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29510_Nnrf_NFDiscovery.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29510_Nnrf_NFDiscovery.yaml diff --git a/lib/sbi/support/20210629/standard/TS29510_Nnrf_NFManagement.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29510_Nnrf_NFManagement.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29510_Nnrf_NFManagement.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29510_Nnrf_NFManagement.yaml diff --git a/lib/sbi/support/20210629/standard/TS29512_Npcf_SMPolicyControl.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29512_Npcf_SMPolicyControl.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29512_Npcf_SMPolicyControl.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29512_Npcf_SMPolicyControl.yaml diff --git a/lib/sbi/support/20210629/standard/TS29514_Npcf_PolicyAuthorization.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29514_Npcf_PolicyAuthorization.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29514_Npcf_PolicyAuthorization.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29514_Npcf_PolicyAuthorization.yaml diff --git a/lib/sbi/support/20210629/standard/TS29517_Naf_EventExposure.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29517_Naf_EventExposure.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29517_Naf_EventExposure.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29517_Naf_EventExposure.yaml diff --git a/lib/sbi/support/20210629/standard/TS29518_Namf_Communication.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29518_Namf_Communication.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29518_Namf_Communication.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29518_Namf_Communication.yaml diff --git a/lib/sbi/support/20210629/standard/TS29518_Namf_EventExposure.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29518_Namf_EventExposure.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29518_Namf_EventExposure.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29518_Namf_EventExposure.yaml diff --git a/lib/sbi/support/20210629/standard/TS29518_Namf_Location.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29518_Namf_Location.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29518_Namf_Location.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29518_Namf_Location.yaml diff --git a/lib/sbi/support/20210629/standard/TS29518_Namf_MT.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29518_Namf_MT.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29518_Namf_MT.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29518_Namf_MT.yaml diff --git a/lib/sbi/support/20210629/standard/TS29519_Application_Data.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29519_Application_Data.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29519_Application_Data.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29519_Application_Data.yaml diff --git a/lib/sbi/support/20210629/standard/TS29519_Exposure_Data.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29519_Exposure_Data.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29519_Exposure_Data.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29519_Exposure_Data.yaml diff --git a/lib/sbi/support/20210629/standard/TS29519_Policy_Data.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29519_Policy_Data.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29519_Policy_Data.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29519_Policy_Data.yaml diff --git a/lib/sbi/support/20210629/standard/TS29520_Nnwdaf_AnalyticsInfo.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29520_Nnwdaf_AnalyticsInfo.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29520_Nnwdaf_AnalyticsInfo.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29520_Nnwdaf_AnalyticsInfo.yaml diff --git a/lib/sbi/support/20210629/standard/TS29520_Nnwdaf_EventsSubscription.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29520_Nnwdaf_EventsSubscription.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29520_Nnwdaf_EventsSubscription.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29520_Nnwdaf_EventsSubscription.yaml diff --git a/lib/sbi/support/20210629/standard/TS29521_Nbsf_Management.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29521_Nbsf_Management.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29521_Nbsf_Management.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29521_Nbsf_Management.yaml diff --git a/lib/sbi/support/20210629/standard/TS29522_5GLANParameterProvision.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_5GLANParameterProvision.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29522_5GLANParameterProvision.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_5GLANParameterProvision.yaml diff --git a/lib/sbi/support/20210629/standard/TS29522_ACSParameterProvision.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_ACSParameterProvision.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29522_ACSParameterProvision.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_ACSParameterProvision.yaml diff --git a/lib/sbi/support/20210629/standard/TS29522_AnalyticsExposure.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_AnalyticsExposure.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29522_AnalyticsExposure.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_AnalyticsExposure.yaml diff --git a/lib/sbi/support/20210629/standard/TS29522_ApplyingBdtPolicy.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_ApplyingBdtPolicy.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29522_ApplyingBdtPolicy.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_ApplyingBdtPolicy.yaml diff --git a/lib/sbi/support/20210629/standard/TS29522_IPTVConfiguration.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_IPTVConfiguration.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29522_IPTVConfiguration.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_IPTVConfiguration.yaml diff --git a/lib/sbi/support/20210629/standard/TS29522_LpiParameterProvision.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_LpiParameterProvision.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29522_LpiParameterProvision.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_LpiParameterProvision.yaml diff --git a/lib/sbi/support/20210629/standard/TS29522_MoLcsNotify.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_MoLcsNotify.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29522_MoLcsNotify.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_MoLcsNotify.yaml diff --git a/lib/sbi/support/20210629/standard/TS29522_NIDDConfigurationTrigger.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_NIDDConfigurationTrigger.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29522_NIDDConfigurationTrigger.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_NIDDConfigurationTrigger.yaml diff --git a/lib/sbi/support/20210629/standard/TS29522_ServiceParameter.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_ServiceParameter.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29522_ServiceParameter.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_ServiceParameter.yaml diff --git a/lib/sbi/support/20210629/standard/TS29522_TrafficInfluence.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_TrafficInfluence.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29522_TrafficInfluence.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29522_TrafficInfluence.yaml diff --git a/lib/sbi/support/20210629/standard/TS29531_Nnssf_NSSAIAvailability.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29531_Nnssf_NSSAIAvailability.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29531_Nnssf_NSSAIAvailability.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29531_Nnssf_NSSAIAvailability.yaml diff --git a/lib/sbi/support/20210629/standard/TS29531_Nnssf_NSSelection.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29531_Nnssf_NSSelection.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29531_Nnssf_NSSelection.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29531_Nnssf_NSSelection.yaml diff --git a/lib/sbi/support/20210629/standard/TS29544_Nspaf_SecuredPacket.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29544_Nspaf_SecuredPacket.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29544_Nspaf_SecuredPacket.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29544_Nspaf_SecuredPacket.yaml diff --git a/lib/sbi/support/20210629/standard/TS29551_Nnef_PFDmanagement.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29551_Nnef_PFDmanagement.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29551_Nnef_PFDmanagement.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29551_Nnef_PFDmanagement.yaml diff --git a/lib/sbi/support/20210629/standard/TS29554_Npcf_BDTPolicyControl.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29554_Npcf_BDTPolicyControl.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29554_Npcf_BDTPolicyControl.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29554_Npcf_BDTPolicyControl.yaml diff --git a/lib/sbi/support/20210629/standard/TS29571_CommonData.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29571_CommonData.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29571_CommonData.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29571_CommonData.yaml diff --git a/lib/sbi/support/20210629/standard/TS29572_Nlmf_Broadcast.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29572_Nlmf_Broadcast.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29572_Nlmf_Broadcast.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29572_Nlmf_Broadcast.yaml diff --git a/lib/sbi/support/20210629/standard/TS29572_Nlmf_Location.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29572_Nlmf_Location.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS29572_Nlmf_Location.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS29572_Nlmf_Location.yaml diff --git a/lib/sbi/support/20210629/standard/TS32291_Nchf_ConvergedCharging.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS32291_Nchf_ConvergedCharging.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS32291_Nchf_ConvergedCharging.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS32291_Nchf_ConvergedCharging.yaml diff --git a/lib/sbi/support/20210629/standard/TS32291_Nchf_OfflineOnlyCharging.yaml b/lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS32291_Nchf_OfflineOnlyCharging.yaml similarity index 100% rename from lib/sbi/support/20210629/standard/TS32291_Nchf_OfflineOnlyCharging.yaml rename to lib/sbi/support/r16-20210629-openapitools-5.2.0/standard/TS32291_Nchf_OfflineOnlyCharging.yaml diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/README.md b/lib/sbi/support/r16-20230226-openapitools-6.4.0/README.md new file mode 100644 index 000000000..ec0ccdc8d --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/README.md @@ -0,0 +1,16 @@ + +* To install JDK(Java) +$ sudo apt install default-jdk + +* To install Node.js +$ sudo apt update +$ sudo apt install curl +$ curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - +$ sudo apt install nodejs + +* To install OpenAPI Geneator +$ sudo npm install @openapitools/openapi-generator-cli -g + +$ Run generator +$ sudo openapi-generator-cli version-manager set 6.4.0 +$ ./generator.sh diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/generator.sh b/lib/sbi/support/r16-20230226-openapitools-6.4.0/generator.sh new file mode 100755 index 000000000..41d84c470 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/generator.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +### Ubuntu 20.04(focal) is not working +#export C_POST_PROCESS_FILE="/usr/bin/uncrustify --no-backup" +#export UNCRUSTIFY_CONFIG="./openapi-generator/uncrustify-rules.cfg" + +openapi_generator_cli="openapi-generator-cli" + +$openapi_generator_cli generate -i ./modified/TS29521_Nbsf_Management.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29531_Nnssf_NSSelection.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29507_Npcf_AMPolicyControl.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29512_Npcf_SMPolicyControl.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29503_Nudm_SDM.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29503_Nudm_UECM.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29503_Nudm_UEAU.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29509_Nausf_UEAuthentication.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29510_Nnrf_NFDiscovery.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29510_Nnrf_NFManagement.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29504_Nudr_DR.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29502_Nsmf_PDUSession.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi +$openapi_generator_cli generate -i ./modified/TS29518_Namf_Communication.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi + +# 'AfEvent' Model was duplicated in TS29514_Npcf_PolicyAuthorization and +# TS29517_Naf_EventExposure.yaml. +# You should put TS29514_Npcf_PolicyAuthorization bottom to use 'AfEvent' +# in TS29514_Npcf_PolicyAuthorization, +$openapi_generator_cli generate -i ./modified/TS29514_Npcf_PolicyAuthorization.yaml -c ./openapi-generator/config.yaml -g c -o ../../openapi diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_CommonData.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_CommonData.yaml new file mode 100644 index 000000000..7a0cabe31 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_CommonData.yaml @@ -0,0 +1,521 @@ +openapi: 3.0.0 +info: + title: TS 29.122 Common Data Types + version: 1.1.1 + description: | + Data types applicable to several APIs. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +paths: {} +components: + schemas: + SponsorInformation: + type: object + properties: + sponsorId: + type: string + description: It indicates Sponsor ID. + aspId: + type: string + description: It indicates Application Service Provider ID. + required: + - sponsorId + - aspId + UsageThreshold: + type: object + properties: + duration: + $ref: '#/components/schemas/DurationSec' + totalVolume: + $ref: '#/components/schemas/Volume' + downlinkVolume: + $ref: '#/components/schemas/Volume' + uplinkVolume: + $ref: '#/components/schemas/Volume' + UsageThresholdRm: + type: object + properties: + duration: + $ref: '#/components/schemas/DurationSecRm' + totalVolume: + $ref: '#/components/schemas/VolumeRm' + downlinkVolume: + $ref: '#/components/schemas/VolumeRm' + uplinkVolume: + $ref: '#/components/schemas/VolumeRm' + nullable: true + TimeWindow: + type: object + properties: + startTime: + $ref: '#/components/schemas/DateTime' + stopTime: + $ref: '#/components/schemas/DateTime' + required: + - startTime + - stopTime + Acknowledgement: + type: object + properties: + details: + type: string + description: A human-readable explanation specific to this successful acknowledgement + required: + - details + NotificationData: + type: object + properties: + transaction: + $ref: '#/components/schemas/Link' + eventReports: + type: array + items: + $ref: '#/components/schemas/EventReport' + minItems: 1 + description: Contains the reported event and applicable information + required: + - transaction + - eventReports + EventReport: + type: object + properties: + event: + $ref: '#/components/schemas/Event' + accumulatedUsage: + $ref: '#/components/schemas/AccumulatedUsage' + flowIds: + type: array + items: + type: integer + minItems: 1 + description: Identifies the IP flows that were sent during event subscription + required: + - event + AccumulatedUsage: + type: object + properties: + duration: + $ref: '#/components/schemas/DurationSec' + totalVolume: + $ref: '#/components/schemas/Volume' + downlinkVolume: + $ref: '#/components/schemas/Volume' + uplinkVolume: + $ref: '#/components/schemas/Volume' + FlowInfo: + type: object + properties: + flowId: + type: integer + description: Indicates the IP flow. + flowDescriptions: + type: array + items: + type: string + description: Indicates the packet filters of the IP flow. Refer to subclause 5.3.8 of 3GPP TS 29.214 for encoding. It shall contain UL and/or DL IP flow description. + minItems: 1 + maxItems: 2 + required: + - flowId + TestNotification: + type: object + properties: + subscription: + $ref: '#/components/schemas/Link' + required: + - subscription + WebsockNotifConfig: + type: object + properties: + websocketUri: + $ref: '#/components/schemas/Link' + requestWebsocketUri: + type: boolean + description: Set by the SCS/AS to indicate that the Websocket delivery is requested. + LocationArea: + type: object + properties: + cellIds: + type: array + items: + type: string + minItems: 1 + description: Indicates a list of Cell Global Identities of the user which identifies the cell the UE is registered. + enodeBIds: + type: array + items: + type: string + minItems: 1 + description: Indicates a list of eNodeB identities in which the UE is currently located. + routingAreaIds: + type: array + items: + type: string + minItems: 1 + description: Identifies a list of Routing Area Identities of the user where the UE is located. + trackingAreaIds: + type: array + items: + type: string + minItems: 1 + description: Identifies a list of Tracking Area Identities of the user where the UE is located. + geographicAreas: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + description: Identifies a list of geographic area of the user where the UE is located. + civicAddresses: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 1 + description: Identifies a list of civic addresses of the user where the UE is located. + LocationArea5G: + type: object + properties: + geographicAreas: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 0 + description: Identifies a list of geographic area of the user where the UE is located. + civicAddresses: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 0 + description: Identifies a list of civic addresses of the user where the UE is located. + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + ProblemDetails: + type: object + properties: + type: + $ref: '#/components/schemas/Uri' + title: + type: string + description: A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem. + status: + type: integer + description: The HTTP status code for this occurrence of the problem. + detail: + type: string + description: A human-readable explanation specific to this occurrence of the problem. + instance: + $ref: '#/components/schemas/Uri' + cause: + type: string + description: A machine-readable application error cause specific to this occurrence of the problem. This IE should be present and provide application-related error information, if available. + invalidParams: + type: array + items: + $ref: '#/components/schemas/InvalidParam' + minItems: 1 + description: Description of invalid parameters, for a request rejected due to invalid parameters. + InvalidParam: + type: object + properties: + param: + type: string + description: Attribute's name encoded as a JSON Pointer, or header's name. + reason: + type: string + description: A human-readable reason, e.g. "must be a positive integer". + required: + - param + PlmnId: + type: object + properties: + mcc: + $ref: '#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + required: + - mcc + - mnc + ConfigResult: + type: object + properties: + externalIds: + type: array + items: + $ref: '#/components/schemas/ExternalId' + minItems: 1 + description: Each element indicates an external identifier of the UE. + msisdns: + type: array + items: + $ref: '#/components/schemas/Msisdn' + minItems: 1 + description: Each element identifies the MS internal PSTN/ISDN number allocated for the UE. + resultReason: + $ref: '#/components/schemas/ResultReason' + required: + - resultReason + oneOf: + - required: [externalIds] + - required: [msisdns] + Bandwidth: + type: integer + minimum: 0 + description: integer indicating a bandwidth in bits per second. + BdtReferenceId: + type: string + description: string identifying a BDT Reference ID as defined in subclause 5.3.3 of 3GPP TS 29.154. + BdtReferenceIdRm: + type: string + description: This data type is defined in the same way as the BdtReferenceId data type, but with the nullable property set to true. + nullable: true + Binary: + type: string + description: string with format "binary" as defined in OpenAPI Specification. + Bytes: + type: string + description: String with format "byte" as defined in OpenAPI Specification, i.e, base64-encoded characters. + DayOfWeek: + type: integer + minimum: 1 + maximum: 7 + description: integer between and including 1 and 7 denoting a weekday. 1 shall indicate Monday, and the subsequent weekdays shall be indicated with the next higher numbers. 7 shall indicate Sunday. + DateTime: + type: string + description: string with format "date-time" as defined in OpenAPI. + DateTimeRm: + type: string + description: string with format "date-time" as defined in OpenAPI with "nullable=true" property. + nullable: true + DateTimeRo: + type: string + description: string with format "date-time" as defined in OpenAPI with "readOnly=true" property. + readOnly: true + DurationSec: + type: integer + minimum: 0 + description: Unsigned integer identifying a period of time in units of seconds. + DurationSecRm: + type: integer + minimum: 0 + description: Unsigned integer identifying a period of time in units of seconds with "nullable=true" property. + nullable: true + DurationSecRo: + type: integer + minimum: 0 + description: Unsigned integer identifying a period of time in units of seconds with "readOnly=true" property. + readOnly: true + DurationMin: + type: integer + format: int32 + minimum: 0 + description: Unsigned integer identifying a period of time in units of minutes. + ExternalId: + type: string + description: string containing a local identifier followed by "@" and a domain identifier. Both the local identifier and the domain identifier shall be encoded as strings that do not contain any "@" characters. See Clause 4.6.2 of 3GPP TS 23.682 for more information. + ExternalGroupId: + type: string + description: string containing a local identifier followed by "@" and a domain identifier. Both the local identifier and the domain identifier shall be encoded as strings that do not contain any "@" characters. See Clauses 4.6.2 and 4.6.3 of 3GPP TS 23.682 for more information. + Ipv4Addr: + type: string + description: string identifying a Ipv4 address formatted in the "dotted decimal" notation as defined in IETF RFC 1166. + Ipv6Addr: + type: string + description: string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used. + Ipv4AddrRo: + type: string + description: string identifying a Ipv4 address formatted in the "dotted decimal" notation as defined in IETF RFC 1166, with "readOnly=true" property. + readOnly: true + Ipv6AddrRo: + type: string + description: string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952, with "readOnly=true" property. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used. + readOnly: true + Link: + type: string + description: string formatted according to IETF RFC 3986 identifying a referenced resource. + Mcc: + type: string + description: String encoding a Mobile Country Code part of the PLMN, comprising 3 digits, as defined in 3GPP TS 38.413. + Mnc: + type: string + description: String encoding a Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in 3GPP TS 38.413. + Msisdn: + type: string + description: string formatted according to subclause 3.3 of 3GPP TS 23.003 that describes an MSISDN. + Port: + type: integer + description: Unsigned integer with valid values between 0 and 65535. + minimum: 0 + maximum: 65535 + PortRo: + type: integer + description: Unsigned integer with valid values between 0 and 65535, with "readOnly=true" property. + minimum: 0 + maximum: 65535 + readOnly: true + ResourceId: + type: string + description: string chosen by the SCEF to serve as identifier in a resource URI. + ScsAsId: + type: string + description: string that identifies an SCS/AS. + TimeOfDay: + type: string + description: String with format partial-time or full-time as defined in subclause 5.6 of IETF RFC 3339. Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). + Uri: + type: string + description: string providing an URI formatted according to IETF RFC 3986. + Volume: + type: integer + format: int64 + minimum: 0 + description: Unsigned integer identifying a volume in units of bytes. + VolumeRm: + type: integer + format: int64 + minimum: 0 + description: Unsigned integer identifying a volume in units of bytes with "nullable=true" property. + nullable: true + Event: + anyOf: + - type: string + enum: + - SESSION_TERMINATION + - LOSS_OF_BEARER + - RECOVERY_OF_BEARER + - RELEASE_OF_BEARER + - USAGE_REPORT + - FAILED_RESOURCES_ALLOCATION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SESSION_TERMINATION: Indicates that Rx session is terminated. + - LOSS_OF_BEARER : Indicates a loss of a bearer. + - RECOVERY_OF_BEARER: Indicates a recovery of a bearer. + - RELEASE_OF_BEARER: Indicates a release of a bearer. + - USAGE_REPORT: Indicates the usage report event. + - FAILED_RESOURCES_ALLOCATION: Indicates the resource allocation is failed. + ResultReason: + anyOf: + - type: string + enum: + - ROAMING_NOT_ALLOWED + - OTHER_REASON + - type: string + description: > + This string provides a failure reason. + description: > + Possible values are + - ROAMING_NOT_ALLOWED: Identifies the configuration parameters are not allowed by roaming agreement. + - OTHER_REASON: Identifies the configuration parameters are not configured due to other reason. +# +# HTTP responses +# + responses: + '307': + description: Temporary Redirect + headers: + Location: + description: 'An alternative URI of the resource.' + required: true + schema: + type: string + '308': + description: Permanent Redirect + headers: + Location: + description: 'An alternative URI of the resource.' + required: true + schema: + type: string + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '406': + description: Not Acceptable + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '409': + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '411': + description: Length Required + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '412': + description: Precondition Failed + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '413': + description: Payload Too Large + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '414': + description: URI Too Long + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '415': + description: Unsupported Media Type + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '429': + description: Too Many Requests + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + default: + description: Generic Error diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_PfdManagement.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_PfdManagement.yaml new file mode 100644 index 000000000..57a740363 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_PfdManagement.yaml @@ -0,0 +1,636 @@ +openapi: 3.0.0 +info: + title: 3gpp-pfd-management + version: 1.1.1 + description: | + API for PFD management. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-pfd-management/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/transactions: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + get: + responses: + '200': + description: OK. All transactions related to the request URI are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdManagement' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + description: Create a new transaction for PFD management. + responses: + '201': + description: Created. The transaction was created successfully. The SCEF shall return the created transaction in the response payload body. PfdReport may be included to provide detailed failure information for some applications. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The PFDs for all applications were not created successfully. PfdReport is included with detailed information. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdReport' + minItems: 1 + responses: + '204': + description: No Content (successful notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/transactions/{transactionId}: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: transactionId + in: path + description: Transaction ID + required: true + schema: + type: string + get: + responses: + '200': + description: OK. The transaction information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + description: Change information in PFD management transaction. + responses: + '200': + description: OK. The transaction was modified successfully. The SCEF shall return an updated transaction in the response payload body. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The PFDs for all applications were not updated successfully. PfdReport is included with detailed information. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + responses: + '204': + description: No Content. The transaction was deleted successfully. The payload body shall be empty. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/transactions/{transactionId}/applications/{appId}: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: transactionId + in: path + description: Transaction ID + required: true + schema: + type: string + - name: appId + in: path + description: Identifier of the application + required: true + schema: + type: string + get: + responses: + '200': + description: OK. The application information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + description: Change information in application. + responses: + '200': + description: OK. The application resource was modified successfully. The SCEF shall return an updated application resource in the response payload body. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + patch: + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PfdData' + description: Change information in PFD management transaction. + responses: + '200': + description: OK. The transaction was modified successfully. The SCEF shall return an updated transaction in the response payload body. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + responses: + '204': + description: No Content. The application was deleted successfully. The payload body shall be empty. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + PfdManagement: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pfdDatas: + type: object + additionalProperties: + $ref: '#/components/schemas/PfdData' + minProperties: 1 + description: Each element uniquely identifies the PFDs for an external application identifier. Each element is identified in the map via an external application identifier as key. The response shall include successfully provisioned PFD data of application(s). + pfdReports: + type: object + additionalProperties: + $ref: '#/components/schemas/PfdReport' + minProperties: 1 + description: Supplied by the SCEF and contains the external application identifiers for which PFD(s) are not added or modified successfully. The failure reason is also included. Each element provides the related information for one or more external application identifier(s) and is identified in the map via the failure identifier as key. + readOnly: true + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + required: + - pfdDatas + PfdData: + type: object + properties: + externalAppId: + type: string + description: Each element uniquely external application identifier + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + pfds: + type: object + additionalProperties: + $ref: '#/components/schemas/Pfd' + description: Contains the PFDs of the external application identifier. Each PFD is identified in the map via a key containing the PFD identifier. + allowedDelay: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' + cachingTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRo' + required: + - externalAppId + - pfds + Pfd: + type: object + properties: + pfdId: + type: string + description: Identifies a PDF of an application identifier. + flowDescriptions: + type: array + items: + type: string + minItems: 1 + description: Represents a 3-tuple with protocol, server ip and server port for UL/DL application traffic. The content of the string has the same encoding as the IPFilterRule AVP value as defined in IETF RFC 6733. + urls: + type: array + items: + type: string + minItems: 1 + description: Indicates a URL or a regular expression which is used to match the significant parts of the URL. + domainNames: + type: array + items: + type: string + minItems: 1 + description: Indicates an FQDN or a regular expression as a domain name matching criteria. + dnProtocol: + $ref: '#/components/schemas/DomainNameProtocol' + required: + - pfdId + PfdReport: + type: object + properties: + externalAppIds: + type: array + items: + type: string + minItems: 1 + description: Identifies the external application identifier(s) which PFD(s) are not added or modified successfully + failureCode: + $ref: '#/components/schemas/FailureCode' + cachingTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + locationArea: + $ref: '#/components/schemas/UserPlaneLocationArea' + required: + - externalAppIds + - failureCode + UserPlaneLocationArea: + type: object + properties: + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea' + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 0 + description: Identifies a list of DNAI which the user plane functions support. + FailureCode: + anyOf: + - type: string + enum: + - MALFUNCTION + - RESOURCE_LIMITATION + - SHORT_DELAY + - APP_ID_DUPLICATED + - PARTIAL_FAILURE + - OTHER_REASON + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - MALFUNCTION: This value indicates that something functions wrongly in PFD provisioning or the PFD provisioning does not function at all. + - RESOURCE_LIMITATION: This value indicates there is resource limitation for PFD storage. + - SHORT_DELAY: This value indicates that the allowed delay is too short and PFD(s) are not stored. + - APP_ID_DUPLICATED: The received external application identifier(s) are already provisioned. + - PARTIAL_FAILURE: The PFD(s) are not provisioned to all PCEFs/TDFs/SMFs. + - OTHER_REASON: Other reason unspecified. + DomainNameProtocol: + anyOf: + - type: string + enum: + - DNS_QNAME + - TLS_SNI + - TLS_SAN + - TSL_SCN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - DNS_QNAME: Identifies the DNS protocol and the question name in DNS query. + - TLS_SNI: Identifies the Server Name Indication in TLS ClientHello message. + - TLS_SAN: Identifies the Subject Alternative Name in TLS ServerCertificate message. + - TLS_SCN: Identifies the Subject Common Name in TLS ServerCertificate message. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_ResourceManagementOfBdt.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_ResourceManagementOfBdt.yaml new file mode 100644 index 000000000..29f011331 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29122_ResourceManagementOfBdt.yaml @@ -0,0 +1,403 @@ +openapi: 3.0.0 +info: + title: 3gpp-bdt + version: 1.1.1 + description: | + API for BDT resouce management. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-bdt/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/subscriptions: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + get: + responses: + '200': + description: all BDT policy subscriptions. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Bdt' + minItems: 0 + description: individual BDT policy subscription. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + post: + requestBody: + description: Contains the data to create a BDT subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + callbacks: + bDTWarningNotification: + '{$request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExNotification' + responses: + '204': + description: No Content (successful notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: Background data transfer policies offered to the SCS/AS. + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/subscriptions/{subscriptionId}: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: subscriptionId + description: String identifying the individual BDT policy resource in the SCEF. + in: path + required: true + schema: + type: string + get: + responses: + '200': + description: Background data transfer policies offered to and selected by the SCEF. + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + requestBody: + description: Parameters to update/replace the existing BDT subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + responses: + '200': + description: OK (Successful update of the BDT subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + patch: + requestBody: + description: Contains information to be performed on the Bdt data structure to select a transfer policy. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/BdtPatch' + responses: + '200': + description: The Individual BDT Policy resource is modified with a selected policy and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + '204': + description: The Individual BDT Policy resource is modified with a selected policy. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + responses: + '204': + description: The Individual BDT Policy resource is deleted. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + Bdt: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + volumePerUE: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + numberOfUEs: + type: integer + minimum: 1 + description: Identifies the number of UEs. + desiredTimeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea' + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + referenceId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + transferPolicies: + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + description: Identifies an offered transfer policy. + readOnly: true + selectedPolicy: + type: integer + description: Identity of the selected background data transfer policy. Shall not be present in initial message exchange, can be provided by NF service consumer in a subsequent message exchange. + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + warnNotifEnabled: + type: boolean + description: Indicates whether the BDT warning notification is enabled or not. + trafficDes: + $ref: '#/components/schemas/TrafficDescriptor' + required: + - volumePerUE + - numberOfUEs + - desiredTimeWindow + BdtPatch: + type: object + properties: + selectedPolicy: + type: integer + description: Identity of the selected background data transfer policy. + warnNotifEnabled: + type: boolean + description: Indicates whether the BDT warning notification is enabled or not. + required: + - selectedPolicy + TransferPolicy: + type: object + properties: + bdtPolicyId: + type: integer + description: Identifier for the transfer policy + maxUplinkBandwidth: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + maxDownlinkBandwidth: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + ratingGroup: + type: integer + minimum: 0 + description: Indicates the rating group during the time window. + timeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + required: + - bdtPolicyId + - ratingGroup + - timeWindow + ExNotification: + type: object + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + timeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + candPolicies: + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + description: This IE indicates a list of the candidate transfer policies from which the AF may select a new transfer policy due to network performance degradation. + required: + - bdtRefId + TrafficDescriptor: + type: string + description: Identify a traffic descriptor as defined in Figure 5.2.2 of 3GPP TS 24.526, octets v+5 to w. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29502_Nsmf_PDUSession.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29502_Nsmf_PDUSession.yaml new file mode 100644 index 000000000..94c4ffa89 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29502_Nsmf_PDUSession.yaml @@ -0,0 +1,4395 @@ +openapi: 3.0.0 + +info: + version: '1.1.4' + title: 'Nsmf_PDUSession' + description: | + SMF PDU Session Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.502 V16.8.0; 5G System; Session Management Services; Stage 3 + url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.502/ + +servers: + - url: '{apiRoot}/nsmf-pdusession/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. The sm-contexts and pdu-sessions resources can be distributed on different processing instances or hosts. Thus the authority and/or deployment-specific string of the apiRoot of the created individual sm context and pdu-session resources' URIs may differ from the authority and/or deployment-specific string of the apiRoot of the sm-contexts and pdu-sessions collections' URIs. + +security: + - {} + - oAuth2ClientCredentials: + - nsmf-pdusession + +paths: + /sm-contexts: + post: + summary: Create SM Context + tags: + - SM contexts collection + operationId: PostSmContexts + requestBody: + description: representation of the SM context to be created in the SMF + required: true + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateData' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + binaryDataN2SmInformationExt1: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + callbacks: + smContextStatusNotification: + '{$request.body#/smContextStatusUri}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextStatusNotification' + responses: + '204': + description: successful notification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + responses: + '201': + description: successful creation of an SM context + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreatedData' + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nsmf-pdusession/{apiVersion}/sm-contexts/{smContextRef}' + required: true + schema: + type: string + + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: unsuccessful creation of an SM context - bad request + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '403': + description: unsuccessful creation of an SM context - forbidden + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '404': + description: unsuccessful creation of an SM context - not found + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: '#/components/responses/413' + '415': + $ref: '#/components/responses/415' + '429': + $ref: '#/components/responses/429' + + '500': + description: unsuccessful creation of an SM context - internal server error + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '503': + description: unsuccessful creation of an SM context - service unavailable + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + + '504': + description: unsuccessful creation of an SM context - gateway timeout + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + + /sm-contexts/{smContextRef}/retrieve: + post: + summary: Retrieve SM Context + tags: + - Individual SM context + operationId: RetrieveSmContext + parameters: + - name: smContextRef + in: path + description: SM context reference + required: true + schema: + type: string + requestBody: + description: parameters used to retrieve the SM context + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextRetrieveData' + responses: + '200': + description: successful retrieval of an SM context + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextRetrievedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /sm-contexts/{smContextRef}/modify: + post: + summary: Update SM Context + tags: + - Individual SM context + operationId: UpdateSmContext + parameters: + - name: smContextRef + in: path + description: SM context reference + required: true + schema: + type: string + requestBody: + description: representation of the updates to apply to the SM context + required: true + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateData' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + binaryDataN2SmInformationExt1: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + responses: + '200': + description: successful update of an SM context with content in the response + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdatedData' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '204': + description: successful update of an SM context without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: unsuccessful update of an SM context - bad request + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '403': + description: unsuccessful update of an SM context - forbidden + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '404': + description: unsuccessful update of an SM context - not found + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateError' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: '#/components/responses/413' + '415': + $ref: '#/components/responses/415' + '429': + $ref: '#/components/responses/429' + '500': + description: unsuccessful update of an SM context - Internal server error + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '503': + description: unsuccessful update of an SM context - Service Unavailable + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /sm-contexts/{smContextRef}/release: + post: + summary: Release SM Context + tags: + - Individual SM context + operationId: ReleaseSmContext + parameters: + - name: smContextRef + in: path + description: SM context reference + required: true + schema: + type: string + requestBody: + description: representation of the data to be sent to the SMF when releasing the SM context + required: false + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextReleaseData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextReleaseData' + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + + responses: + '200': + description: successful release of a PDU session with content in the response + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextReleasedData' + '204': + description: successful release of an SM context without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /sm-contexts/{smContextRef}/send-mo-data: + post: + summary: Send MO Data + tags: + - Individual SM context + operationId: SendMoData + parameters: + - name: smContextRef + in: path + description: SM context reference + required: true + schema: + type: string + requestBody: + description: representation of the payload of Send MO Data Request + required: true + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/SendMoDataReqData' + binaryMoData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryMoData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: successful sending of MO data + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: '#/components/responses/413' + '415': + $ref: '#/components/responses/415' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '503': + $ref: '#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pdu-sessions: + post: + summary: Create + tags: + - PDU sessions collection + operationId: PostPduSessions + requestBody: + description: representation of the PDU session to be created in the H-SMF or SMF + required: true + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/PduSessionCreateData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/PduSessionCreateData' + binaryDataN1SmInfoFromUe: + type: string + format: binary + binaryDataUnknownN1SmInfo: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoFromUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataUnknownN1SmInfo: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + callbacks: + statusNotification: + '{$request.body#/vsmfPduSessionUri}': + post: + summary: Notify Status + tags: + - Individual PDU session (V-SMF) + operationId: NotifyStatus + requestBody: + $ref: '#/components/requestBodies/NotifyStatusRequestBody' + responses: + '204': + description: successful notificationof the status change + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + statusNotification-ismf: + '{$request.body#/ismfPduSessionUri}': + post: + summary: Notify Status + tags: + - Individual PDU session (I-SMF) + operationId: NotifyStatus-isfm + requestBody: + $ref: '#/components/requestBodies/NotifyStatusRequestBody' + responses: + '204': + description: successful notificationof the status change + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + + update: + '{$request.body#/vsmfPduSessionUri}/modify': + post: + summary: Update (initiated by H-SMF) + tags: + - Individual PDU session (V-SMF) + operationId: ModifyPduSession + requestBody: + $ref: '#/components/requestBodies/VsmfUpdateRequestBody' + responses: + '200': + $ref: '#/components/responses/VsmfUpdateResponse200' + '204': + description: successful update of a PDU session without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: '#/components/responses/VsmfUpdateError' + '403': + $ref: '#/components/responses/VsmfUpdateError' + '404': + $ref: '#/components/responses/VsmfUpdateError' + '409': + $ref: '#/components/responses/VsmfUpdateError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/VsmfUpdateError' + '503': + $ref: '#/components/responses/VsmfUpdateError' + '504': + $ref: '#/components/responses/VsmfUpdateError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + update-ismf: + '{$request.body#/ismfPduSessionUri}/modify': + post: + summary: Update (initiated by SMF) + tags: + - Individual PDU session (I-SMF) + operationId: ModifyPduSession-ismf + requestBody: + $ref: '#/components/requestBodies/VsmfUpdateRequestBody' + responses: + '200': + $ref: '#/components/responses/VsmfUpdateResponse200' + '204': + description: successful update of a PDU session without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: '#/components/responses/VsmfUpdateError' + '403': + $ref: '#/components/responses/VsmfUpdateError' + '404': + $ref: '#/components/responses/VsmfUpdateError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/VsmfUpdateError' + '503': + $ref: '#/components/responses/VsmfUpdateError' + '504': + $ref: '#/components/responses/VsmfUpdateError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + transferMtData: + '{$request.body#/vsmfPduSessionUri}/transfer-mt-data': + post: + summary: Transfer MT Data (by H-SMF) + tags: + - Individual PDU session (V-SMF) + operationId: TransferMtData + requestBody: + description: representation of the payload of Transfer MT Data Request + required: true + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/TransferMtDataReqData' + binaryMtData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryMtData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: successful transfering of MT data + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: unsuccessful delivery of mobile terminated data - gateway timeout + content: + application/json: + schema: + $ref: '#/components/schemas/TransferMtDataError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + transferMtData-ismf: + '{$request.body#/ismfPduSessionUri}/transfer-mt-data': + post: + summary: Transfer MT Data (by SMF) + tags: + - Individual PDU session (I-SMF) + operationId: TransferMtData-ismf + requestBody: + description: representation of the payload of Transfer MT Data Request + required: true + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/TransferMtDataReqData' + binaryMtData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryMtData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: successful transfering of MT data + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: unsuccessful delivery of mobile terminated data - gateway timeout + content: + application/json: + schema: + $ref: '#/components/schemas/TransferMtDataError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + responses: + '201': + description: successful creation of a PDU session + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/PduSessionCreatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/PduSessionCreatedData' + binaryDataN1SmInfoToUe: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoToUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nsmf-pdusession/{apiVersion}/pdu-sessions/{pduSessionRef}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: '#/components/responses/PduSessionCreateError' + '403': + $ref: '#/components/responses/PduSessionCreateError' + '404': + $ref: '#/components/responses/PduSessionCreateError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/PduSessionCreateError' + '503': + $ref: '#/components/responses/PduSessionCreateError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pdu-sessions/{pduSessionRef}/modify: + post: + summary: Update (initiated by V-SMF or I-SMF) + tags: + - Individual PDU session (H-SMF or SMF) + operationId: UpdatePduSession + parameters: + - name: pduSessionRef + in: path + description: PDU session reference + required: true + schema: + type: string + requestBody: + description: representation of the updates to apply to the PDU session + required: true + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/HsmfUpdateData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/HsmfUpdateData' + binaryDataN1SmInfoFromUe: + type: string + format: binary + binaryDataUnknownN1SmInfo: + type: string + format: binary + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoFromUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataUnknownN1SmInfo: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + responses: + '200': + description: successful update of a PDU session with content in the response + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/HsmfUpdatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/HsmfUpdatedData' + binaryDataN1SmInfoToUe: + type: string + format: binary + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoToUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + '204': + description: successful update of a PDU session without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: '#/components/responses/HsmfUpdateError' + '403': + $ref: '#/components/responses/HsmfUpdateError' + '404': + $ref: '#/components/responses/HsmfUpdateError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/HsmfUpdateError' + '503': + $ref: '#/components/responses/HsmfUpdateError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pdu-sessions/{pduSessionRef}/release: + post: + summary: Release + tags: + - Individual PDU session (H-SMF or SMF) + operationId: ReleasePduSession + parameters: + - name: pduSessionRef + in: path + description: PDU session reference + required: true + schema: + type: string + requestBody: + description: data sent to H-SMF or SMF when releasing the PDU session + required: false + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/ReleaseData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/ReleaseData' + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + + responses: + '200': + description: successful release of a PDU session with content in the response + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/ReleasedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/ReleasedData' + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + '204': + description: successful release of a PDU session + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pdu-sessions/{pduSessionRef}/retrieve: + post: + summary: Retrieve + tags: + - Individual PDU session (H-SMF or SMF) + operationId: RetrievePduSession + parameters: + - name: pduSessionRef + in: path + description: PDU session reference + required: true + schema: + type: string + requestBody: + description: representation of the payload of the Retrieve Request + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RetrieveData' + responses: + '200': + description: successful information retrieval + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/RetrievedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pdu-sessions/{pduSessionRef}/transfer-mo-data: + post: + summary: Transfer MO Data + tags: + - Individual PDU session (H-SMF or SMF) + operationId: TransferMoData + parameters: + - name: pduSessionRef + in: path + description: PDU session reference + required: true + schema: + type: string + requestBody: + description: representation of the payload of Transfer MO Data Request + required: true + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/TransferMoDataReqData' + binaryMoData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryMoData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: successful transfering of MO data + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nsmf-pdusession: Access to the nsmf-pdusession API + + schemas: +# +# STRUCTURED DATA TYPES +# + SmContextCreateData: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + unauthenticatedSupi: + type: boolean + default: false + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + selectedDnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + hplmnSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + servingNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + serviceName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + requestType: + $ref: '#/components/schemas/RequestType' + n1SmMsg: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAnType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + presenceInLadn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + smContextStatusUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + hSmfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + hSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + additionalHsmfUri: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + additionalHsmfId: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + additionalSmfUri: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + additionalSmfId: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + oldPduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + pduSessionsActivateList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + ueEpsPdnConnection: + $ref: '#/components/schemas/EpsPdnCnxContainer' + hoState: + $ref: '#/components/schemas/HoState' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + nrfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + selMode: + $ref: '#/components/schemas/DnnSelectionMode' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + minItems: 1 + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + epsInterworkingInd: + $ref: '#/components/schemas/EpsInterworkingIndication' + indirectForwardingFlag: + type: boolean + directForwardingFlag: + type: boolean + targetId: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/NgRanTargetId' + epsBearerCtxStatus: + $ref: '#/components/schemas/EpsBearerContextStatus' + cpCiotEnabled: + type: boolean + default: false + cpOnlyInd: + type: boolean + default: false + invokeNef: + type: boolean + default: false + maRequestInd: + type: boolean + default: false + maNwUpgradeInd: + type: boolean + default: false + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + n2SmInfoExt1: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoTypeExt1: + $ref: '#/components/schemas/N2SmInfoType' + smContextRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smContextSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smContextSmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + smContextSmfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + smContextSmfBinding: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/SbiBindingLevel' + upCnxState: + $ref: '#/components/schemas/UpCnxState' + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + extendedNasSmTimerInd: + type: boolean + default: false + dlDataWaitingInd: + type: boolean + default: false + ddnFailureSubs: + $ref: '#/components/schemas/DdnFailureSubs' + smfTransferInd: + type: boolean + default: false + oldSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + oldSmContextRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + wAgfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/WAgfInfo' + tngfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TngfInfo' + twifInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TwifInfo' + ranUnchangedInd: + type: boolean + required: + - servingNfId + - servingNetwork + - anType + - smContextStatusUri + + SmContextCreatedData: + type: object + properties: + hSmfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + upCnxState: + $ref: '#/components/schemas/UpCnxState' + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + allocatedEbiList: + type: array + items: + $ref: '#/components/schemas/EbiArpMapping' + minItems: 1 + hoState: + $ref: '#/components/schemas/HoState' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + smfServiceInstanceId: + type: string + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + selectedSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + selectedOldSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + SmContextUpdateData: + type: object + properties: + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + servingNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + minItems: 1 + nullable: true + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAnType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + anTypeToReactivate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + presenceInLadn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + upCnxState: + $ref: '#/components/schemas/UpCnxState' + hoState: + $ref: '#/components/schemas/HoState' + toBeSwitched: + type: boolean + default: false + failedToBeSwitched: + type: boolean + n1SmMsg: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + targetId: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/NgRanTargetId' + targetServingNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smContextStatusUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + dataForwarding: + type: boolean + default: false + n9ForwardingTunnel: + $ref: '#/components/schemas/TunnelInfo' + n9DlForwardingTnlList: + type: array + items: + $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo' + minItems: 1 + n9UlForwardingTnlList: + type: array + items: + $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo' + minItems: 1 + epsBearerSetup: + type: array + items: + $ref: '#/components/schemas/EpsBearerContainer' + minItems: 0 + revokeEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + release: + type: boolean + default: false + cause: + $ref: '#/components/schemas/Cause' + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCauseValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + epsInterworkingInd: + $ref: '#/components/schemas/EpsInterworkingIndication' + anTypeCanBeChanged: + type: boolean + default: false + n2SmInfoExt1: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoTypeExt1: + $ref: '#/components/schemas/N2SmInfoType' + maReleaseInd: + $ref: '#/components/schemas/MaReleaseIndication' + maNwUpgradeInd: + type: boolean + default: false + maRequestInd: + type: boolean + default: false + exemptionInd: + $ref: '#/components/schemas/ExemptionInd' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + moExpDataCounter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter' + extendedNasSmTimerInd: + type: boolean + forwardingFTeid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + forwardingBearerContexts: + type: array + items: + $ref: '#/components/schemas/ForwardingBearerContainer' + minItems: 1 + ddnFailureSubs: + $ref: '#/components/schemas/DdnFailureSubs' + + SmContextUpdatedData: + type: object + properties: + upCnxState: + $ref: '#/components/schemas/UpCnxState' + hoState: + $ref: '#/components/schemas/HoState' + releaseEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + allocatedEbiList: + type: array + items: + $ref: '#/components/schemas/EbiArpMapping' + minItems: 1 + modifiedEbiList: + type: array + items: + $ref: '#/components/schemas/EbiArpMapping' + minItems: 1 + n1SmMsg: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + epsBearerSetup: + type: array + items: + $ref: '#/components/schemas/EpsBearerContainer' + minItems: 1 + dataForwarding: + type: boolean + n3DlForwardingTnlList: + type: array + items: + $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo' + minItems: 1 + n3UlForwardingTnlList: + type: array + items: + $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo' + minItems: 1 + cause: + $ref: '#/components/schemas/Cause' + maAcceptedInd: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + forwardingFTeid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + forwardingBearerContexts: + type: array + items: + $ref: '#/components/schemas/ForwardingBearerContainer' + minItems: 1 + selectedSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + selectedOldSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + SmContextReleaseData: + type: object + properties: + cause: + $ref: '#/components/schemas/Cause' + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCauseValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + vsmfReleaseOnly: + type: boolean + default: false + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + ismfReleaseOnly: + type: boolean + default: false + + SmContextReleasedData: + type: object + properties: + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + + SmContextStatusNotification: + type: object + properties: + statusInfo : + $ref: '#/components/schemas/StatusInfo' + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + ddnFailureStatus: + type: boolean + default: false + notifyCorrelationIdsForddnFailure: + type: array + items: + type: string + minItems: 1 + newSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + newSmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + oldSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + oldSmContextRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altAnchorSmfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altAnchorSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + required: + - statusInfo + + PduSessionCreateData: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + unauthenticatedSupi: + type: boolean + default: false + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + selectedDnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + vsmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ismfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + requestType: + $ref: '#/components/schemas/RequestType' + epsBearerId: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + pgwS8cFteid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + vsmfPduSessionUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ismfPduSessionUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + vcnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + icnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + n9ForwardingTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + additionalCnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAnType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + n1SmInfoFromUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + unknownN1SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + hPcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + hoPreparationIndication: + type: boolean + selMode: + $ref: '#/components/schemas/DnnSelectionMode' + alwaysOnRequested: + type: boolean + default: false + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + epsInterworkingInd: + $ref: '#/components/schemas/EpsInterworkingIndication' + vSmfServiceInstanceId: + type: string + iSmfServiceInstanceId: + type: string + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + roamingChargingProfile: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile' + chargingId: + type: string + oldPduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + epsBearerCtxStatus: + $ref: '#/components/schemas/EpsBearerContextStatus' + amfNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + maxIntegrityProtectedDataRateUl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + maxIntegrityProtectedDataRateDl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + cpCiotEnabled: + type: boolean + default: false + cpOnlyInd: + type: boolean + default: false + invokeNef: + type: boolean + default: false + maRequestInd: + type: boolean + default: false + maNwUpgradeInd: + type: boolean + default: false + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + presenceInLadn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + secondaryRatUsageInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo' + minItems: 1 + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + dlServingPlmnRateCtl: + type: integer + minimum: 10 + upSecurityInfo: + $ref: '#/components/schemas/UpSecurityInfo' + vplmnQos: + $ref: '#/components/schemas/VplmnQos' + required: + - dnn + - servingNetwork + - anType + oneOf: + - required: [ vsmfId, vsmfPduSessionUri ] + - required: [ ismfId, ismfPduSessionUri ] + + PduSessionCreatedData: + type: object + properties: + pduSessionType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + sscMode: + type: string + pattern: '^[0-7]$' + hcnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + cnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + additionalCnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + qosFlowsSetupList: + type: array + items: + $ref: '#/components/schemas/QosFlowSetupItem' + minItems: 1 + hSmfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + enablePauseCharging: + type: boolean + default: false + ueIpv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + n1SmInfoToUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + epsPdnCnxInfo: + $ref: '#/components/schemas/EpsPdnCnxInfo' + epsBearerInfo: + type: array + items: + $ref: '#/components/schemas/EpsBearerInfo' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + maxIntegrityProtectedDataRate: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + maxIntegrityProtectedDataRateDl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + alwaysOnGranted: + type: boolean + default: false + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + upSecurity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity' + roamingChargingProfile: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile' + hSmfServiceInstanceId: + type: string + smfServiceInstanceId: + type: string + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + ipv6MultiHomingInd: + type: boolean + default: false + maAcceptedInd: + type: boolean + default: false + homeProvidedChargingId: + type: string + nefExtBufSupportInd: + type: boolean + default: false + smallDataRateControlEnabled: + type: boolean + default: false + ueIpv6InterfaceId: + type: string + pattern: '^[A-Fa-f0-9]{16}$' + ipv6Index: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex' + dnAaaAddress: + $ref: '#/components/schemas/IpAddress' + redundantPduSessionInfo: + $ref: '#/components/schemas/RedundantPduSessionInformation' + required: + - pduSessionType + - sscMode + oneOf: + - required: [ hSmfInstanceId ] + - required: [ smfInstanceId ] + + HsmfUpdateData: + type: object + properties: + requestIndication: + $ref: '#/components/schemas/RequestIndication' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + vcnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + icnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + additionalCnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAnType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + pauseCharging: + type: boolean + pti: + $ref: '#/components/schemas/ProcedureTransactionId' + n1SmInfoFromUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + unknownN1SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + qosFlowsRelNotifyList: + type: array + items: + $ref: '#/components/schemas/QosFlowItem' + minItems: 1 + qosFlowsNotifyList: + type: array + items: + $ref: '#/components/schemas/QosFlowNotifyItem' + minItems: 1 + NotifyList: + type: array + items: + $ref: '#/components/schemas/PduSessionNotifyItem' + minItems: 1 + epsBearerId: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 0 + hoPreparationIndication: + type: boolean + revokeEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + cause: + $ref: '#/components/schemas/Cause' + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCauseValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + alwaysOnRequested: + type: boolean + default: false + epsInterworkingInd: + $ref: '#/components/schemas/EpsInterworkingIndication' + secondaryRatUsageReport: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageReport' + minItems: 1 + secondaryRatUsageInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo' + minItems: 1 + anTypeCanBeChanged: + type: boolean + default: false + maReleaseInd: + $ref: '#/components/schemas/MaReleaseIndication' + maNwUpgradeInd: + type: boolean + default: false + maRequestInd: + type: boolean + default: false + unavailableAccessInd: + $ref: '#/components/schemas/UnavailableAccessIndication' + psaInfo: + type: array + items: + $ref: '#/components/schemas/PsaInformation' + minItems: 1 + ulclBpInfo: + $ref: '#/components/schemas/UlclBpInformation' + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + presenceInLadn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + vsmfPduSessionUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + vsmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + vSmfServiceInstanceId: + type: string + ismfPduSessionUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ismfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + iSmfServiceInstanceId: + type: string + dlServingPlmnRateCtl: + type: integer + minimum: 10 + nullable: true + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + roamingChargingProfile: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile' + moExpDataCounter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter' + vplmnQos: + $ref: '#/components/schemas/VplmnQos' + securityResult: + $ref: '#/components/schemas/SecurityResult' + upSecurityInfo: + $ref: '#/components/schemas/UpSecurityInfo' + amfNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + required: + - requestIndication + + HsmfUpdatedData: + type: object + properties: + n1SmInfoToUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + roamingChargingProfile: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile' + upSecurity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity' + maxIntegrityProtectedDataRateUl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + maxIntegrityProtectedDataRateDl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + ipv6MultiHomingInd: + type: boolean + default: false + qosFlowsSetupList: + type: array + items: + $ref: '#/components/schemas/QosFlowSetupItem' + minItems: 1 + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + epsPdnCnxInfo: + $ref: '#/components/schemas/EpsPdnCnxInfo' + epsBearerInfo: + type: array + items: + $ref: '#/components/schemas/EpsBearerInfo' + minItems: 1 + pti: + $ref: '#/components/schemas/ProcedureTransactionId' + + ReleaseData: + type: object + properties: + cause: + $ref: '#/components/schemas/Cause' + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCauseValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + secondaryRatUsageReport: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageReport' + minItems: 1 + secondaryRatUsageInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo' + minItems: 1 + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + + ReleasedData: + type: object + properties: + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + + VsmfUpdateData: + type: object + properties: + requestIndication: + $ref: '#/components/schemas/RequestIndication' + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + qosFlowsAddModRequestList: + type: array + items: + $ref: '#/components/schemas/QosFlowAddModifyRequestItem' + minItems: 1 + qosFlowsRelRequestList: + type: array + items: + $ref: '#/components/schemas/QosFlowReleaseRequestItem' + minItems: 1 + epsBearerInfo: + type: array + items: + $ref: '#/components/schemas/EpsBearerInfo' + minItems: 1 + assignEbiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + revokeEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + modifiedEbiList: + type: array + items: + $ref: '#/components/schemas/EbiArpMapping' + minItems: 1 + pti: + $ref: '#/components/schemas/ProcedureTransactionId' + n1SmInfoToUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + alwaysOnGranted: + type: boolean + default: false + hsmfPduSessionUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + cause: + $ref: '#/components/schemas/Cause' + n1smCause: + type: string + backOffTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + maReleaseInd: + $ref: '#/components/schemas/MaReleaseIndication' + maAcceptedInd: + type: boolean + default: false + additionalCnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + smallDataRateControlEnabled: + type: boolean + qosMonitoringInfo: + $ref: '#/components/schemas/QosMonitoringInfo' + required: + - requestIndication + + VsmfUpdatedData: + type: object + properties: + qosFlowsAddModList: + type: array + items: + $ref: '#/components/schemas/QosFlowItem' + minItems: 1 + qosFlowsRelList: + type: array + items: + $ref: '#/components/schemas/QosFlowItem' + minItems: 1 + qosFlowsFailedtoAddModList: + type: array + items: + $ref: '#/components/schemas/QosFlowItem' + minItems: 1 + qosFlowsFailedtoRelList: + type: array + items: + $ref: '#/components/schemas/QosFlowItem' + minItems: 1 + n1SmInfoFromUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + unknownN1SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + assignedEbiList: + type: array + items: + $ref: '#/components/schemas/EbiArpMapping' + minItems: 1 + failedToAssignEbiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + releasedEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + secondaryRatUsageReport: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageReport' + minItems: 1 + secondaryRatUsageInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo' + minItems: 1 + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + + StatusNotification: + type: object + properties: + statusInfo : + $ref: '#/components/schemas/StatusInfo' + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + required: + - statusInfo + + QosFlowItem: + type: object + properties: + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + cause: + $ref: '#/components/schemas/Cause' + currentQosProfileIndex: + type: integer + minimum: 1 + maximum: 8 + nullQoSProfileIndex: + type: boolean + required: + - qfi + + QosFlowSetupItem: + type: object + properties: + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + qosRules: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + ebi: + $ref: '#/components/schemas/EpsBearerId' + qosFlowDescription: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + qosFlowProfile: + $ref: '#/components/schemas/QosFlowProfile' + associatedAnType: + $ref: '#/components/schemas/QosFlowAccessType' + required: + - qfi + - qosRules + + QosFlowAddModifyRequestItem: + type: object + properties: + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + ebi: + $ref: '#/components/schemas/EpsBearerId' + qosRules: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + qosFlowDescription: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + qosFlowProfile: + $ref: '#/components/schemas/QosFlowProfile' + associatedAnType: + $ref: '#/components/schemas/QosFlowAccessType' + required: + - qfi + + QosFlowReleaseRequestItem: + type: object + properties: + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + qosRules: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + qosFlowDescription: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + required: + - qfi + + QosFlowProfile: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + nonDynamic5Qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NonDynamic5Qi' + dynamic5Qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dynamic5Qi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + gbrQosFlowInfo: + $ref: '#/components/schemas/GbrQosFlowInformation' + rqa: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReflectiveQoSAttribute' + additionalQosFlowInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AdditionalQosFlowInfo' + qosMonitoringReq: + $ref: '#/components/schemas/QosMonitoringReq' + qosRepPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - 5qi + + GbrQosFlowInformation: + type: object + properties: + maxFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxFbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + guaFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + guaFbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + notifControl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotificationControl' + maxPacketLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + maxPacketLossRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + alternativeQosProfileList: + type: array + items: + $ref: '#/components/schemas/AlternativeQosProfile' + required: + - maxFbrDl + - maxFbrUl + - guaFbrDl + - guaFbrUl + + QosFlowNotifyItem: + type: object + properties: + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + notificationCause: + $ref: '#/components/schemas/NotificationCause' + currentQosProfileIndex: + type: integer + minimum: 1 + maximum: 8 + nullQoSProfileIndex: + type: boolean + required: + - qfi + - notificationCause + + + SmContextRetrieveData: + type: object + properties: + targetMmeCap: + $ref: '#/components/schemas/MmeCapabilities' + smContextType: + $ref: '#/components/schemas/SmContextType' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + notToTransferEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + ranUnchangedInd: + type: boolean + default: false + + SmContextRetrievedData: + type: object + properties: + ueEpsPdnConnection: + $ref: '#/components/schemas/EpsPdnCnxContainer' + smContext: + $ref: '#/components/schemas/SmContext' + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + dlDataWaitingInd: + type: boolean + default: false + required: + - ueEpsPdnConnection + + MmeCapabilities: + type: object + properties: + nonIpSupported: + type: boolean + default: false + ethernetSupported: + type: boolean + default: false + + TunnelInfo: + type: object + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + gtpTeid: + $ref: '#/components/schemas/Teid' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - gtpTeid + + StatusInfo: + type: object + properties: + resourceStatus: + $ref: '#/components/schemas/ResourceStatus' + cause: + $ref: '#/components/schemas/Cause' + cnAssistedRanPara: + $ref: '#/components/schemas/CnAssistedRanPara' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - resourceStatus + + + EpsPdnCnxInfo: + type: object + properties: + pgwS8cFteid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + pgwNodeName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + linkedBearerId: + $ref: '#/components/schemas/EpsBearerId' + required: + - pgwS8cFteid + + EpsBearerInfo: + type: object + properties: + ebi: + $ref: '#/components/schemas/EpsBearerId' + pgwS8uFteid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + bearerLevelQoS: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + required: + - ebi + - pgwS8uFteid + - bearerLevelQoS + + PduSessionNotifyItem: + type: object + properties: + notificationCause: + $ref: '#/components/schemas/NotificationCause' + required: + - notificationCause + + EbiArpMapping: + type: object + properties: + epsBearerId: + $ref: '#/components/schemas/EpsBearerId' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + required: + - epsBearerId + - arp + + SmContextCreateError: + type: object + properties: + error: + $ref: '#/components/schemas/ExtProblemDetails' + n1SmMsg: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - error + + SmContextUpdateError: + type: object + properties: + error: + $ref: '#/components/schemas/ExtProblemDetails' + n1SmMsg: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + upCnxState: + $ref: '#/components/schemas/UpCnxState' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - error + + PduSessionCreateError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + n1smCause: + type: string + pattern: '^[A-F0-9]{2}$' + n1SmInfoToUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + backOffTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - error + + HsmfUpdateError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + pti: + $ref: '#/components/schemas/ProcedureTransactionId' + n1smCause: + type: string + pattern: '^[A-F0-9]{2}$' + n1SmInfoToUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + backOffTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - error + + VsmfUpdateError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + pti: + $ref: '#/components/schemas/ProcedureTransactionId' + n1smCause: + type: string + pattern: '^[A-F0-9]{2}$' + n1SmInfoFromUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + unknownN1SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + failedToAssignEbiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCauseValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + required: + - error + + SmContext: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + selectedDnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + hplmnSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + pduSessionType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + hSmfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + pduSessionRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + selMode: + $ref: '#/components/schemas/DnnSelectionMode' + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + qosFlowsList: + type: array + items: + $ref: '#/components/schemas/QosFlowSetupItem' + minItems: 1 + hSmfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pduSessionSmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + pduSessionSmfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + pduSessionSmfBinding: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/SbiBindingLevel' + enablePauseCharging: + type: boolean + default: false + ueIpv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + epsPdnCnxInfo: + $ref: '#/components/schemas/EpsPdnCnxInfo' + epsBearerInfo: + type: array + items: + $ref: '#/components/schemas/EpsBearerInfo' + minItems: 1 + maxIntegrityProtectedDataRate: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + alwaysOnGranted: + type: boolean + default: false + upSecurity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity' + hSmfServiceInstanceId: + type: string + smfServiceInstanceId: + type: string + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + forwardingInd: + type: boolean + default: false + psaTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + chargingId: + type: string + chargingInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ChargingInformation' + roamingChargingProfile: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile' + nefExtBufSupportInd: + type: boolean + default: false + ipv6Index: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex' + dnAaaAddress: + $ref: '#/components/schemas/IpAddress' + redundantPduSessionInfo: + $ref: '#/components/schemas/RedundantPduSessionInformation' + ranTunnelInfo: + $ref: '#/components/schemas/QosFlowTunnel' + addRanTunnelInfo: + type: array + items: + $ref: '#/components/schemas/QosFlowTunnel' + minItems: 1 + redRanTunnelInfo: + $ref: '#/components/schemas/QosFlowTunnel' + addRedRanTunnelInfo: + type: array + items: + $ref: '#/components/schemas/QosFlowTunnel' + minItems: 1 + required: + - pduSessionId + - dnn + - sNssai + - pduSessionType + - sessionAmbr + - qosFlowsList + + ExemptionInd: + type: object + properties: + dnnCongestion: + type: boolean + default: false + snssaiOnlyCongestion: + type: boolean + default: false + snssaiDnnCongestion: + type: boolean + default: false + + PsaInformation: + type: object + properties: + psaInd: + $ref: '#/components/schemas/PsaIndication' + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + ueIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + psaUpfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + DnaiInformation: + type: object + properties: + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + noDnaiChangeInd: + type: boolean + noLocalPsaChangeInd: + type: boolean + required: + - dnai + + N4Information: + type: object + properties: + n4MessageType: + $ref: '#/components/schemas/N4MessageType' + n4MessagePayload: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n4DnaiInfo: + $ref: '#/components/schemas/DnaiInformation' + required: + - n4MessageType + - n4MessagePayload + + IndirectDataForwardingTunnelInfo: + type: object + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + gtpTeid: + $ref: '#/components/schemas/Teid' + drbId: + $ref: '#/components/schemas/DrbId' + additionalTnlNb: + $ref: '#/components/schemas/AdditionalTnlNb' + required: + - gtpTeid + not: + required: [ drbId, additionalTnlNb ] + + SendMoDataReqData: + type: object + properties: + moData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + moExpDataCounter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + required: + - moData + + CnAssistedRanPara: + type: object + properties: + stationaryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StationaryIndication' + communicationDurationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + periodicTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + scheduledCommunicationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTime' + scheduledCommunicationType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationType' + trafficProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficProfile' + batteryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BatteryIndication' + + UlclBpInformation: + type: object + properties: + ulclBpUpfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + TransferMoDataReqData: + type: object + properties: + moData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + moExpDataCounter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + required: + - moData + + TransferMtDataReqData: + type: object + properties: + mtData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - mtData + + TransferMtDataError: + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/TransferMtDataAddInfo' + + TransferMtDataAddInfo: + type: object + properties: + maxWaitingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + VplmnQos: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + maxFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxFbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + guaFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + guaFbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + + DdnFailureSubs: + type: object + properties: + ddnFailureSubsInd: + type: boolean + default: false + ddnFailureSubsInfoList: + type: array + items: + $ref: '#/components/schemas/DdnFailureSubInfo' + minItems: 1 + + DdnFailureSubInfo: + type: object + required: + - notifyCorrelationId + properties: + notifyCorrelationId: + type: string + dddTrafficDescriptorList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + + RetrieveData: + type: object + properties: + smallDataRateStatusReq: + type: boolean + default: false + + RetrievedData: + type: object + properties: + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + + SecurityResult: + type: object + properties: + integrityProtectionResult: + $ref: '#/components/schemas/ProtectionResult' + confidentialityProtectionResult: + $ref: '#/components/schemas/ProtectionResult' + + UpSecurityInfo: + type: object + properties: + upSecurity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity' + maxIntegrityProtectedDataRateUl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + maxIntegrityProtectedDataRateDl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + securityResult: + $ref: '#/components/schemas/SecurityResult' + required: + - upSecurity + + AlternativeQosProfile: + type: object + properties: + index: + type: integer + minimum: 1 + maximum: 8 + guaFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + guaFbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + packetDelayBudget: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + packetErrRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + required: + - index + + ExtProblemDetails: + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/ProblemDetailsAddInfo' + + ProblemDetailsAddInfo: + type: object + properties: + remoteError: + type: boolean + + QosMonitoringInfo: + type: object + properties: + qosMonitoringInd: + type: boolean + default: false + + IpAddress: + type: object + oneOf: + - required: + - ipv4Addr + - required: + - ipv6Addr + - required: + - ipv6Prefix + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + + RedundantPduSessionInformation: + description: Redundant PDU Session Information + type: object + properties: + rsn: + $ref: '#/components/schemas/Rsn' + required: + - rsn + + QosFlowTunnel: + description: Tunnel Information per QoS Flow + type: object + properties: + qfiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + minItems: 1 + tunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + required: + - qfiList + - tunnelInfo + + +# +# SIMPLE DATA TYPES +# + ProcedureTransactionId: + type: integer + minimum: 0 + maximum: 255 + + EpsBearerId: + type: integer + minimum: 0 + maximum: 15 + + EpsPdnCnxContainer: + type: string + + EpsBearerContainer: + type: string + + Teid: + type: string + pattern: '^[A-Fa-f0-9]{8}$' + + EpsBearerContextStatus: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + + DrbId: + type: integer + minimum: 1 + maximum: 32 + + AdditionalTnlNb: + type: integer + minimum: 1 + maximum: 3 + + ForwardingBearerContainer: + type: string + +# +# ENUMERATIONS +# + UpCnxState: +# anyOf: +# - type: string + type: string + enum: + - ACTIVATED + - DEACTIVATED + - ACTIVATING + - SUSPENDED +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - ACTIVATED +# - DEACTIVATED +# - ACTIVATING +# - SUSPENDED + + HoState: +# anyOf: +# - type: string + type: string + enum: + - NONE + - PREPARING + - PREPARED + - COMPLETED + - CANCELLED +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - NONE +# - PREPARING +# - PREPARED +# - COMPLETED +# - CANCELLED + + RequestType: +# anyOf: +# - type: string + type: string + enum: + - INITIAL_REQUEST + - EXISTING_PDU_SESSION + - INITIAL_EMERGENCY_REQUEST + - EXISTING_EMERGENCY_PDU_SESSION +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - INITIAL_REQUEST +# - EXISTING_PDU_SESSION +# - INITIAL_EMERGENCY_REQUEST +# - EXISTING_EMERGENCY_PDU_SESSION + + RequestIndication: +# anyOf: +# - type: string + type: string + enum: + - UE_REQ_PDU_SES_MOD + - UE_REQ_PDU_SES_REL + - PDU_SES_MOB + - NW_REQ_PDU_SES_AUTH + - NW_REQ_PDU_SES_MOD + - NW_REQ_PDU_SES_REL + - EBI_ASSIGNMENT_REQ + - REL_DUE_TO_5G_AN_REQUEST +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - UE_REQ_PDU_SES_MOD +# - UE_REQ_PDU_SES_REL +# - PDU_SES_MOB +# - NW_REQ_PDU_SES_AUTH +# - NW_REQ_PDU_SES_MOD +# - NW_REQ_PDU_SES_REL +# - EBI_ASSIGNMENT_REQ +# - REL_DUE_TO_5G_AN_REQUEST + + NotificationCause: +# anyOf: +# - type: string + type: string + enum: + - QOS_FULFILLED + - QOS_NOT_FULFILLED + - UP_SEC_FULFILLED + - UP_SEC_NOT_FULFILLED +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - QOS_FULFILLED +# - QOS_NOT_FULFILLED +# - UP_SEC_FULFILLED +# - UP_SEC_NOT_FULFILLED + + Cause: +# anyOf: +# - type: string + type: string + enum: + - REL_DUE_TO_HO + - EPS_FALLBACK + - REL_DUE_TO_UP_SEC + - DNN_CONGESTION + - S_NSSAI_CONGESTION + - REL_DUE_TO_REACTIVATION + - 5G_AN_NOT_RESPONDING + - REL_DUE_TO_SLICE_NOT_AVAILABLE + - REL_DUE_TO_DUPLICATE_SESSION_ID + - PDU_SESSION_STATUS_MISMATCH + - HO_FAILURE + - INSUFFICIENT_UP_RESOURCES + - PDU_SESSION_HANDED_OVER + - PDU_SESSION_RESUMED + - CN_ASSISTED_RAN_PARAMETER_TUNING + - ISMF_CONTEXT_TRANSFER + - SMF_CONTEXT_TRANSFER + - REL_DUE_TO_PS_TO_CS_HO + - REL_DUE_TO_SUBSCRIPTION_CHANGE + - HO_CANCEL + - REL_DUE_TO_SLICE_NOT_AUTHORIZED + - PDU_SESSION_HAND_OVER_FAILURE + - DDN_FAILURE_STATUS + - REL_DUE_TO_CP_ONLY_NOT_APPLICABLE + - NOT_SUPPORTED_WITH_ISMF + - CHANGED_ANCHOR_SMF + - CHANGED_INTERMEDIATE_SMF +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - REL_DUE_TO_HO +# - EPS_FALLBACK +# - REL_DUE_TO_UP_SEC +# - DNN_CONGESTION +# - S_NSSAI_CONGESTION +# - REL_DUE_TO_REACTIVATION +# - 5G_AN_NOT_RESPONDING +# - REL_DUE_TO_SLICE_NOT_AVAILABLE +# - REL_DUE_TO_DUPLICATE_SESSION_ID +# - PDU_SESSION_STATUS_MISMATCH +# - HO_FAILURE +# - INSUFFICIENT_UP_RESOURCES +# - PDU_SESSION_HANDED_OVER +# - PDU_SESSION_RESUMED +# - CN_ASSISTED_RAN_PARAMETER_TUNING +# - ISMF_CONTEXT_TRANSFER +# - SMF_CONTEXT_TRANSFER +# - REL_DUE_TO_PS_TO_CS_HO +# - REL_DUE_TO_SUBSCRIPTION_CHANGE +# - HO_CANCEL +# - REL_DUE_TO_SLICE_NOT_AUTHORIZED +# - PDU_SESSION_HAND_OVER_FAILURE +# - DDN_FAILURE_STATUS +# - REL_DUE_TO_CP_ONLY_NOT_APPLICABLE +# - NOT_SUPPORTED_WITH_ISMF +# - CHANGED_ANCHOR_SMF +# - CHANGED_INTERMEDIATE_SMF + + ResourceStatus: +# anyOf: +# - type: string + type: string + enum: + - RELEASED + - UNCHANGED + - TRANSFERRED + - UPDATED + - ALT_ANCHOR_SMF +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - RELEASED +# - UNCHANGED +# - TRANSFERRED +# - UPDATED +# - ALT_ANCHOR_SMF + + DnnSelectionMode: +# anyOf: +# - type: string + type: string + enum: + - VERIFIED + - UE_DNN_NOT_VERIFIED + - NW_DNN_NOT_VERIFIED +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - VERIFIED +# - UE_DNN_NOT_VERIFIED +# - NW_DNN_NOT_VERIFIED + + EpsInterworkingIndication: +# anyOf: +# - type: string + type: string + enum: + - NONE + - WITH_N26 + - WITHOUT_N26 + - IWK_NON_3GPP +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - NONE +# - WITH_N26 +# - WITHOUT_N26 +# - IWK_NON_3GPP + + N2SmInfoType: +# anyOf: +# - type: string + type: string + enum: + - PDU_RES_SETUP_REQ + - PDU_RES_SETUP_RSP + - PDU_RES_SETUP_FAIL + - PDU_RES_REL_CMD + - PDU_RES_REL_RSP + - PDU_RES_MOD_REQ + - PDU_RES_MOD_RSP + - PDU_RES_MOD_FAIL + - PDU_RES_NTY + - PDU_RES_NTY_REL + - PDU_RES_MOD_IND + - PDU_RES_MOD_CFM + - PATH_SWITCH_REQ + - PATH_SWITCH_SETUP_FAIL + - PATH_SWITCH_REQ_ACK + - PATH_SWITCH_REQ_FAIL + - HANDOVER_REQUIRED + - HANDOVER_CMD + - HANDOVER_PREP_FAIL + - HANDOVER_REQ_ACK + - HANDOVER_RES_ALLOC_FAIL + - SECONDARY_RAT_USAGE + - PDU_RES_MOD_IND_FAIL +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - PDU_RES_SETUP_REQ +# - PDU_RES_SETUP_RSP +# - PDU_RES_SETUP_FAIL +# - PDU_RES_REL_CMD +# - PDU_RES_REL_RSP +# - PDU_RES_MOD_REQ +# - PDU_RES_MOD_RSP +# - PDU_RES_MOD_FAIL +# - PDU_RES_NTY +# - PDU_RES_NTY_REL +# - PDU_RES_MOD_IND +# - PDU_RES_MOD_CFM +# - PATH_SWITCH_REQ +# - PATH_SWITCH_SETUP_FAIL +# - PATH_SWITCH_REQ_ACK +# - PATH_SWITCH_REQ_FAIL +# - HANDOVER_REQUIRED +# - HANDOVER_CMD +# - HANDOVER_PREP_FAIL +# - HANDOVER_REQ_ACK +# - HANDOVER_RES_ALLOC_FAIL +# - SECONDARY_RAT_USAGE +# - PDU_RES_MOD_IND_FAIL + + MaxIntegrityProtectedDataRate: +# anyOf: +# - type: string + type: string + enum: + - 64_KBPS + - MAX_UE_RATE +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - 64_KBPS +# - MAX_UE_RATE + + MaReleaseIndication: +# anyOf: +# - type: string + type: string + enum: + - REL_MAPDU_OVER_3GPP + - REL_MAPDU_OVER_N3GPP +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - REL_MAPDU_OVER_3GPP +# - REL_MAPDU_OVER_N3GPP + + SmContextType: +# anyOf: +# - type: string + type: string + enum: + - EPS_PDN_CONNECTION + - SM_CONTEXT +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - EPS_PDN_CONNECTION +# - SM_CONTEXT + + PsaIndication: +# anyOf: +# - type: string + type: string + enum: + - PSA_INSERTED + - PSA_REMOVED +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - PSA_INSERTED +# - PSA_REMOVED + + N4MessageType: +# anyOf: +# - type: string + type: string + enum: + - PFCP_SES_EST_REQ + - PFCP_SES_EST_RSP + - PFCP_SES_MOD_REQ + - PFCP_SES_MOD_RSP + - PFCP_SES_DEL_REQ + - PFCP_SES_DEL_RSP + - PFCP_SES_REP_REQ + - PFCP_SES_REP_RSP +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - PFCP_SES_EST_REQ +# - PFCP_SES_EST_RSP +# - PFCP_SES_MOD_REQ +# - PFCP_SES_MOD_RSP +# - PFCP_SES_DEL_REQ +# - PFCP_SES_DEL_RSP +# - PFCP_SES_REP_REQ +# - PFCP_SES_REP_RSP + + QosFlowAccessType: +# anyOf: +# - type: string + type: string + enum: + - 3GPP + - NON_3GPP + - 3GPP_AND_NON_3GPP +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - 3GPP +# - NON_3GPP +# - 3GPP_AND_NON_3GPP + + UnavailableAccessIndication: +# anyOf: +# - type: string + type: string + enum: + - 3GA_UNAVAILABLE + - N3GA_UNAVAILABLE +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - 3GA_UNAVAILABLE +# - N3GA_UNAVAILABLE + + ProtectionResult: +# anyOf: +# - type: string + type: string + enum: + - PERFORMED + - NOT_PERFORMED +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - PERFORMED +# - NOT_PERFORMED + + QosMonitoringReq: +# anyOf: +# - type: string + type: string + enum: + - UL + - DL + - BOTH + - NONE +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - UL +# - DL +# - BOTH +# - NONE + + Rsn: +# anyOf: +# - type: string + type: string + enum: + - V1 + - V2 +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Redundancy Sequence Number. Possible values are +# - V1 +# - V2 + + +# +# HTTP request bodies +# + requestBodies: + 'VsmfUpdateRequestBody': + description: representation of updates to apply to the PDU session + required: true + content: + application/+json: # message without binary body part + schema: + $ref: '#/components/schemas/VsmfUpdateData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/VsmfUpdateData' + binaryDataN1SmInfoToUe: + type: string + format: binary + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoToUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + + 'NotifyStatusRequestBody': + description: representation of the status notification + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StatusNotification' + +# +# HTTP responses +# + responses: + 'VsmfUpdateResponse200': + description: successful update of a PDU session with content in the response + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/VsmfUpdatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/VsmfUpdatedData' + binaryDataN1SmInfoFromUe: + type: string + format: binary + binaryDataUnknownN1SmInfo: + type: string + format: binary + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoFromUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataUnknownN1SmInfo: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + + 'PduSessionCreateError': + description: unsuccessful creation of a PDU session + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/PduSessionCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/PduSessionCreateError' + binaryDataN1SmInfoToUe: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoToUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + + 'HsmfUpdateError': + description: unsuccessful update of a PDU session + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/HsmfUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/HsmfUpdateError' + binaryDataN1SmInfoToUe: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoToUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + + 'VsmfUpdateError': + description: unsuccessful update of a PDU session + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/VsmfUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/VsmfUpdateError' + binaryDataN1SmInfoFromUe: + type: string + format: binary + binaryDataUnknownN1SmInfo: + type: string + format: binary + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoFromUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataUnknownN1SmInfo: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '413': + description: Payload Too Large + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '415': + description: Unsupported Media Type + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '429': + description: Too Many Requests + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_EE.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_EE.yaml new file mode 100644 index 000000000..58846e748 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_EE.yaml @@ -0,0 +1,498 @@ +openapi: 3.0.0 + +info: + version: '1.1.1' + title: 'Nudm_EE' + description: | + Nudm Event Exposure Service. + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.6.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-ee/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-ee + - {} + +paths: + /{ueIdentity}/ee-subscriptions: + post: + summary: Subscribe + operationId: CreateEeSubscription + tags: + - Create EE Subscription + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the subscription is applied. Contains the GPSI of the user or the external group ID or any UE. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+|anyUE)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedEeSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-ee/v1/{ueIdentity}/ee-subscriptions/{subscriptionId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + eventOccurrenceNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MonitoringReport' + minItems: 1 + responses: + '204': + description: Successful Notification response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueIdentity}/ee-subscriptions/{subscriptionId}: + delete: + summary: Unsubscribe + operationId: DeleteEeSubscription + tags: + - Delete EE Subscription + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the subscription is applied. Contains the GPSI of the user or the external group ID or any UE. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+|anyUE)$' + - name: subscriptionId + in: path + description: Id of the EE Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: Patch + operationId: UpdateEeSubscription + tags: + - Update EE Subscription + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the subscription is applied. Contains the GPSI of the user or the external group ID or any UE. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+|anyUE)$' + - name: subscriptionId + in: path + description: Id of the EE Subscription + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful response + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-ee: Access to the nudm-ee API + + + schemas: + +# COMPLEX TYPES: + + CreatedEeSubscription: + type: object + required: + - eeSubscription + properties: + eeSubscription: + $ref: '#/components/schemas/EeSubscription' + numberOfUes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + eventReports: + type: array + items: + $ref: '#/components/schemas/MonitoringReport' + minItems: 1 + epcStatusInd: + type: boolean + + EeSubscription: + type: object + required: + - callbackReference + - monitoringConfigurations + properties: + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoringConfigurations: + description: A map (list of key-value pairs where ReferenceId serves as key) of MonitoringConfigurations + type: object + additionalProperties: + $ref: '#/components/schemas/MonitoringConfiguration' + minProperties: 1 + reportingOptions: + $ref: '#/components/schemas/ReportingOptions' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + subscriptionId: + type: string + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + epcAppliedInd: + type: boolean + default: false + scefDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + scefDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + notifyCorrelationId: + type: string + + + MonitoringConfiguration: + type: object + required: + - eventType + properties: + eventType: + $ref: '#/components/schemas/EventType' + immediateFlag: + type: boolean + locationReportingConfiguration: + $ref: '#/components/schemas/LocationReportingConfiguration' + associationType: + $ref: '#/components/schemas/AssociationType' + datalinkReportCfg: + $ref: '#/components/schemas/DatalinkReportingConfiguration' + lossConnectivityCfg: + $ref: '#/components/schemas/LossConnectivityCfg' + maximumLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + maximumResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + suggestedPacketNumDl: + type: integer + minimum: 1 + pduSessionStatusCfg: + $ref: '#/components/schemas/PduSessionStatusCfg' + reachabilityForSmsCfg: + $ref: '#/components/schemas/ReachabilityForSmsConfiguration' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + afId: + type: string + + + LossConnectivityCfg: + type: object + properties: + maxDetectionTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + LocationReportingConfiguration: + type: object + required: + - currentLocation + properties: + currentLocation: + type: boolean + oneTime: + type: boolean + accuracy: + $ref: '#/components/schemas/LocationAccuracy' + n3gppAccuracy: + $ref: '#/components/schemas/LocationAccuracy' + + ReportingOptions: + type: object + properties: + reportMode: + $ref: '#/components/schemas/EventReportMode' + maxNumOfReports: + $ref: '#/components/schemas/MaxNumOfReports' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + samplingRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + guardTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + reportPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + MonitoringReport: + type: object + required: + - referenceId + - eventType + - timeStamp + properties: + referenceId: + $ref: '#/components/schemas/ReferenceId' + eventType: + $ref: '#/components/schemas/EventType' + report: + $ref: '#/components/schemas/Report' + reachabilityForSmsReport: + $ref: '#/components/schemas/ReachabilityForSmsReport' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + Report: + oneOf: + - $ref: '#/components/schemas/ChangeOfSupiPeiAssociationReport' + - $ref: '#/components/schemas/RoamingStatusReport' + - $ref: '#/components/schemas/CnTypeChangeReport' + - $ref: '#/components/schemas/CmInfoReport' + + ReachabilityForSmsReport: + type: object + required: + - smsfAccessType + properties: + smsfAccessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + maxAvailabilityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ChangeOfSupiPeiAssociationReport: + type: object + required: + - newPei + properties: + newPei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + + RoamingStatusReport: + type: object + required: + - roaming + - newServingPlmn + properties: + roaming: + type: + boolean + newServingPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + + CnTypeChangeReport: + type: object + required: + - newCnType + properties: + newCnType: + $ref: '#/components/schemas/CnType' + oldCnType: + $ref: '#/components/schemas/CnType' + + DatalinkReportingConfiguration: + type: object + properties: + dddTrafficDes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + slice: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dddStatusList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + + CmInfoReport: + type: object + properties: + oldCmInfoList: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmInfo' + minItems: 1 + maxItems: 2 + newCmInfoList: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmInfo' + minItems: 1 + maxItems: 2 + required: + - newCmInfoList + + PduSessionStatusCfg: + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + +# SIMPLE TYPES: + + ReferenceId: + type: integer + + MaxNumOfReports: + type: integer + + +# ENUMS: + + ReachabilityForSmsConfiguration: + anyOf: + - type: string + enum: + - REACHABILITY_FOR_SMS_OVER_NAS + - REACHABILITY_FOR_SMS_OVER_IP + - type: string + + EventType: + anyOf: + - type: string + enum: + - LOSS_OF_CONNECTIVITY + - UE_REACHABILITY_FOR_DATA + - UE_REACHABILITY_FOR_SMS + - LOCATION_REPORTING + - CHANGE_OF_SUPI_PEI_ASSOCIATION + - ROAMING_STATUS + - COMMUNICATION_FAILURE + - AVAILABILITY_AFTER_DDN_FAILURE + - CN_TYPE_CHANGE + - DL_DATA_DELIVERY_STATUS + - PDN_CONNECTIVITY_STATUS + - UE_CONNECTION_MANAGEMENT_STATE + - type: string + + LocationAccuracy: + anyOf: + - type: string + enum: + - CELL_LEVEL + - TA_LEVEL + - N3IWF_LEVEL + - UE_IP + - UE_PORT + - type: string + + CnType: + anyOf: + - type: string + enum: + - SINGLE_4G + - SINGLE_5G + - DUAL_4G5G + - type: string + + AssociationType: + anyOf: + - type: string + enum: + - IMEI_CHANGE + - IMEISV_CHANGE + - type: string + + EventReportMode: + anyOf: + - type: string + enum: + - PERIODIC + - ON_EVENT_DETECTION + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_NIDDAU.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_NIDDAU.yaml new file mode 100644 index 000000000..5908cffaf --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_NIDDAU.yaml @@ -0,0 +1,172 @@ +openapi: 3.0.0 + +info: + version: '1.0.2' + title: 'Nudm_NIDDAU' + description: | + Nudm NIDD Authorization Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.8.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-niddau/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-niddau + - {} + +paths: + /{ueIdentity}/authorize: + post: + summary: Authorize the NIDD configuration request. + operationId: AuthorizeNiddData + tags: + - Authorize the NIDD configuration request + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the NIDD configuration are authorized. Contains the GPSI of the user or the external group ID. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationInfo' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + niddAuthUpdateNotification: + '{request.body#/authUpdateCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddAuthUpdateNotification' + responses: + '204': + description: Expected response to a valid request + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-niddau: Access to the nudm-niddau API + + schemas: + +# COMPLEX TYPES: +# + AuthorizationData: + type: object + required: + - authorizationData + properties: + authorizationData: + type: array + items: + $ref: '#/components/schemas/UserIdentifier' + minItems: 1 +# uniqueItems: true + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + UserIdentifier: + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + NiddAuthUpdateInfo: + type: object + required: + - authorizationData + properties: + authorizationData: + $ref: '#/components/schemas/AuthorizationData' + invalidityInd: + type: boolean + + NiddAuthUpdateNotification: + type: object + required: + - niddAuthUpdateInfoList + properties: + niddAuthUpdateInfoList: + type: array + items: + $ref: '#/components/schemas/NiddAuthUpdateInfo' + minItems: 1 + + AuthorizationInfo: + type: object + required: + - snssai + - dnn + - mtcProviderInformation + - authUpdateCallbackUri + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + authUpdateCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + afId: + type: string + nefId: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefId' + + +# SIMPLE TYPES: + + + +# ENUMS: + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_PP.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_PP.yaml new file mode 100644 index 000000000..f5762fc6b --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_PP.yaml @@ -0,0 +1,551 @@ +openapi: 3.0.0 + +info: + version: '1.1.3' + title: 'Nudm_PP' + description: | + Nudm Parameter Provision Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.8.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-pp + - {} + +paths: + /{ueId}/pp-data: + patch: + summary: provision parameters + operationId: Update + tags: + - Subscription Data Update + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PpData' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /5g-vn-groups/{extGroupId}: + put: + summary: create a 5G VN Group + operationId: Create 5G VN Group + tags: + - 5G VN Group Creation + parameters: + - name: extGroupId + in: path + description: External Identifier of the Group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/5GVnGroupConfiguration' + required: true + responses: + '201': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete a 5G VN Group + operationId: Delete 5G VN Group + tags: + - 5G VN Group Deletion + parameters: + - name: extGroupId + in: path + description: External Identifier of the Group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: mtc-provider-info + in: query + description: MTC Provider Information that originated the service operation + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + - name: af-id + in: query + description: AF ID that originated the service operation + schema: + type: string + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: modify a 5G VN Group + operationId: Modify 5G VN Group + tags: + - 5G VN Group Modification + parameters: + - name: extGroupId + in: path + description: External Identifier of the group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/5GVnGroupConfiguration' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: get 5G VN Group + operationId: Get 5G VN Group + tags: + - 5G VN Group Modification + parameters: + - name: extGroupId + in: path + description: External Identifier of the group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/5GVnGroupConfiguration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-pp: Access to the nudm-pp API + + + schemas: + +# COMPLEX TYPES: + + PpData: + type: object + properties: + communicationCharacteristics: + $ref: '#/components/schemas/CommunicationCharacteristics' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + expectedUeBehaviourParameters: + $ref: '#/components/schemas/ExpectedUeBehaviour' + ecRestriction: + $ref: '#/components/schemas/EcRestriction' + acsInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AcsInfoRm' + stnSr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StnSrRm' + lcsPrivacy: + $ref: '#/components/schemas/LcsPrivacy' + sorInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SorInfo' + + CommunicationCharacteristics: + type: object + properties: + ppSubsRegTimer: + $ref: '#/components/schemas/PpSubsRegTimer' + ppActiveTime: + $ref: '#/components/schemas/PpActiveTime' + ppDlPacketCount: + $ref: '#/components/schemas/PpDlPacketCount' + ppDlPacketCountExt: + $ref: '#/components/schemas/PpDlPacketCountExt' + ppMaximumResponseTime: + $ref: '#/components/schemas/PpMaximumResponseTime' + ppMaximumLatency: + $ref: '#/components/schemas/PpMaximumLatency' + + + PpSubsRegTimer: + type: object + required: + - subsRegTimer + - afInstanceId + - referenceId + properties: + subsRegTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + PpActiveTime: + type: object + required: + - activeTime + - afInstanceId + - referenceId + properties: + activeTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + 5GVnGroupConfiguration: + type: object + properties: + 5gVnGroupData: + $ref: '#/components/schemas/5GVnGroupData' + members: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + referenceId: + $ref: '#/components/schemas/ReferenceId' + afInstanceId: + type: string + internalGroupIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + + 5GVnGroupData: + type: object + required: + - dnn + - sNssai + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + pduSessionTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + appDescriptors: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AppDescriptor' + minItems: 1 + secondaryAuth: + type: boolean + dnAaaAddress: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/IpAddress' + + ExpectedUeBehaviour: + type: object + required: + - afInstanceId + - referenceId + properties: + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + stationaryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StationaryIndicationRm' + communicationDurationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + scheduledCommunicationType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTypeRm' + periodicTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + scheduledCommunicationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTimeRm' + expectedUmts: + type: array + items: + $ref: '#/components/schemas/LocationArea' + minItems: 1 + nullable: true + description: Identifies the UE's expected geographical movement. The attribute is only applicable in 5G. + trafficProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficProfileRm' + batteryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BatteryIndicationRm' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + + LocationArea: + type: object + properties: + geographicAreas: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 0 + description: Identifies a list of geographic area of the user where the UE is located. + civicAddresses: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 0 + description: Identifies a list of civic addresses of the user where the UE is located. + nwAreaInfo: + $ref: '#/components/schemas/NetworkAreaInfo' + + NetworkAreaInfo: + description: Describes a network area information in which the NF service consumer requests the number of UEs. + type: object + properties: + ecgis: + description: Contains a list of E-UTRA cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + minItems: 1 + ncgis: + description: Contains a list of NR cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + minItems: 1 + gRanNodeIds: + description: Contains a list of NG RAN nodes. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + tais: + description: Contains a list of tracking area identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + + EcRestriction: + type: object + required: + - afInstanceId + - referenceId + properties: + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + plmnEcInfos: + type: array + items: + $ref: '#/components/schemas/PlmnEcInfo' + minItems: 1 + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + + PlmnEcInfo: + type: object + required: + - plmnId + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + ecRestrictionDataWb: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/EcRestrictionDataWb' + ecRestrictionDataNb: + type: boolean + default: false + + + PpDlPacketCountExt: + type: object + required: + - afInstanceId + - referenceId + properties: + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + PpMaximumResponseTime: + type: object + required: + - maximumResponseTime + - afInstanceId + - referenceId + properties: + maximumResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + PpMaximumLatency: + type: object + required: + - maximumLatency + - afInstanceId + - referenceId + properties: + maximumLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + LcsPrivacy: + type: object + properties: + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + lpi: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/Lpi' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + + +# SIMPLE TYPES: + + ReferenceId: + type: integer + + PpDlPacketCount: + type: integer + nullable: true + + + +# ENUMS: + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_SDM.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_SDM.yaml new file mode 100644 index 000000000..8569d80cb --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_SDM.yaml @@ -0,0 +1,2900 @@ +openapi: 3.0.0 + +info: + version: '2.1.4' + title: 'Nudm_SDM' + description: | + Nudm Subscriber Data Management Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.8.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-sdm/v2' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-sdm + - {} + +paths: + /{supi}: + get: + summary: retrieve multiple data sets + operationId: GetDataSets + tags: + - Retrieval of multiple data sets + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: dataset-names + in: query + style: form + explode: false + description: List of dataset names + required: true + schema: + $ref: '#/components/schemas/DatasetNames' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionDataSets' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/nssai: + get: + summary: retrieve a UE's subscribed NSSAI + operationId: GetNSSAI + tags: + - Slice Selection Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Nssai' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/ue-context-in-amf-data: + get: + summary: retrieve a UE's UE Context In AMF Data + operationId: GetUeCtxInAmfData + tags: + - UE Context In AMF Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextInAmfData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data: + get: + summary: retrieve a UE's Access and Mobility Subscription Data + operationId: GetAmData + tags: + - Access and Mobility Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/ecr-data: + get: + summary: retrieve a UE's subscribed Enhanced Coverage Restriction Data + operationId: GetEcrData + tags: + - Enhanced Coverage Restriction Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EnhancedCoverageRestrictionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/smf-select-data: + get: + summary: retrieve a UE's SMF Selection Subscription Data + operationId: GetSmfSelData + tags: + - SMF Selection Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSelectionSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/ue-context-in-smf-data: + get: + summary: retrieve a UE's UE Context In SMF Data + operationId: GetUeCtxInSmfData + tags: + - UE Context In SMF Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextInSmfData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/ue-context-in-smsf-data: + get: + summary: retrieve a UE's UE Context In SMSF Data + operationId: GetUeCtxInSmsfData + tags: + - UE Context In SMSF Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextInSmsfData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/trace-data: + get: + summary: retrieve a UE's Trace Configuration Data + operationId: GetTraceConfigData + tags: + - Trace Configuration Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/TraceDataResponse' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/sm-data: + get: + summary: retrieve a UE's Session Management Subscription Data + operationId: GetSmData + tags: + - Session Management Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: plmn-id + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SessionManagementSubscriptionData' + minItems: 1 + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/sms-data: + get: + summary: retrieve a UE's SMS Subscription Data + operationId: GetSmsData + tags: + - SMS Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/sms-mng-data: + get: + summary: retrieve a UE's SMS Management Subscription Data + operationId: GetSmsMngtData + tags: + - SMS Management Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{ueId}/lcs-privacy-data: + get: + summary: retrieve a UE's LCS Privacy Subscription Data + operationId: GetLcsPrivacyData + tags: + - LCS Privacy Data Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsPrivacyData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/lcs-mo-data: + get: + summary: retrieve a UE's LCS Mobile Originated Subscription Data + operationId: GetLcsMoData + tags: + - LCS Mobile Originated Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsMoData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/lcs-bca-data: + get: + summary: retrieve a UE's LCS Broadcast Assistance Data Types Subscription Data + operationId: GetLcsBcaData + tags: + - LCS Broadcast Assistance Data Types Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsBroadcastAssistanceTypesData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/v2x-data: + get: + summary: retrieve a UE's V2X Subscription Data + operationId: GetV2xData + tags: + - V2X Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/V2xSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/sdm-subscriptions: + post: + summary: subscribe to notifications + operationId: Subscribe + tags: + - Subscription Creation + parameters: + - name: ueId + in: path + description: Identity of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-sdm//{supi}/sdm-subscriptions/{subscriptionId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + datachangeNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ModificationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{ueId}/sdm-subscriptions/{subscriptionId}: + delete: + summary: unsubscribe from notifications + operationId: Unsubscribe + tags: + - Subscription Deletion + parameters: + - name: ueId + in: path + description: Identity of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subscriptionId + in: path + description: Id of the SDM Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: modify the subscription + operationId: Modify + tags: + - Subscription Modification + parameters: + - name: ueId + in: path + description: Identity of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subscriptionId + in: path + description: Id of the SDM Subscription + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SdmSubsModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/SdmSubscription' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{ueId}/id-translation-result: + get: + summary: retrieve a UE's SUPI or GPSI + operationId: GetSupiOrGpsi + tags: + - GPSI to SUPI Translation + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: app-port-id + in: query + description: Application port identifier + content: + application/json: + schema: + $ref: '#/components/schemas/AppPortId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/IdTranslationResult' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/sor-ack: + put: + summary: Nudm_Sdm Info service operation + operationId: SorAckInfo + tags: + - Providing acknowledgement of Steering of Roaming + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AcknowledgeInfo' + responses: + '204': + description: Successful acknowledgement + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/upu-ack: + put: + summary: Nudm_Sdm Info for UPU service operation + operationId: UpuAck + tags: + - Providing acknowledgement of UE Parameters Update + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AcknowledgeInfo' + responses: + '204': + description: Successful acknowledgement + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/subscribed-snssais-ack: + put: + summary: Nudm_Sdm Info operation for S-NSSAIs acknowledgement + operationId: S-NSSAIs Ack + tags: + - Providing acknowledgement of S-NSSAIs Update + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AcknowledgeInfo' + responses: + '204': + description: Successful acknowledgement + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/cag-ack: + put: + summary: Nudm_Sdm Info operation for CAG acknowledgement + operationId: CAG Ack + tags: + - Providing acknowledgement of CAG Update + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AcknowledgeInfo' + responses: + '204': + description: Successful acknowledgement + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/update-sor: + post: + summary: Nudm_Sdm custom operation to trigger SOR info update + operationId: Update SOR Info + tags: + - Trigger SOR info update + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SorUpdateInfo' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SorInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /shared-data: + get: + summary: retrieve shared data + operationId: GetSharedData + tags: + - Retrieval of shared data + parameters: + - name: shared-data-ids + in: query + description: List of shared data ids + required: true + style: form + explode: false + schema: + $ref: '#/components/schemas/SharedDataIds' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SharedData' + minItems: 1 + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /shared-data-subscriptions: + post: + summary: subscribe to notifications for shared data + operationId: SubscribeToSharedData + tags: + - Subscription Creation for shared data + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-sdm//shared-data-subscriptions/{subscriptionId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + description: Unexpected error + callbacks: + datachangeNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ModificationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /shared-data-subscriptions/{subscriptionId}: + delete: + summary: unsubscribe from notifications for shared data + operationId: UnsubscribeForSharedData + tags: + - Subscription Deletion for shared data + parameters: + - name: subscriptionId + in: path + description: Id of the Shared data Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: modify the subscription + operationId: ModifySharedDataSubs + tags: + - Subscription Modification + parameters: + - name: subscriptionId + in: path + description: Id of the SDM Subscription + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SdmSubsModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/SdmSubscription' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /group-data/group-identifiers: + get: + summary: Mapping of Group Identifiers + operationId: GetGroupIdentifiers + tags: + - Group Identifiers + parameters: + - name: ext-group-id + in: query + description: External Group Identifier + required: false + schema: + $ref: '#/components/schemas/ExtGroupId' + - name: int-group-id + in: query + description: Internal Group Identifier + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: ue-id-ind + in: query + description: Indication whether UE identifiers are required or not + required: false + schema: + type: boolean + default: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/GroupIdentifiers' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-sdm: Access to the nudm-sdm API + + schemas: + +# COMPLEX TYPES: + + DatasetNames: + type: array + items: + $ref: '#/components/schemas/DataSetName' + minItems: 2 + uniqueItems: true + + SubscriptionDataSets: + type: object + properties: + amData: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + smfSelData: + $ref: '#/components/schemas/SmfSelectionSubscriptionData' + uecAmfData: + $ref: '#/components/schemas/UeContextInAmfData' + uecSmfData: + $ref: '#/components/schemas/UeContextInSmfData' + uecSmsfData: + $ref: '#/components/schemas/UeContextInSmsfData' + smsSubsData: + $ref: '#/components/schemas/SmsSubscriptionData' + smData: + type: array + items: + $ref: '#/components/schemas/SessionManagementSubscriptionData' + minItems: 1 + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + smsMngData: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + lcsPrivacyData: + $ref: '#/components/schemas/LcsPrivacyData' + lcsMoData: + $ref: '#/components/schemas/LcsMoData' + v2xData: + $ref: '#/components/schemas/V2xSubscriptionData' + lcsBroadcastAssistanceTypesData: + $ref: '#/components/schemas/LcsBroadcastAssistanceTypesData' + + UeContextInSmsfData: + type: object + properties: + smsfInfo3GppAccess: + $ref: '#/components/schemas/SmsfInfo' + smsfInfoNon3GppAccess: + $ref: '#/components/schemas/SmsfInfo' + + SmsfInfo: + type: object + required: + - smsfInstanceId + - plmnId + properties: + smsfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + + AccessAndMobilitySubscriptionData: + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + internalGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + sharedVnGroupDataIds: + type: object + additionalProperties: + $ref: '#/components/schemas/SharedDataId' + minProperties: 1 + subscribedUeAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmbrRm' + nssai: + $ref: '#/components/schemas/Nssai' + ratRestrictions: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + forbiddenAreas: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Area' + serviceAreaRestriction: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + coreNetworkTypeRestrictions: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CoreNetworkType' + rfspIndex: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndexRm' + subsRegTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + ueUsageType: + $ref: '#/components/schemas/UeUsageType' + mpsPriority: + $ref: '#/components/schemas/MpsPriorityIndicator' + mcsPriority: + $ref: '#/components/schemas/McsPriorityIndicator' + activeTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + sorInfo: + $ref: '#/components/schemas/SorInfo' + sorInfoExpectInd: + type: boolean + sorafRetrieval: + type: boolean + default: false + sorUpdateIndicatorList: + type: array + items: + $ref: '#/components/schemas/SorUpdateIndicator' + minItems: 1 + upuInfo: + $ref: '#/components/schemas/UpuInfo' + micoAllowed: + $ref: '#/components/schemas/MicoAllowed' + sharedAmDataIds: + type: array + items: + $ref: '#/components/schemas/SharedDataId' + minItems: 1 + odbPacketServices: + $ref: 'TS29571_CommonData.yaml#/components/schemas/OdbPacketServices' + subscribedDnnList: + type: array + items: +# anyOf: +# - $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' +# - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + serviceGapTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + mdtUserConsent: + $ref: '#/components/schemas/MdtUserConsent' + mdtConfiguration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MdtConfiguration' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + cagData: + $ref: '#/components/schemas/CagData' + stnSr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StnSr' + cMsisdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CMsisdn' + nbIoTUePriority: + $ref: '#/components/schemas/NbIoTUePriority' + nssaiInclusionAllowed: + type: boolean + default: false + rgWirelineCharacteristics: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RgWirelineCharacteristics' + ecRestrictionDataWb: + $ref: '#/components/schemas/EcRestrictionDataWb' + ecRestrictionDataNb: + type: boolean + default: false + expectedUeBehaviourList: + $ref: '#/components/schemas/ExpectedUeBehaviourData' + primaryRatRestrictions: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + secondaryRatRestrictions: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + edrxParametersList: + type: array + items: + $ref: '#/components/schemas/EdrxParameters' + minItems: 1 + ptwParametersList: + type: array + items: + $ref: '#/components/schemas/PtwParameters' + minItems: 1 + iabOperationAllowed: + type: boolean + default: false + wirelineForbiddenAreas: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineArea' + wirelineServiceAreaRestriction: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + + CagData: + type: object + required: + - cagInfos + properties: + cagInfos: + description: A map (list of key-value pairs where PlmnId serves as key) of CagInfo + type: object + additionalProperties: + $ref: '#/components/schemas/CagInfo' + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + CagInfo: + type: object + required: + - allowedCagList + properties: + allowedCagList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId' + cagOnlyIndicator: + type: boolean + + SmfSelectionSubscriptionData: + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + subscribedSnssaiInfos: + type: object + additionalProperties: + $ref: '#/components/schemas/SnssaiInfo' + sharedSnssaiInfosId: + $ref: '#/components/schemas/SharedDataId' + + SnssaiInfo: + type: object + required: + - dnnInfos + properties: + dnnInfos: + type: array + items: + $ref: '#/components/schemas/DnnInfo' + minItems: 1 + + DnnInfo: + type: object + required: + - dnn + properties: + dnn: +# anyOf: +# - $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' +# - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + defaultDnnIndicator: + $ref: '#/components/schemas/DnnIndicator' + lboRoamingAllowed: + $ref: '#/components/schemas/LboRoamingAllowed' + iwkEpsInd: + $ref: '#/components/schemas/IwkEpsInd' + dnnBarred: + type: boolean + invokeNefInd: + type: boolean + smfList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + sameSmfInd: + type: boolean + + Nssai: + type: object + required: + - defaultSingleNssais + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + defaultSingleNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + singleNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + additionalSnssaiData: + type: object + additionalProperties: + $ref: '#/components/schemas/AdditionalSnssaiData' + minProperties: 1 + nullable: true + + UeContextInAmfData: + type: object + properties: + epsInterworkingInfo: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/EpsInterworkingInfo' + + UeContextInSmfData: + type: object + properties: + pduSessions: + description: A map (list of key-value pairs where PduSessionId serves as key) of PduSessions + type: object + additionalProperties: + $ref: '#/components/schemas/PduSession' + pgwInfo: + type: array + items: + $ref: '#/components/schemas/PgwInfo' + minItems: 1 + emergencyInfo: + $ref: '#/components/schemas/EmergencyInfo' + + EmergencyInfo: + type: object + oneOf: + - required: + - pgwFqdn + - required: + - pgwIpAddress + properties: + pgwFqdn: + type: string + pgwIpAddress: + $ref: '#/components/schemas/IpAddress' + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + epdgInd: + type: boolean + default: false + + + PduSession: + type: object + required: + - dnn + - smfInstanceId + - plmnId + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + PgwInfo: + type: object + required: + - dnn + - pgwFqdn + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + pgwFqdn: + type: string + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + epdgInd: + type: boolean + default: false + + SessionManagementSubscriptionData: + type: object + required: + - singleNssai + properties: + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnnConfigurations: + description: A map (list of key-value pairs where Dnn, or optionally the Wildcard DNN, serves as key) of DnnConfigurations + type: object + additionalProperties: + $ref: '#/components/schemas/DnnConfiguration' + internalGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + sharedVnGroupDataIds: + type: object + additionalProperties: + $ref: '#/components/schemas/SharedDataId' + minProperties: 1 + sharedDnnConfigurationsId: + $ref: '#/components/schemas/SharedDataId' + odbPacketServices: + $ref: 'TS29571_CommonData.yaml#/components/schemas/OdbPacketServices' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + sharedTraceDataId: + $ref: '#/components/schemas/SharedDataId' + expectedUeBehavioursList: + type: object + additionalProperties: + $ref: '#/components/schemas/ExpectedUeBehaviourData' + minProperties: 1 + suggestedPacketNumDlList: + type: object + additionalProperties: + $ref: '#/components/schemas/SuggestedPacketNumDl' + minProperties: 1 + 3gppChargingCharacteristics: + $ref: '#/components/schemas/3GppChargingCharacteristics' + + DnnConfiguration: + type: object + required: + - pduSessionTypes + - sscModes + properties: + pduSessionTypes: + $ref: '#/components/schemas/PduSessionTypes' + sscModes: + $ref: '#/components/schemas/SscModes' + iwkEpsInd: + $ref: '#/components/schemas/IwkEpsInd' + 5gQosProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos' + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + 3gppChargingCharacteristics: + $ref: '#/components/schemas/3GppChargingCharacteristics' + staticIpAddress: + type: array + items: + $ref: '#/components/schemas/IpAddress' + minItems: 1 + maxItems: 2 + upSecurity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity' + pduSessionContinuityInd: + $ref: '#/components/schemas/PduSessionContinuityInd' + niddNefId: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefId' + niddInfo: + $ref: '#/components/schemas/NiddInformation' + redundantSessionAllowed: + type: boolean + acsInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AcsInfo' + ipv4FrameRouteList: + type: array + items: + $ref: '#/components/schemas/FrameRouteInfo' + minItems: 1 + ipv6FrameRouteList: + type: array + items: + $ref: '#/components/schemas/FrameRouteInfo' + minItems: 1 + atsssAllowed: + type: boolean + default: false + secondaryAuth: + type: boolean + dnAaaIpAddressAllocation: + type: boolean + dnAaaAddress: + $ref: '#/components/schemas/IpAddress' + iptvAccCtrlInfo: + type: string + + NiddInformation: + type: object + required: + - afId + properties: + afId: + type: string + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + extGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + + IpAddress: + type: object + oneOf: + - required: + - ipv4Addr + - required: + - ipv6Addr + - required: + - ipv6Prefix + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + + PduSessionTypes: + type: object + required: + - defaultSessionType + properties: + defaultSessionType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + allowedSessionTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + + SscModes: + type: object + required: + - defaultSscMode + properties: + defaultSscMode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + allowedSscModes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + minItems: 1 + maxItems: 2 + + SmsSubscriptionData: + type: object + properties: + smsSubscribed: + $ref: '#/components/schemas/SmsSubscribed' + sharedSmsSubsDataId: + $ref: '#/components/schemas/SharedDataId' + + SmsManagementSubscriptionData: + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtSmsSubscribed: + type: boolean + mtSmsBarringAll: + type: boolean + mtSmsBarringRoaming: + type: boolean + moSmsSubscribed: + type: boolean + moSmsBarringAll: + type: boolean + moSmsBarringRoaming: + type: boolean + sharedSmsMngDataIds: + type: array + items: + $ref: '#/components/schemas/SharedDataId' + minItems: 1 + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + + SdmSubscription: + type: object + required: + - nfInstanceId + - callbackReference + - monitoredResourceUris + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + implicitUnsubscribe: + type: boolean + expires: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + subscriptionId: + type: string + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + immediateReport: + type: boolean + default: false + report: + $ref: '#/components/schemas/SubscriptionDataSets' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + contextInfo: + $ref: '#/components/schemas/ContextInfo' + + SdmSubsModification: + type: object + properties: + expires: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + + ModificationNotification: + type: object + required: + - notifyItems + properties: + notifyItems: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotifyItem' + minItems: 1 + + IdTranslationResult: + type: object + required: + - supi + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + + AcknowledgeInfo: + type: object + required: + - provisioningTime + properties: + sorMacIue: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SorMac' + upuMacIue: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuMac' + securedPacket: + $ref: '#/components/schemas/SecuredPacket' + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueNotReachable: + type: boolean + default: false + + SorInfo: + type: object + properties: + steeringContainer: + $ref: '#/components/schemas/SteeringContainer' + ackInd: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/AckInd' + sorMacIausf: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SorMac' + countersor: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/CounterSor' + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - ackInd + - provisioningTime + + SharedDataIds: + type: array + items: + $ref: '#/components/schemas/SharedDataId' + minItems: 1 + uniqueItems: true + + UpuInfo: + type: object + properties: + upuDataList: + type: array + items: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuData' + minItems: 1 + upuRegInd: + $ref: '#/components/schemas/UpuRegInd' + upuAckInd: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuAckInd' + upuMacIausf: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuMac' + counterUpu: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/CounterUpu' + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - upuDataList + - upuAckInd + - upuRegInd + - provisioningTime + + + SharedData: + type: object + required: + - sharedDataId + properties: + sharedDataId: + $ref: '#/components/schemas/SharedDataId' + sharedAmData: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + sharedSmsSubsData: + $ref: '#/components/schemas/SmsSubscriptionData' + sharedSmsMngSubsData: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + sharedDnnConfigurations: + type: object + additionalProperties: + $ref: '#/components/schemas/DnnConfiguration' + sharedTraceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + sharedSnssaiInfos: + type: object + additionalProperties: + $ref: '#/components/schemas/SnssaiInfo' + sharedVnGroupDatas: + type: object + additionalProperties: + $ref: '#/components/schemas/VnGroupData' + minProperties: 1 + + TraceDataResponse: + type: object + properties: + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + sharedTraceDataId: + $ref: '#/components/schemas/SharedDataId' + + SteeringContainer: + oneOf: + - type: array + items: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SteeringInfo' + minItems: 1 + - $ref: '#/components/schemas/SecuredPacket' + + GroupIdentifiers: + type: object + properties: + extGroupId: + $ref: '#/components/schemas/ExtGroupId' + intGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + ueIdList: + type: array + items: + $ref: '#/components/schemas/UeId' + minItems: 1 + + VnGroupData: + type: object + properties: + pduSessionTypes: + $ref: '#/components/schemas/PduSessionTypes' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appDescriptors: + type: array + items: + $ref: '#/components/schemas/AppDescriptor' + minItems: 1 + + AppDescriptor: + type: object + properties: + osId: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/OsId' + appId: + type: string + + AdditionalSnssaiData: + type: object + properties: + requiredAuthnAuthz: + type: boolean + + AppPortId: + type: object + properties: + destinationPort: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + originatorPort: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + + LcsPrivacyData: + type: object + properties: + lpi: + $ref: '#/components/schemas/Lpi' + unrelatedClass: + $ref: '#/components/schemas/UnrelatedClass' + plmnOperatorClasses: + type: array + items: + $ref: '#/components/schemas/PlmnOperatorClass' + minItems: 1 + + Lpi: + type: object + required: + - locationPrivacyInd + properties: + locationPrivacyInd: + $ref: '#/components/schemas/LocationPrivacyInd' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + + UnrelatedClass: + type: object + required: + - defaultUnrelatedClass + properties: + defaultUnrelatedClass: + $ref: '#/components/schemas/DefaultUnrelatedClass' + externalUnrelatedClass: + $ref: '#/components/schemas/ExternalUnrelatedClass' + serviceTypeUnrelatedClasses: + type: array + items: + $ref: '#/components/schemas/ServiceTypeUnrelatedClass' + minItems: 1 + + PlmnOperatorClass: + type: object + required: + - lcsClientClass + - lcsClientIds + properties: + lcsClientClass: + $ref: '#/components/schemas/LcsClientClass' + lcsClientIds: + type: array + items: + $ref: '#/components/schemas/LcsClientId' + minItems: 1 + + ValidTimePeriod: + type: object + properties: + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + ExternalUnrelatedClass: + properties: + lcsClientExternals: + type: array + items: + $ref: '#/components/schemas/LcsClientExternal' + minItems: 1 + afExternals: + type: array + items: + $ref: '#/components/schemas/AfExternal' + minItems: 1 + lcsClientGroupExternals: + type: array + items: + $ref: '#/components/schemas/LcsClientGroupExternal' + minItems: 1 + + AfExternal: + type: object + properties: + afId: + $ref: '#/components/schemas/AfId' + allowedGeographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + privacyCheckRelatedAction: + $ref: '#/components/schemas/PrivacyCheckRelatedAction' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + + LcsClientExternal: + type: object + properties: + allowedGeographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + privacyCheckRelatedAction: + $ref: '#/components/schemas/PrivacyCheckRelatedAction' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + + LcsClientGroupExternal: + type: object + properties: + lcsClientGroupId: + $ref: '#/components/schemas/ExtGroupId' + allowedGeographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + privacyCheckRelatedAction: + $ref: '#/components/schemas/PrivacyCheckRelatedAction' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + + ServiceTypeUnrelatedClass: + type: object + required: + - serviceType + properties: + serviceType: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LcsServiceType' + allowedGeographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + privacyCheckRelatedAction: + $ref: '#/components/schemas/PrivacyCheckRelatedAction' + codeWordInd: + $ref: '#/components/schemas/CodeWordInd' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + codeWordList: + type: array + items: + $ref: '#/components/schemas/CodeWord' + minItems: 1 + + LcsMoData: + type: object + required: + - allowedServiceClasses + properties: + allowedServiceClasses: + type: array + items: + $ref: '#/components/schemas/LcsMoServiceClass' + minItems: 1 + + LcsBroadcastAssistanceTypesData: + type: object + required: + - locationAssistanceType + properties: + locationAssistanceType: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Binary' + minItems: 1 + + EcRestrictionDataWb: + type: object +# anyOf: +# - required: [ ecModeARestricted ] +# - required: [ ecModeBRestricted ] + properties: + ecModeARestricted: + type: boolean + ecModeBRestricted: + type: boolean + + ExpectedUeBehaviourData: + type: object + properties: + stationaryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StationaryIndication' + communicationDurationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + periodicTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + scheduledCommunicationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTime' + scheduledCommunicationType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationType' + expectedUmts: + type: array + items: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/LocationArea' + minItems: 1 + description: Identifies the UE's expected geographical movement. The attribute is only applicable in 5G. + trafficProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficProfile' + batteryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BatteryIndication' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + + SuggestedPacketNumDl: + type: object + required: + - suggestedPacketNumDl + properties: + suggestedPacketNumDl: + type: integer + minimum: 1 + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + FrameRouteInfo: + type: object + properties: + ipv4Mask: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrMask' + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + + SorUpdateInfo: + type: object + required: + - vplmnId + properties: + vplmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + + EnhancedCoverageRestrictionData: + type: object + properties: + plmnEcInfoList: + type: array + items: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/PlmnEcInfo' + minItems: 1 + + EdrxParameters: + type: object + required: + - ratType + - edrxValue + properties: + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + edrxValue: + type: string + pattern: '^([0-1]{4})$' + + PtwParameters: + type: object + required: + - operationMode + - ptwValue + properties: + operationMode: + $ref: '#/components/schemas/OperationMode' + ptwValue: + type: string + pattern: '^([0-1]{4})$' + + UeId: + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + + V2xSubscriptionData: + type: object + properties: + nrV2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NrV2xAuth' + lteV2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LteV2xAuth' + nrUePc5Ambr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ltePc5Ambr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + + DefaultUnrelatedClass: + type: object + properties: + allowedGeographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + privacyCheckRelatedAction: + $ref: '#/components/schemas/PrivacyCheckRelatedAction' + codeWordInd: + $ref: '#/components/schemas/CodeWordInd' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + codeWordList: + type: array + items: + $ref: '#/components/schemas/CodeWord' + minItems: 1 + + ContextInfo: + type: object + properties: + origHeaders: + type: array + items: + type: string + minItems: 1 + +# SIMPLE TYPES: + + UeUsageType: + type: integer + + MpsPriorityIndicator: + type: boolean + + McsPriorityIndicator: + type: boolean + + DnnIndicator: + type: boolean + + LboRoamingAllowed: + type: boolean + + SmsSubscribed: + type: boolean + + 3GppChargingCharacteristics: + type: string + + MicoAllowed: + type: boolean + + SharedDataId: + type: string + pattern: '^[0-9]{5,6}-.+$' + + IwkEpsInd: + type: boolean + + SecuredPacket: + type: string + format: base64 + + UpuRegInd: + type: boolean + + ExtGroupId: + type: string + pattern: '^extgroupid-[^@]+@[^@]+$' + + NbIoTUePriority: + type: integer + minimum: 0 + maximum: 255 + + CodeWord: + type: string + + AfId: + type: string + + LcsClientId: + type: string + + + +# ENUMS: + + DataSetName: +# anyOf: +# - type: string + type: string + enum: + - AM + - SMF_SEL + - UEC_SMF + - UEC_SMSF + - SMS_SUB + - SM + - TRACE + - SMS_MNG + - LCS_PRIVACY + - LCS_MO + - UEC_AMF + - V2X +# - type: string + + PduSessionContinuityInd: +# anyOf: +# - type: string + type: string + enum: + - MAINTAIN_PDUSESSION + - RECONNECT_PDUSESSION + - RELEASE_PDUSESSION +# - type: string + + LocationPrivacyInd: +# anyOf: +# - type: string + type: string + enum: + - LOCATION_DISALLOWED + - LOCATION_ALLOWED +# - type: string + + PrivacyCheckRelatedAction: +# anyOf: +# - type: string + type: string + enum: + - LOCATION_NOT_ALLOWED + - LOCATION_ALLOWED_WITH_NOTIFICATION + - LOCATION_ALLOWED_WITHOUT_NOTIFICATION + - LOCATION_ALLOWED_WITHOUT_RESPONSE + - LOCATION_RESTRICTED_WITHOUT_RESPONSE +# - type: string + + LcsClientClass: +# anyOf: +# - type: string + type: string + enum: + - BROADCAST_SERVICE + - OM_IN_HPLMN + - OM_IN_VPLMN + - ANONYMOUS_LOCATION_SERVICE + - SPECIFIC_SERVICE +# - type: string + + LcsMoServiceClass: +# anyOf: +# - type: string + type: string + enum: + - BASIC_SELF_LOCATION + - AUTONOMOUS_SELF_LOCATION + - TRANSFER_TO_THIRD_PARTY +# - type: string + + OperationMode: +# anyOf: +# - type: string + type: string + enum: + - WB_S1 + - NB_S1 + - WB_N1 + - NB_N1 +# - type: string + + SorUpdateIndicator: +# anyOf: +# - type: string + type: string + enum: + - INITIAL_REGISTRATION + - EMERGENCY_REGISTRATION +# - type: string + + CodeWordInd: +# anyOf: +# - type: string + type: string + enum: + - CODEWORD_CHECK_IN_UE + - CODEWORD_CHECK_IN_GMLC +# - type: string + + MdtUserConsent: +# anyOf: +# - type: string + type: string + enum: + - CONSENT_NOT_GIVEN + - CONSENT_GIVEN +# - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_UEAU.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_UEAU.yaml new file mode 100644 index 000000000..52b3f7b9b --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_UEAU.yaml @@ -0,0 +1,649 @@ +openapi: 3.0.0 +info: + version: '1.1.2' + title: 'Nudm_UEAU' + description: | + UDM UE Authentication Service. + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.6.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-ueau/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-ueau + - {} + +paths: + /{supiOrSuci}/security-information/generate-auth-data: + post: + summary: Generate authentication data for the UE + operationId: GenerateAuthData + tags: + - Generate Auth Data + parameters: + - name: supiOrSuci + in: path + description: SUPI or SUCI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupiOrSuci' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInfoResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supiOrSuci}/security-information-rg: + get: + summary: Get authentication data for the FN-RG + operationId: GetRgAuthData + tags: + - Get Auth Data for FN-RG + parameters: + - name: supiOrSuci + in: path + description: SUPI or SUCI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupiOrSuci' + - name: authenticated-ind + in: query + description: Authenticated indication + required: true + schema: + $ref: '#/components/schemas/AuthenticatedInd' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/RgAuthCtx' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/auth-events: + post: + summary: Create a new confirmation event + operationId: ConfirmAuth + tags: + - Confirm Auth + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthEvent' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthEvent' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-ueau/v1/{supi}/auth-events/{authEventId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/hss-security-information/{hssAuthType}/generate-av: + post: + summary: Generate authentication data for the UE in EPS or IMS domain + operationId: GenerateAv + tags: + - Generate HSS Authentication Vectors + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: hssAuthType + in: path + description: Type of AV requested by HSS + required: true + schema: + $ref: '#/components/schemas/HssAuthTypeInUri' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HssAuthenticationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/HssAuthenticationInfoResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/auth-events/{authEventId}: + put: + summary: Deletes the authentication result in the UDM + operationId: DeleteAuth + tags: + - Delete Auth + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: authEventId + in: path + description: authEvent Id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthEvent' + required: true + responses: + '204': + description: Expected response to a successful authentication result removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-ueau: Access to the nudm-ueau API + + + schemas: + +# COMPLEX TYPES: + + AuthenticationInfoRequest: + type: object + required: + - servingNetworkName + - ausfInstanceId + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + servingNetworkName: + $ref: '#/components/schemas/ServingNetworkName' + resynchronizationInfo: + $ref: '#/components/schemas/ResynchronizationInfo' + ausfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + cellCagInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId' + minItems: 1 + n5gcInd: + type: boolean + default: false + + AuthenticationInfoResult: + type: object + required: + - authType + properties: + authType: + $ref: '#/components/schemas/AuthType' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + authenticationVector: + $ref: '#/components/schemas/AuthenticationVector' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + AuthenticationVector: + oneOf: + - $ref: '#/components/schemas/AvEapAkaPrime' + - $ref: '#/components/schemas/Av5GHeAka' + discriminator: + propertyName: avType + mapping: + 5G_HE_AKA: '#/components/schemas/Av5GHeAka' + EAP_AKA_PRIME: '#/components/schemas/AvEapAkaPrime' + + AvEapAkaPrime: + type: object + required: + - avType + - rand +# - xres + - autn +# - ckPrime +# - ikPrime + properties: + avType: + $ref: '#/components/schemas/AvType' + rand: + $ref: '#/components/schemas/Rand' + xres: + $ref: '#/components/schemas/Xres' + autn: + $ref: '#/components/schemas/Autn' + ckPrime: + $ref: '#/components/schemas/CkPrime' + ikPrime: + $ref: '#/components/schemas/IkPrime' + + Av5GHeAka: + type: object + required: + - avType + - rand +# - xresStar + - autn +# - kausf + properties: + avType: + $ref: '#/components/schemas/AvType' + rand: + $ref: '#/components/schemas/Rand' + xresStar: + $ref: '#/components/schemas/XresStar' + autn: + $ref: '#/components/schemas/Autn' + kausf: + $ref: '#/components/schemas/Kausf' + + ResynchronizationInfo: + type: object + required: + - rand + - auts + properties: + rand: + $ref: '#/components/schemas/Rand' + auts: + $ref: '#/components/schemas/Auts' + + AuthEvent: + type: object + required: + - nfInstanceId + - success + - timeStamp + - authType + - servingNetworkName + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + success: + $ref: '#/components/schemas/Success' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + authType: + $ref: '#/components/schemas/AuthType' + servingNetworkName: + $ref: '#/components/schemas/ServingNetworkName' + authRemovalInd: + type: boolean + default: false + + RgAuthCtx: + type: object + required: + - authInd + properties: + authInd: + type: boolean + default: false + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + HssAuthenticationInfoRequest: + type: object + required: + - hssAuthType + - numOfRequestedVectors + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + hssAuthType: + $ref: '#/components/schemas/HssAuthType' + numOfRequestedVectors: + $ref: '#/components/schemas/NumOfRequestedVectors' + requestingNodeType: + $ref: '#/components/schemas/NodeType' + servingNetworkId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + resynchronizationInfo: + $ref: '#/components/schemas/ResynchronizationInfo' + anId: + $ref: '#/components/schemas/AccessNetworkId' + + + HssAuthenticationInfoResult: + type: object + required: + - hssAuthenticationVectors + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + hssAuthenticationVectors: + $ref: '#/components/schemas/HssAuthenticationVectors' + + HssAuthenticationVectors: + oneOf: + - type: array + items: + $ref: '#/components/schemas/AvEpsAka' + minItems: 1 + maxItems: 5 + - type: array + items: + $ref: '#/components/schemas/AvImsGbaEapAka' + minItems: 1 + maxItems: 5 + - type: array + items: + $ref: '#/components/schemas/AvEapAkaPrime' + minItems: 1 + maxItems: 5 + + AvEpsAka: + type: object + required: + - avType + - rand + - xres + - autn + - kasme + properties: + avType: + $ref: '#/components/schemas/HssAvType' + rand: + $ref: '#/components/schemas/Rand' + xres: + $ref: '#/components/schemas/Xres' + autn: + $ref: '#/components/schemas/Autn' + kasme: + $ref: '#/components/schemas/Kasme' + + AvImsGbaEapAka: + type: object + required: + - avType + - rand + - xres + - autn + - ck + - ik + properties: + avType: + $ref: '#/components/schemas/HssAvType' + rand: + $ref: '#/components/schemas/Rand' + xres: + $ref: '#/components/schemas/Xres' + autn: + $ref: '#/components/schemas/Autn' + ck: + $ref: '#/components/schemas/ConfidentialityKey' + ik: + $ref: '#/components/schemas/IntegrityKey' + + +# SIMPLE TYPES: + + Autn: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Auts: + type: string + pattern: '^[A-Fa-f0-9]{28}$' + + CkPrime: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + IkPrime: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Kausf: + type: string + pattern: '^[A-Fa-f0-9]{64}$' + + Rand: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Xres: + type: string + pattern: '^[A-Fa-f0-9]{8,32}$' + + XresStar: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + ServingNetworkName: + type: string + pattern: '^5G:mnc[0-9]{3}[.]mcc[0-9]{3}[.]3gppnetwork[.]org(:[A-F0-9]{11})?$' + + Success: + type: boolean + + AuthenticatedInd: + type: boolean + + ConfidentialityKey: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + IntegrityKey: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Kasme: + type: string + pattern: '^[A-Fa-f0-9]{64}$' + + NumOfRequestedVectors: + type: integer + minimum: 1 + maximum: 5 + + +# ENUMS: + + AuthType: +# anyOf: +# - type: string + type: string + enum: + - 5G_AKA + - EAP_AKA_PRIME + - EAP_TLS +# - type: string + + AvType: +# anyOf: +# - type: string + type: string + enum: + - 5G_HE_AKA + - EAP_AKA_PRIME +# - type: string + + HssAuthType: +# anyOf: +# - type: string + type: string + enum: + - EPS_AKA + - EAP_AKA + - EAP_AKA_PRIME + - IMS_AKA + - GBA_AKA + - UMTS_AKA +# - type: string + + HssAvType: +# anyOf: +# - type: string + type: string + enum: + - EPS_AKA + - EAP_AKA + - IMS_AKA + - GBA_AKA + - UMTS_AKA +# - type: string + + HssAuthTypeInUri: +# anyOf: +# - type: string + type: string + enum: + - eps-aka + - eap-aka + - eap-aka-prime + - ims-aka + - gba-aka +# - type: string + + AccessNetworkId: +# anyOf: +# - type: string + type: string + enum: + - HRPD + - WIMAX + - WLAN + - ETHERNET +# - type: string + + NodeType: +# anyOf: +# - type: string + type: string + enum: + - AUSF + - VLR + - SGSN + - S_CSCF + - BSF + - GAN_AAA_SERVER + - WLAN_AAA_SERVER + - MME +# - type: string + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_UECM.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_UECM.yaml new file mode 100644 index 000000000..449c2b65a --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29503_Nudm_UECM.yaml @@ -0,0 +1,1658 @@ +openapi: 3.0.0 + +info: + version: '1.1.3' + title: 'Nudm_UECM' + description: | + Nudm Context Management Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.8.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-uecm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-uecm + - {} + +paths: + /{ueId}/registrations: + get: + summary: retrieve UE registration data sets + operationId: GetRegistrations + tags: + - UECM Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: registration-dataset-names + in: query + style: form + explode: false + description: List of UECM registration dataset names + required: true + schema: + $ref: '#/components/schemas/RegistrationDatasetNames' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/RegistrationDataSets' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-3gpp-access: + put: + summary: register as AMF for 3GPP access + operationId: 3GppRegistration + tags: + - AMF registration for 3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/amf-3gpp-access' + required: true + schema: + type: string + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + deregistrationeNotification: + '{request.body#/deregCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationData' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + pcscfRestorationNotification: + '{request.body#/pcscfRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcscfRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + patch: + summary: Update a parameter in the AMF registration for 3GPP access + operationId: Update3GppRegistration + tags: + - Parameter update in the AMF registration for 3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistrationModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the AMF registration for 3GPP access information + operationId: Get3GppRegistration + tags: + - AMF 3Gpp-access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-3gpp-access/dereg-amf: + post: + summary: trigger AMF for 3GPP access deregistration + operationId: deregAMF + tags: + - Trigger AMF for 3GPP access deregistration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfDeregInfo' + required: true + responses: + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-3gpp-access/pei-update: + post: + summary: Updates the PEI in the 3GPP access registration context + operationId: PeiUpdate + tags: + - PEI Update + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PeiUpdateInfo' + required: true + responses: + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-non-3gpp-access: + put: + summary: register as AMF for non-3GPP access + operationId: Non3GppRegistration + tags: + - AMF registration for non-3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/amf-non-3gpp-access' + required: true + schema: + type: string + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + '204': + description: No Content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + deregistrationeNotification: + '{request.body#/deregCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationData' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + pcscfRestorationNotification: + '{request.body#/pcscfRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcscfRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: update a parameter in the AMF registration for non-3GPP access + operationId: UpdateNon3GppRegistration + tags: + - Parameter update in the AMF registration for non-3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistrationModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the AMF registration for non-3GPP access information + operationId: GetNon3GppRegistration + tags: + - AMF non-3GPP-access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smf-registrations: + get: + summary: retrieve the SMF registration information + operationId: GetSmfRegistration + tags: + - SMF SmfRegistration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistrationInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smf-registrations/{pduSessionId}: + put: + summary: register as SMF + operationId: Registration + tags: + - SMF SmfRegistration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: pduSessionId + in: path + description: Identifier of the PDU session + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/smf-registrations/{pduSessionId}' + required: true + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + deregistrationeNotification: + '{request.body#/deregCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationData' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + pcscfRestorationNotification: + '{request.body#/pcscfRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcscfRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete an SMF registration + operationId: SmfDeregistration + tags: + - SMF Deregistration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: pduSessionId + in: path + description: Identifier of the PDU session + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + - name: smf-set-id + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: get an SMF registration + operationId: RetrieveSmfRegistration + tags: + - Retrieve SMF Registration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: pduSessionId + in: path + description: Identifier of the PDU session + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smsf-3gpp-access: + put: + summary: register as SMSF for 3GPP access + operationId: 3GppSmsfRegistration + tags: + - SMSF registration for 3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/smsf-3gpp-access' + required: true + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete the SMSF registration for 3GPP access + operationId: 3GppSmsfDeregistration + tags: + - SMSF Deregistration for 3GPP Access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: smsf-set-id + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the SMSF registration for 3GPP access information + operationId: Get3GppSmsfRegistration + tags: + - SMSF 3GPP access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smsf-non-3gpp-access: + put: + summary: register as SMSF for non-3GPP access + operationId: Non3GppSmsfRegistration + tags: + - SMSF registration for non-3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/smsf-non-3gpp-access' + required: true + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete SMSF registration for non 3GPP access + operationId: Non3GppSmsfDeregistration + tags: + - SMSF Deregistration for non-3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: smsf-set-id + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the SMSF registration for non-3GPP access information + operationId: GetNon3GppSmsfRegistration + tags: + - SMSF non-3GPP access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/ip-sm-gw: + put: + summary: Register an IP-SM-GW + operationId: IpSmGwRegistration + tags: + - IP-SM-GW registration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/ip-sm-gw' + required: true + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: Delete the IP-SM-GW registration + operationId: IpSmGwDeregistration + tags: + - IP-SM-GW Deregistration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: Retrieve the IP-SM-GW registration information + operationId: GetIpSmGwRegistration + tags: + - IP-SM-GW Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /restore-pcscf: + post: + summary: Trigger the Restoration of the P-CSCF + operationId: Trigger P-CSCF Restoration + tags: + - Trigger P-CSCF Restoration + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerRequest' + required: true + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/location: + get: + summary: retrieve the target UE's location information + operationId: GetLocationInfo + tags: + - UE Location Information retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LocationInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-uecm: Access to the nudm-uecm API + + schemas: + +# COMPLEX TYPES: + + Amf3GppAccessRegistration: + type: object + required: + - amfInstanceId + - deregCallbackUri + - guami + - ratType + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + deregCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNameDereg: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + pcscfRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNamePcscfRest: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + initialRegistrationInd: + type: boolean + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + minItems: 1 + drFlag: + $ref: '#/components/schemas/DualRegistrationFlag' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + urrpIndicator: + type: boolean + amfEeSubscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + epsInterworkingInfo: + $ref: '#/components/schemas/EpsInterworkingInfo' + ueSrvccCapability: + type: boolean + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + vgmlcAddress: + $ref: '#/components/schemas/VgmlcAddress' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + noEeSubscriptionInd: + type: boolean + default: false + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + + Amf3GppAccessRegistrationModification: + type: object + required: + - guami + properties: + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + epsInterworkingInfo: + $ref: '#/components/schemas/EpsInterworkingInfo' + ueSrvccCapability: + type: boolean + nullable: true + + EpsInterworkingInfo: + type: object + properties: + epsIwkPgws: + description: A map (list of key-value pairs where Dnn serves as key) of EpsIwkPgws + type: object + additionalProperties: + $ref: '#/components/schemas/EpsIwkPgw' + + EpsIwkPgw: + type: object + required: + - pgwFqdn + - smfInstanceId + properties: + pgwFqdn: + type: string + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + AmfNon3GppAccessRegistration: + type: object + required: + - amfInstanceId + - imsVoPs + - deregCallbackUri + - guami + - ratType + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + deregCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNameDereg: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + pcscfRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNamePcscfRest: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + minItems: 1 + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + urrpIndicator: + type: boolean + amfEeSubscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + vgmlcAddress: + $ref: '#/components/schemas/VgmlcAddress' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + noEeSubscriptionInd: + type: boolean + default: false + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + + AmfNon3GppAccessRegistrationModification: + type: object + required: + - guami + properties: + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + + SmfRegistration: + type: object + required: + - smfInstanceId + - pduSessionId + - singleNssai + - plmnId + properties: + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + emergencyServices: + type: boolean + pcscfRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + pgwFqdn: + type: string + epdgInd: + type: boolean + default: false + deregCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + registrationReason: + $ref: '#/components/schemas/RegistrationReason' + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + + SmsfRegistration: + type: object + required: + - smsfInstanceId + - plmnId + properties: + smsfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smsfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + smsfMAPAddress: + $ref: '#/components/schemas/E164Number' + smsfDiameterAddress: + $ref: '#/components/schemas/NetworkNodeDiameterAddress' + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + + + DeregistrationData: + type: object + required: + - deregReason + properties: + deregReason: + $ref: '#/components/schemas/DeregistrationReason' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + newSmfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + PcscfRestorationNotification: + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + NetworkNodeDiameterAddress: + type: object + required: + - name + - realm + properties: + name: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + realm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + + TriggerRequest: + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + SmfRegistrationInfo: + type: object + required: + - smfRegistrationList + properties: + smfRegistrationList: + type: array + items: + $ref: '#/components/schemas/SmfRegistration' + minItems: 1 + + IpSmGwRegistration: + type: object +# anyOf: +# - required: [ ipSmGwMapAddress ] +# - required: [ ipSmGwDiameterAddress ] + properties: + ipSmGwMapAddress: + $ref: '#/components/schemas/E164Number' + ipSmGwDiameterAddress: + $ref: '#/components/schemas/NetworkNodeDiameterAddress' + unriIndicator: + type: boolean + default: false + + + AmfDeregInfo: + type: object + required: + - deregReason + properties: + deregReason: + $ref: '#/components/schemas/DeregistrationReason' + + LocationInfo: + type: object + required: + - registrationLocationInfoList + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + registrationLocationInfoList: + type: array + items: + $ref: '#/components/schemas/RegistrationLocationInfo' + minItems: 1 + maxItems: 2 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + RegistrationLocationInfo: + type: object + required: + - amfInstanceId + - accessTypeList + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + vgmlcAddress: + $ref: '#/components/schemas/VgmlcAddress' + accessTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + maxItems: 2 + + VgmlcAddress: + type: object + properties: + vgmlcAddressIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + vgmlcAddressIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + vgmlcFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + + PeiUpdateInfo: + type: object + required: + - pei + properties: + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + + RegistrationDatasetNames: + type: array + items: + $ref: '#/components/schemas/RegistrationDataSetName' + minItems: 2 + uniqueItems: true + + RegistrationDataSets: + type: object + properties: + amf3Gpp: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + amfNon3Gpp: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + smfRegistration: + $ref: '#/components/schemas/SmfRegistrationInfo' + smsf3Gpp: + $ref: '#/components/schemas/SmsfRegistration' + smsfNon3Gpp: + $ref: '#/components/schemas/SmsfRegistration' + + +# SIMPLE TYPES: + + PurgeFlag: + type: boolean + + E164Number: + type: string + pattern: '^[0-9]{1,15}$' + + DualRegistrationFlag: + type: boolean + +# ENUMS: + + ImsVoPs: +# anyOf: +# - type: string + type: string + enum: + - HOMOGENEOUS_SUPPORT + - HOMOGENEOUS_NON_SUPPORT + - NON_HOMOGENEOUS_OR_UNKNOWN +# - type: string + + DeregistrationReason: +# anyOf: +# - type: string + type: string + enum: + - UE_INITIAL_REGISTRATION + - UE_REGISTRATION_AREA_CHANGE + - SUBSCRIPTION_WITHDRAWN + - 5GS_TO_EPS_MOBILITY + - 5GS_TO_EPS_MOBILITY_UE_INITIAL_REGISTRATION + - REREGISTRATION_REQUIRED + - SMF_CONTEXT_TRANSFERRED +# - type: string + + RegistrationReason: +# anyOf: +# - type: string + type: string + enum: + - SMF_CONTEXT_TRANSFERRED +# - type: string + + RegistrationDataSetName: +# anyOf: +# - type: string + type: string + enum: + - AMF_3GPP + - AMF_NON_3GPP + - SMF_PDU_SESSIONS + - SMSF_3GPP + - SMSF_NON_3GPP +# - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29504_Nudr_DR.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29504_Nudr_DR.yaml new file mode 100644 index 000000000..57be707f8 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29504_Nudr_DR.yaml @@ -0,0 +1,202 @@ +openapi: 3.0.0 + +info: + version: 2.1.4 + title: 'Nudr_DataRepository API OpenAPI file' + description: | + Unified Data Repository Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.504 V16.8.0; 5G System; Unified Data Repository Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.504/' + +servers: + - description: API root + url: '{apiRoot}/nudr-dr/v2' + variables: + apiRoot: + default: https://example.com + +security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + +paths: + /subscription-data/{ueId}/authentication-data/authentication-subscription: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-subscription' + /subscription-data/{ueId}/authentication-data/authentication-status: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-status' + /subscription-data/{ueId}/authentication-data/authentication-status/{servingNetworkName}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-status~1%7BservingNetworkName%7D' + /subscription-data/{ueId}/ue-update-confirmation-data/sor-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1sor-data' + /subscription-data/{ueId}/ue-update-confirmation-data/upu-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1upu-data' + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-cag: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1subscribed-cag' + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-snssais: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1subscribed-snssais' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/am-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1am-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/smf-selection-subscription-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1smf-selection-subscription-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sm-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sm-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/lcs-bca-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1lcs-bca-data' + /subscription-data/{ueId}/context-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data' + /subscription-data/{ueId}/context-data/amf-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1amf-3gpp-access' + /subscription-data/{ueId}/context-data/amf-non-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1amf-non-3gpp-access' + /subscription-data/{ueId}/context-data/smf-registrations: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smf-registrations' + /subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smf-registrations~1%7BpduSessionId%7D' + /subscription-data/{ueId}/operator-specific-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1operator-specific-data' + /subscription-data/{ueId}/context-data/smsf-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smsf-3gpp-access' + /subscription-data/{ueId}/context-data/smsf-non-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smsf-non-3gpp-access' + /subscription-data/{ueId}/context-data/location: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1location' + /subscription-data/{ueId}/context-data/ip-sm-gw: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ip-sm-gw' + /subscription-data/{ueId}/context-data/mwd: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1mwd' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-mng-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sms-mng-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sms-data' + /subscription-data/{ueId}/lcs-privacy-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1lcs-privacy-data' + /subscription-data/{ueId}/lcs-mo-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1lcs-mo-data' + /subscription-data/{ueId}/pp-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1pp-data' + /subscription-data/{ueId}/context-data/ee-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/amf-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D~1amf-subscriptions' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/smf-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D~1smf-subscriptions' + /subscription-data/group-data/{ueGroupId}/ee-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions' + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions~1%7BsubsId%7D' + /subscription-data/group-data/{ueGroupId}/ee-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-profile-data' + /subscription-data/group-data/5g-vn-groups: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups' + /subscription-data/group-data/5g-vn-groups/{externalGroupId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups~1%7BexternalGroupId%7D' + /subscription-data/group-data/5g-vn-groups/internal: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups~1internal' + /subscription-data/group-data/5g-vn-groups/pp-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups~1pp-profile-data' + /subscription-data/{ueId}/ee-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ee-profile-data' + /subscription-data/{ueId}/context-data/sdm-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1sdm-subscriptions' + /subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1sdm-subscriptions~1%7BsubsId%7D' + /subscription-data/shared-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1shared-data' + /subscription-data/subs-to-notify: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1subs-to-notify' + /subscription-data/subs-to-notify/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1subs-to-notify~1%7BsubsId%7D' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/trace-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1trace-data' + /subscription-data/{ueId}/identity-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1identity-data' + /subscription-data/{ueId}/operator-determined-barring-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1operator-determined-barring-data' + /subscription-data/{ueId}/nidd-authorization-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1nidd-authorization-data' + /subscription-data/{ueId}/v2x-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1v2x-data' + /subscription-data/{ueId}/pp-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1pp-profile-data' + /subscription-data/{ueId}/coverage-restriction-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1coverage-restriction-data' + /subscription-data/group-data/group-identifiers: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1group-identifiers' + /policy-data/ues/{ueId}/am-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1am-data' + /policy-data/ues/{ueId}/ue-policy-set: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1ue-policy-set' + /policy-data/ues/{ueId}/sm-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1sm-data' + /policy-data/ues/{ueId}/sm-data/{usageMonId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1sm-data~1%7BusageMonId%7D' + /policy-data/sponsor-connectivity-data/{sponsorId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1sponsor-connectivity-data~1%7BsponsorId%7D' + /policy-data/bdt-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1bdt-data' + /policy-data/bdt-data/{bdtReferenceId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1bdt-data~1%7BbdtReferenceId%7D' + /policy-data/subs-to-notify: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1subs-to-notify' + /policy-data/subs-to-notify/{subsId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1subs-to-notify~1%7BsubsId%7D' + /policy-data/ues/{ueId}/operator-specific-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1operator-specific-data' + /application-data/pfds: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1pfds' + /application-data/pfds/{appId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1pfds~1%7BappId%7D' + /application-data/influenceData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData' + /application-data/influenceData/{influenceId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1%7BinfluenceId%7D' + /policy-data/plmns/{plmnId}/ue-policy-set: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1plmns~1%7BplmnId%7D~1ue-policy-set' + /application-data/bdtPolicyData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1bdtPolicyData' + /application-data/bdtPolicyData/{bdtPolicyId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1bdtPolicyData~1%7BbdtPolicyId%7D' + /application-data/iptvConfigData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1iptvConfigData' + /application-data/iptvConfigData/{configurationId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1iptvConfigData~1%7BconfigurationId%7D' + /application-data/influenceData/subs-to-notify: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1subs-to-notify' + /application-data/influenceData/subs-to-notify/{subscriptionId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1subs-to-notify~1%7BsubscriptionId%7D' + /application-data/serviceParamData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1serviceParamData' + /application-data/serviceParamData/{serviceParamId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1serviceParamData~1%7BserviceParamId%7D' + /application-data/subs-to-notify: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1subs-to-notify' + /application-data/subs-to-notify/{subsId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1subs-to-notify~1%7BsubsId%7D' + /exposure-data/{ueId}/access-and-mobility-data: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1%7BueId%7D~1access-and-mobility-data' + /exposure-data/{ueId}/session-management-data/{pduSessionId}: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1%7BueId%7D~1session-management-data~1%7BpduSessionId%7D' + /exposure-data/subs-to-notify: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1subs-to-notify' + /exposure-data/subs-to-notify/{subId}: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1subs-to-notify~1%7BsubId%7D' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudr-dr: Access to the Nudr_DataRepository API + nudr-dr:subscription-data:authentication-subscription:read: Access to read the AuthenticationSubscription resource of the SubscriptionData data set + nudr-dr:subscription-data:authentication-subscription:modify: Access to update the AuthenticationSubscription resource of the SubscriptionData data set diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29505_Subscription_Data.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29505_Subscription_Data.yaml new file mode 100644 index 000000000..77e525889 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29505_Subscription_Data.yaml @@ -0,0 +1,4528 @@ +openapi: 3.0.0 +info: + version: '-' + title: 'Unified Data Repository Service API file for subscription data' + description: | + Unified Data Repository Service (subscription data). + The API version is defined in 3GPP TS 29.504. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.505 V16.7.0; 5G System; Usage of the Unified Data Repository Service for subscription data; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.505/' + +paths: + + /subscription-data/{ueId}/authentication-data/authentication-subscription: + get: + summary: Retrieves the authentication subscription data of a UE + operationId: QueryAuthSubsData + tags: + - Authentication Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:authentication-subscription:read + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the authentication subscription data of a UE + operationId: ModifyAuthenticationSubscription + tags: + - Authentication Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:authentication-subscription:modify + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/authentication-data/authentication-status: + put: + summary: To store the Authentication Status data of a UE + operationId: CreateAuthenticationStatus + tags: + - Authentication Status (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the Authentication Status of a UE + operationId: QueryAuthenticationStatus + tags: + - AuthEvent (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + description: Supported Features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the Authentication Status of a UE + operationId: DeleteAuthenticationStatus + tags: + - AuthEvent (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '204': + description: Upon success, an empty response body shall be returned. + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/authentication-data/authentication-status/{servingNetworkName}: + put: + summary: To store the individual Authentication Status data of a UE + operationId: CreateIndividualAuthenticationStatus + tags: + - Individual Authentication Status (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: servingNetworkName + in: path + description: Serving Network Name + required: true + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + required: true + + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the Individual Authentication Status of a UE + operationId: QueryIndividualAuthenticationStatus + tags: + - Individual AuthEvent (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: servingNetworkName + in: path + description: Serving Network Name + required: true + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + description: Supported Features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the Individual Authentication Status of a UE + operationId: DeleteIndividualAuthenticationStatus + tags: + - Individual AuthEvent (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: servingNetworkName + in: path + description: Serving Network Name + required: true + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + responses: + '204': + description: Upon success, an empty response body shall be returned. + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/sor-data: + put: + summary: To store the SoR acknowledgement information of a UE + operationId: CreateAuthenticationSoR + tags: + - Authentication SoR (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SorData' + required: true + + responses: + '204': + description: Expected response to a valid request + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the SoR acknowledgement information of a UE + operationId: QueryAuthSoR + tags: + - Authentication SoR (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SorData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/upu-data: + put: + summary: To store the UPU acknowledgement information of a UE + operationId: CreateAuthenticationUPU + tags: + - Authentication UPU (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpuData' + responses: + '204': + description: Expected response to a valid request + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the UPU acknowledgement information of a UE + operationId: QueryAuthUPU + tags: + - Authentication UPU (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UpuData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-snssais: + put: + summary: To store the NSSAI update acknowledgement information of a UE + operationId: Create NSSAI update ack + tags: + - NSSAI update ack (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NssaiAckData' + required: true + responses: + '204': + description: Expected response to a valid request + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the UPU acknowledgement information of a UE + operationId: QueryNssaiAck + tags: + - NSSAI ACK (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NssaiAckData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-cag: + put: + summary: To store the CAG update acknowledgement information of a UE + operationId: CreateCagUpdateAck + tags: + - CAG update ack (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CagAckData' + required: true + responses: + '204': + description: Expected response to a valid request + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the CAG acknowledgement information of a UE + operationId: QueryCagAck + tags: + - CAG ACK (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CagAckData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data: + get: + summary: Retrieve multiple provisioned data sets of a UE + operationId: QueryProvisionedData + tags: + - Provisioned Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: dataset-names + in: query + description: List of dataset names + style: form + explode: false + schema: + $ref: '#/components/schemas/DatasetNames' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisionedDataSets' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/am-data: + get: + summary: Retrieves the access and mobility subscription data of a UE + operationId: QueryAmData + tags: + - Access And Mobility Subscription Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/smf-selection-subscription-data: + get: + summary: Retrieves the SMF selection subscription data of a UE + operationId: QuerySmfSelectData + tags: + - SMF Selection Subscription Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSelectionSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sm-data: + get: + summary: Retrieves the Session Management subscription data of a UE + operationId: QuerySmData + tags: + - Session Management Subscription Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: '#/components/schemas/VarSnssai' + description: single NSSAI + required: false + - name: dnn + in: query + description: DNN + required: false + schema: + $ref: '#/components/schemas/Dnn' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SessionManagementSubscriptionData' + minItems: 1 + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/amf-3gpp-access: + get: + summary: Retrieves the AMF context data of a UE using 3gpp access + operationId: QueryAmfContext3gpp + tags: + - AMF 3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: To store the AMF context data of a UE using 3gpp access in the UDR + operationId: CreateAmfContext3gpp + tags: + - AMF 3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/amf-3gpp-access' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: To modify the AMF context data of a UE using 3gpp access in the UDR + operationId: AmfContext3gpp + tags: + - AMF 3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/amf-non-3gpp-access: + get: + summary: Retrieves the AMF context data of a UE using non-3gpp access + operationId: QueryAmfContextNon3gpp + tags: + - AMF Non-3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: To store the AMF context data of a UE using non-3gpp access in the UDR + operationId: CreateAmfContextNon3gpp + tags: + - AMF Non-3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/amf-non-3gpp-access' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: To modify the AMF context data of a UE using non 3gpp access in the UDR + operationId: AmfContextNon3gpp + tags: + - AMF Non-3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smf-registrations: + get: + summary: Retrieves the SMF registration list of a UE + operationId: QuerySmfRegList + tags: + - SMF Registrations (Collection) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegList' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}: + get: + summary: Retrieves the individual SMF registration of a UE + operationId: QuerySmfRegistration + tags: + - SMF Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: To create an individual SMF context data of a UE in the UDR + operationId: CreateSmfContextNon3gpp + tags: + - SMF Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + required: true + responses: + '201': + description: Upon success, a response body containing a representation of the created Individual SmfRegistration resource shall be returned + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}' + required: true + schema: + type: string + '204': + description: No content + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove an individual SMF context data of a UE the UDR + operationId: DeleteSmfContext + tags: + - SMF Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + responses: + '204': + description: Upon success, an empty response body shall be returned. + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/operator-specific-data: + get: + summary: Retrieves the operator specific data of a UE + operationId: QueryOperSpecData + tags: + - Operator-Specific Data Container (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OperatorSpecificDataContainer' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: To modify operator specific data of a UE + operationId: ModifyOperSpecData + tags: + - Operator-Specific Data Container (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smsf-3gpp-access: + put: + summary: Create the SMSF context data of a UE via 3GPP access + operationId: CreateSmsfContext3gpp + tags: + - SMSF 3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/smsf-3gpp-access' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the SMSF context data of a UE via 3GPP access + operationId: DeleteSmsfContext3gpp + tags: + - SMSF 3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the SMSF context data of a UE using 3gpp access + operationId: QuerySmsfContext3gpp + tags: + - SMSF 3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smsf-non-3gpp-access: + put: + summary: Create the SMSF context data of a UE via non-3GPP access + operationId: CreateSmsfContextNon3gpp + tags: + - SMSF Non-3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/smsf-non-3gpp-access' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the SMSF context data of a UE via non-3GPP access + operationId: DeleteSmsfContextNon3gpp + tags: + - SMSF Non-3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the SMSF context data of a UE using non-3gpp access + operationId: QuerySmsfContextNon3gpp + tags: + - SMSF Non-3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ip-sm-gw: + put: + summary: Create the IP-SM-GW context data of a UE + operationId: CreateIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the IP-SM-GW context data of a UE + operationId: DeleteIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify the IP-SM-GW context data of a UE + operationId: ModifyIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the IP-SM-GW context data of a UE + operationId: QueryIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/mwd: + put: + summary: Create the Message Waiting Data of the UE + operationId: CreateMessageWaitingData + tags: + - Message Waiting Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MessageWaitingData' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + description: Unexpected error + delete: + summary: To remove the Message Waiting Data of the UE + operationId: DeleteMessageWaitingData + tags: + - Message Waiting Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify the Message Waiting Data of the UE + operationId: ModifyMessageWaitingData + tags: + - Message Waiting Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the Message Waiting Data of the UE + operationId: QueryMessageWaitingData + tags: + - Message Waiting Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/MessageWaitingData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-mng-data: + get: + summary: Retrieves the SMS management subscription data of a UE + operationId: QuerySmsMngData + tags: + - SMS Management Subscription Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-data: + get: + summary: Retrieves the SMS subscription data of a UE + operationId: QuerySmsData + tags: + - SMS Subscription Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/pp-data: + get: + summary: Read the profile of a given UE + operationId: GetppData + tags: + - Parameter Provision (Document) + parameters: + - name: ueId + in: path + description: pp data for a UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PpData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the provisioned parameter data + operationId: ModifyPpData + tags: + - ProvisionedParameterData (Document) + parameters: + - name: ueId + in: path + description: pp data for a UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/pp-profile-data: + get: + summary: Retrieves the parameter provision profile data of a UE + operationId: QueryPPData + tags: + - Parameter Provision profile Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PpProfileData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions: + get: + summary: Retrieves the ee subscriptions of a UE + operationId: Queryeesubscriptions + tags: + - Event Exposure Subscriptions (Collection) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EeSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Create individual EE subscription + operationId: CreateEeSubscriptions + tags: + - Event Exposure Subscriptions (Collection) + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}: + put: + summary: Update an individual ee subscriptions of a UE + operationId: UpdateEesubscriptions + tags: + - Event Exposure Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '404': + description: update of non-existing resource is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes a eeSubscription + operationId: RemoveeeSubscriptions + tags: + - Event Exposure Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual ee subscription of a UE + operationId: ModifyEesubscription + tags: + - Event Exposure Subscription (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve a eeSubscription + operationId: QueryeeSubscription + tags: + - Event Exposure Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/EeSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/amf-subscriptions: + put: + summary: Create AmfSubscriptions for an individual ee subscriptions of a UE + operationId: Create AMF Subscriptions + tags: + - AMF Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmfSubscriptionInfo' + minItems: 1 + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes AMF Subscription Info for an eeSubscription + operationId: RemoveAmfSubscriptionsInfo + tags: + - Event AMF Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the AMF Subscription Info + operationId: ModifyAmfSubscriptionInfo + tags: + - AmfSubscriptionInfo (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve AMF subscription Info + operationId: GetAmfSubscriptionInfo + tags: + - Query AMF Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmfSubscriptionInfo' + minItems: 1 + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/smf-subscriptions: + put: + summary: Create SMF Subscription Info + operationId: Create SMF Subscriptions + tags: + - SMF Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete SMF Subscription Info + operationId: RemoveSmfSubscriptionsInfo + tags: + - SMF Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify SMF Subscription Info + operationId: ModifySmfSubscriptionInfo + tags: + - SMF Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve SMF Subscription Info + operationId: GetSmfSubscriptionInfo + tags: + - SMF Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/hss-subscriptions: + put: + summary: Create HSS Subscription Info + operationId: Create HSS Subscriptions + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HssSubscriptionInfo' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete HSS Subscription Info + operationId: RemoveHssSubscriptionsInfo + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify HSS Subscription Info + operationId: ModifyHssSubscriptionInfo + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve HSS Subscription Info + operationId: GetHssSubscriptionInfo + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-subscriptions: + get: + summary: Retrieves the ee subscriptions of a group of UEs or any UE + operationId: QueryEeGroupSubscriptions + tags: + - Event Exposure Group Subscriptions (Collection) + parameters: + - name: ueGroupId + in: path + description: Group of UEs or any UE + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EeSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Create individual EE subscription for a group of UEs or any UE + operationId: CreateEeGroupSubscriptions + tags: + - Event Exposure Group Subscriptions (Collection) + parameters: + - name: ueGroupId + in: path + description: Group of UEs or any UE + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/group-data/{ueGroupId}/ee-subscriptions' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}: + put: + summary: Update an individual ee subscription of a group of UEs or any UE + operationId: UpdateEeGroupSubscriptions + tags: + - Event Exposure Group Subscription (Document) + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '404': + description: update of non-existing resource is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes a eeSubscription for a group of UEs or any UE + operationId: RemoveEeGroupSubscriptions + tags: + - Event Exposure Group Subscription (Document) + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual ee subscription for a group of a UEs + operationId: ModifyEeGroupSubscription + tags: + - Event Exposure Group Subscription (Document) + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve a individual eeSubscription for a group of UEs or any UE + operationId: QueryEeGroupSubscription + tags: + - Event Exposure Group Subscription (Document) + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/EeSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-profile-data: + get: + summary: Retrieves the ee profile data profile data of a group or anyUE + operationId: QueryGroupEEData + tags: + - Event Exposure Data for a group (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + description: Group of UEs or any UE + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeGroupProfileData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ee-profile-data: + get: + summary: Retrieves the ee profile data of a UE + operationId: QueryEEData + tags: + - Event Exposure Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + style: form + explode: false + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeProfileData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/sdm-subscriptions: + get: + summary: Retrieves the sdm subscriptions of a UE + operationId: Querysdmsubscriptions + tags: + - SDM Subscriptions (Collection) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SdmSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Create individual sdm subscription + operationId: CreateSdmSubscriptions + tags: + - SDM Subscriptions (Collection) + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}: + put: + summary: Update an individual sdm subscriptions of a UE + operationId: Updatesdmsubscriptions + tags: + - SDM Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '404': + description: update of non-existing resource is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes a sdmsubscriptions + operationId: RemovesdmSubscriptions + tags: + - SDM Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual sdm subscription + operationId: ModifysdmSubscription + tags: + - SDM Subscription (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves a individual sdmSubscription identified by subsId + operationId: QuerysdmSubscription + tags: + - SDM Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to retrieve + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SdmSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/shared-data: + get: + summary: retrieve shared data + operationId: GetSharedData + tags: + - Retrieval of shared data + parameters: + - name: shared-data-ids + in: query + description: List of shared data ids + required: true + style: form + explode: false + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SharedDataIds' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SharedData' + minItems: 1 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/subs-to-notify: + post: + summary: Subscription data subscriptions + operationId: SubscriptionDataSubscriptions + tags: + - Subs To Notify (Collection) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/subs-to-notify/{subsId}' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + onDataChange: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataChangeNotify' + responses: + '204': + description: Expected response to a valid request + + get: + summary: Retrieves the list of subscriptions + operationId: QuerySubsToNotify + tags: + - Subs To Notify (Collection) + parameters: + - name: ue-id + in: query + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes subscriptions identified by a given ue-id parameter + operationId: RemoveMultipleSubscriptionDataSubscriptions + tags: + - Subs To Notify (Collection) + parameters: + - name: ue-id + in: query + required: true + description: UE ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: nf-instance-id + in: query + required: false + description: NF Instance ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: delete-all-nfs + in: query + required: false + description: Flag to delete subscriptions from all NFs + schema: + type: boolean + - name: implicit-unsubscribe-indication + in: query + required: false + description: Implicit Unsubscribe Indication + schema: + type: boolean + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/subs-to-notify/{subsId}: + delete: + summary: Deletes a subscriptionDataSubscriptions + operationId: RemovesubscriptionDataSubscriptions + tags: + - Subs To Notify (Document) + parameters: + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual subscriptionDataSubscription + operationId: ModifysubscriptionDataSubscription + tags: + - Subs To Notify (Document) + parameters: + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves a individual subscriptionDataSubscription identified by subsId + operationId: QuerySubscriptionDataSubscriptions + tags: + - Subs To Notify (Document) + parameters: + - name: subsId + in: path + required: true + description: Unique ID of the subscription to retrieve + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/trace-data: + get: + summary: Retrieves the trace configuration data of a UE + operationId: QueryTraceData + tags: + - Trace Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/identity-data: + get: + summary: Retrieve identity data by SUPI or GPSI + operationId: GetIdentityData + tags: + - Query Identity Data by SUPI or GPSI (Document) + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: app-port-id + in: query + description: Application port identifier + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AppPortId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/operator-determined-barring-data: + get: + summary: Retrieve ODB Data data by SUPI or GPSI + operationId: GetOdbData + tags: + - Query ODB Data by SUPI or GPSI (Document) + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/OdbData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data: + get: + summary: Retrieve multiple context data sets of a UE + operationId: QueryContextData + tags: + - Context Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: context-dataset-names + in: query + description: List of context dataset names + style: form + explode: false + required: true + schema: + $ref: '#/components/schemas/ContextDatasetNames' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ContextDataSets' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/group-identifiers: + get: + summary: Mapping of Group Identifiers + operationId: GetGroupIdentifiers + tags: + - Group Identifiers + parameters: + - name: ext-group-id + in: query + description: External Group Identifier + required: false + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: int-group-id + in: query + description: Internal Group Identifier + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: ue-id-ind + in: query + description: Indication whether UE identifiers are required or not + required: false + schema: + type: boolean + default: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/GroupIdentifiers' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/5g-vn-groups: + get: + summary: Retrieves the data of a 5G VN Group + operationId: Query5GVnGroup + tags: + - 5G-VN-Groups (Store) + parameters: + - name: gpsis + in: query + description: List of GPSIs + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + style: form + explode: false + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + description: A map(list of key-value pairs) where ExtGroupId serves as key + additionalProperties: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/5g-vn-groups/{externalGroupId}: + put: + summary: Create an individual 5G VN Grouop + operationId: Create5GVnGroup + tags: + - 5GVnGroupConfiguration (Document) + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes the 5GVnGroup + operationId: Delete5GVnGroup + tags: + - Delete 5GVnGroup + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '204': + description: Expected response to a successful group removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the 5GVnGroup + operationId: Modify5GVnGroup + tags: + - Modify 5GVnGroup + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve a 5GVnGroup configuration + operationId: Get5GVnGroupConfiguration + tags: + - Query 5GVnGroupConfiguration (Document) + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/lcs-privacy-data: + get: + summary: Retrieves the LCS Privacy subscription data of a UE + operationId: QueryLcsPrivacyData + tags: + - LCS Privacy Subscription Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsPrivacyData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/lcs-mo-data: + get: + summary: Retrieves the LCS Mobile Originated subscription data of a UE + operationId: QueryLcsMoData + tags: + - LCS Mobile Originated Subscription Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsMoData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/nidd-authorization-data: + get: + summary: Retrieve NIDD Authorization Data GPSI or External Group identifier + operationId: GetNiddAuData + tags: + - Query NIDD Authorization Data GPSI or External Group identifier (Document) + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+)$' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: '#/components/schemas/VarSnssai' + description: single NSSAI + required: true + - name: dnn + in: query + description: DNN + required: true + schema: + $ref: '#/components/schemas/Dnn' + - name: mtc-provider-information + in: query + description: MTC Provider Information + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/coverage-restriction-data: + get: + summary: Retrieves the subscribed enhanced Coverage Restriction Data of a UE + operationId: QueryCoverageRestrictionData + tags: + - Enhanced Coverage Restriction Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EnhancedCoverageRestrictionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/location: + get: + summary: Retrieves the UE's Location Information + operationId: QueryUeLocation + tags: + - UE's Location Information (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LocationInfo' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/v2x-data: + get: + summary: Retrieves the subscribed V2X Data of a UE + operationId: QueryV2xData + tags: + - V2X Subscription Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/V2xSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/lcs-bca-data: + get: + summary: Retrieves the LCS Broadcast Assistance subscription data of a UE + operationId: QueryLcsBcaData + tags: + - LCS Broadcast Assistance Subscription Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsBroadcastAssistanceTypesData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + description: Unexpected error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + + /subscription-data/group-data/5g-vn-groups/internal: + get: + summary: Retrieves the data of 5G VN Group + operationId: Query5GVnGroupInternal + tags: + - 5G-VN-Groups-Internal (Document) + parameters: + - name: internal-group-ids + in: query + description: List of Internal Group IDs + required: true + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + style: form + explode: false + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + description: A map (list of key-value pairs) where ExtGroupId serves as key + additionalProperties: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/5g-vn-groups/pp-profile-data: + get: + summary: Retrieves the parameter provision profile data for 5G VN Group + operationId: Query5GVNGroupPPData + tags: + - Parameter Provision profile Data for 5G VN Group(Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ext-group-ids + in: query + description: List of external VN group identifiers + schema: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Pp5gVnGroupProfileData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + AuthenticationSubscription: + type: object + required: + - authenticationMethod + properties: + authenticationMethod: + $ref: '#/components/schemas/AuthMethod' + encPermanentKey: + type: string + protectionParameterId: + type: string + sequenceNumber: + $ref: '#/components/schemas/SequenceNumber' + authenticationManagementField: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + algorithmId: + type: string + encOpcKey: + type: string + encTopcKey: + type: string + vectorGenerationInHss: + type: boolean + default: false + n5gcAuthMethod: + $ref: '#/components/schemas/AuthMethod' + rgAuthenticationInd: + type: boolean + default: false + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + SequenceNumber: + type: object + properties: + sqnScheme: + $ref: '#/components/schemas/SqnScheme' + sqn: + type: string + pattern: '^[A-Fa-f0-9]{12}$' + lastIndexes: + type: object + additionalProperties: + type: integer + minimum: 0 + indLength: + type: integer + minimum: 0 + difSign: + $ref: '#/components/schemas/Sign' + + SqnScheme: +# anyOf: +# - type: string + type: string + enum: + - GENERAL + - NON_TIME_BASED + - TIME_BASED +# - type: string + Sign: + type: string + enum: + - POSITIVE + - NEGATIVE + VarPlmnId: + type: string + pattern: '^[0-9]{5,6}$' + DatasetNames: + type: array + items: + $ref: '#/components/schemas/DataSetName' + minItems: 1 + uniqueItems: true + DataSetName: +# anyOf: +# - type: string + type: string + enum: + - AM + - SMF_SEL + - SMS_SUB + - SM + - TRACE + - SMS_MNG + - LCS_PRIVACY + - LCS_MO + - LCS_BCA + - V2X +# - type: string + ProvisionedDataSets: + type: object + properties: + amData: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + smfSelData: + $ref: '#/components/schemas/SmfSelectionSubscriptionData' + smsSubsData: + $ref: '#/components/schemas/SmsSubscriptionData' + smData: + type: array + items: + $ref: '#/components/schemas/SessionManagementSubscriptionData' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + smsMngData: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + lcsPrivacyData: + $ref: '#/components/schemas/LcsPrivacyData' + lcsMoData: + $ref: '#/components/schemas/LcsMoData' + lcsBcaData: + $ref: '#/components/schemas/LcsBroadcastAssistanceTypesData' + v2xData: + $ref: '#/components/schemas/V2xSubscriptionData' + AccessAndMobilitySubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AccessAndMobilitySubscriptionData' + SmfSelectionSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SmfSelectionSubscriptionData' + VarSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + Dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + SessionManagementSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SessionManagementSubscriptionData' + Amf3GppAccessRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/Amf3GppAccessRegistration' + AmfNon3GppAccessRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/AmfNon3GppAccessRegistration' + SmfRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/SmfRegistration' + SmsfRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/SmsfRegistration' + LocationInfo: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/LocationInfo' + SmsManagementSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SmsManagementSubscriptionData' + SmsSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SmsSubscriptionData' + LcsPrivacyData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/LcsPrivacyData' + LcsMoData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/LcsMoData' + AuthorizationData: + $ref: 'TS29503_Nudm_NIDDAU.yaml#/components/schemas/AuthorizationData' + EnhancedCoverageRestrictionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/EnhancedCoverageRestrictionData' + V2xSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/V2xSubscriptionData' + LcsBroadcastAssistanceTypesData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/LcsBroadcastAssistanceTypesData' + OperatorSpecificDataContainer: + type: object + required: + - dataType + - value + properties: + dataType: + type: string +# enum: +# - string +# - integer +# - number +# - boolean +# - object + dataTypeDefinition: + type: string + value: +# oneOf: + type: string +# - type: string +# - type: integer +# - type: number +# - type: boolean +# - type: object + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + AuthMethod: +# anyOf: +# - type: string + type: string + enum: + - 5G_AKA + - EAP_AKA_PRIME + - EAP_TLS +# - type: string + PpData: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/PpData' + EeSubscription: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EeSubscription' + VarUeGroupId: + type: string + pattern: '^(extgroupid-[^@]+@[^@]+|anyUE)$' + SdmSubscription: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + SmfRegList: + type: array + items: + $ref: '#/components/schemas/SmfRegistration' + SubscriptionDataSubscriptions: + type: object + required: + - monitoredResourceUris + - callbackReference + properties: + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + originalCallbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + sdmSubscription: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + subscriptionId: + type: string + + supported-features: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + DataChangeNotify: + type: object + properties: + originalCallbackReference: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + notifyItems: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotifyItem' + minItems: 1 + sdmSubscription: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + additionalSdmSubscriptions: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + minItems: 1 + subscriptionDataSubscriptions: + type: array + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + + IdentityData: + type: object + properties: + supiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + gpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + SorData: + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + sorXmacIue: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SorMac' + sorMacIue: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SorMac' + required: + - provisioningTime + - ueUpdateStatus + + UpuData: + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + upuXmacIue: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuMac' + upuMacIue: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuMac' + required: + - provisioningTime + - ueUpdateStatus + + NssaiAckData: + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + required: + - provisioningTime + - ueUpdateStatus + + CagAckData: + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + required: + - provisioningTime + - ueUpdateStatus + + UeUpdateStatus: + type: string + enum: + - NOT_SENT + - SENT_NO_ACK_REQUIRED + - WAITING_FOR_ACK + - ACK_RECEIVED + - NEGATIVE_ACK_RECEIVED + + EeProfileData: + type: object + properties: + restrictedEventTypes: + type: array + items: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EventType' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + allowedMtcProvider: + description: A map (list of key-value pairs where EventType serves as key) of MTC provider lists. In addition to defined EventTypes, the key value "ALL" may be used to identify a map entry which contains a list of MtcProviders that are allowed monitoring all Event Types. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/MtcProvider' + minItems: 1 + minProperties: 1 + AmfSubscriptionInfo: + type: object + required: + - amfInstanceId + - subscriptionId + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + subsChangeNotifyCorrelationId: + type: string + ContextDatasetNames: + type: array + items: + $ref: '#/components/schemas/ContextDataSetName' + minItems: 2 + uniqueItems: true + ContextDataSetName: +# anyOf: +# - type: string + type: string + enum: + - AMF_3GPP + - AMF_NON_3GPP + - SDM_SUBSCRIPTIONS + - EE_SUBSCRIPTIONS + - SMSF_3GPP + - SMSF_NON_3GPP + - SUBS_TO_NOTIFY + - SMF_REG + - IP_SM_GW +# - type: string + ContextDataSets: + type: object + properties: + amf3Gpp: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + amfNon3Gpp: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + sdmSubscriptions: + type: array + items: + $ref: '#/components/schemas/SdmSubscription' + minItems: 1 + eeSubscriptions: + type: array + items: + $ref: '#/components/schemas/EeSubscription' + minItems: 1 + smsf3GppAccess: + $ref: '#/components/schemas/SmsfRegistration' + smsfNon3GppAccess: + $ref: '#/components/schemas/SmsfRegistration' + subscriptionDataSubscriptions: + type: array + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + minItems: 1 + smfRegistrations: + $ref: '#/components/schemas/SmfRegList' + ipSmGw: + $ref: '#/components/schemas/IpSmGwRegistration' + + IpSmGwRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/IpSmGwRegistration' + + MessageWaitingData: + type: object + properties: + mwdList: + type: array + items: + $ref: '#/components/schemas/SmscData' + minItems: 1 + + SmscData: + type: object +# anyOf: +# - required: [ smscMapAddress ] +# - required: [ smscDiameterAddress ] + properties: + smscMapAddress: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/E164Number' + smscDiameterAddress: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/NetworkNodeDiameterAddress' + + SmfSubscriptionInfo: + description: Information related to active subscriptions at the SMF(s) + type: object + required: + - smfSubscriptionList + properties: + smfSubscriptionList: + type: array + items: + $ref: '#/components/schemas/SmfSubscriptionItem' + minItems: 1 + + SmfSubscriptionItem: + description: Contains info about a single SMF event subscription + type: object + required: + - smfInstanceId + - subscriptionId + properties: + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + MtcProvider: + type: object + properties: + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + afId: + type: string + + HssSubscriptionInfo: + description: Information related to active subscriptions at the HSS(s) + type: object + required: + - hssSubscriptionList + properties: + hssSubscriptionList: + type: array + items: + $ref: '#/components/schemas/HssSubscriptionItem' + minItems: 1 + + HssSubscriptionItem: + description: Contains info about a single HSS event subscription + type: object + required: + - hssInstanceId + - subscriptionId + properties: + hssInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + EeGroupProfileData: + type: object + properties: + restrictedEventTypes: + type: array + items: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EventType' + allowedMtcProvider: + description: A map (list of key-value pairs where EventType serves as key) of MTC provider lists. In addition to defined EventTypes, the key value "ALL" may be used to identify a map entry which contains a list of MtcProviders that are allowed monitoring all Event Types. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/MtcProvider' + minItems: 1 + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + Pp5gVnGroupProfileData: + type: object + properties: + allowedMtcProviders: + description: A map (list of key-value pairs where external VN group identifier serves as key) of AllowedMtcProviderInfo lists. In addition to defined external VN group identifier, the key value "ALL" may be used to identify a map entry which contains a list of AllowedMtcProviderInfo that are allowed operating all the external group identifiers. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AllowedMtcProviderInfo' + minItems: 1 + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + PpProfileData: + type: object + properties: + allowedMtcProviders: + description: A map (list of key-value pairs where PpDataType serves as key) of AllowedMtcProviderInfo lists. In addition to defined PpDataType, the key value "ALL" may be used to identify a map entry which contains a list of AllowedMtcProviderInfo that are allowed to provision all types of the PP data for the user using UDM ParameterProvision service. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AllowedMtcProviderInfo' + minItems: 1 + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + AllowedMtcProviderInfo: + type: object + properties: + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + afId: + type: string + + PpDataType: +# anyOf: +# - type: string + type: string + enum: + - COMMUNICATION_CHARACTERISTICS + - EXPECTED_UE_BEHAVIOUR + - EC_RESTRICTION + - ACS_INFO + - TRACE + - STN_SR + - LCS_PRIVACY + - SOR_INFO +# - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29507_Npcf_AMPolicyControl.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29507_Npcf_AMPolicyControl.yaml new file mode 100644 index 000000000..fefb9285b --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29507_Npcf_AMPolicyControl.yaml @@ -0,0 +1,607 @@ +openapi: 3.0.0 +info: + version: 1.1.4 + title: Npcf_AMPolicyControl + description: | + Access and Mobility Policy Control Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.507 V16.8.0; 5G System; Access and Mobility Policy Control Service. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.507/' +servers: + - url: '{apiRoot}/npcf-am-policy-control/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - npcf-am-policy-control +paths: + /policies: + post: + operationId: CreateIndividualAMPolicyAssociation + summary: Create individual AM policy association. + tags: + - AM Policy Associations (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociationRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociation' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/npcf-am-policy-control/v1/policies/{polAssoId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + policyUpdateNotification: + '{$request.body#/notificationUri}/update': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyUpdate' + responses: + '204': + description: No Content, Notification was successful. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + policyAssocitionTerminationRequestNotification: + '{$request.body#/notificationUri}/terminate': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TerminationNotification' + responses: + '204': + description: No Content, Notification was successful. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /policies/{polAssoId}: + get: + operationId: ReadIndividualAMPolicyAssociation + summary: Read individual AM policy association. + tags: + - Individual AM Policy Association (Document) + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + operationId: DeleteIndividualAMPolicyAssociation + summary: Delete individual AM policy association. + tags: + - Individual AM Policy Association (Document) + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was successfully deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /policies/{polAssoId}/update: + post: + operationId: ReportObservedEventTriggersForIndividualAMPolicyAssociation + summary: Report observed event triggers and obtain updated policies for an individual AM policy association. + tags: + - Individual AM Policy Association (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociationUpdateRequest' + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Updated policies are returned + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyUpdate' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-am-policy-control: Access to the Npcf_AMPolicyControl API + schemas: + PolicyAssociation: + type: object + properties: + request: + $ref: '#/components/schemas/PolicyAssociationRequest' + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + description: Request Triggers that the PCF subscribes. + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + smfSelInfo: + $ref: '#/components/schemas/SmfSelectionData' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + pras: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suppFeat + PolicyAssociationRequest: + description: Information which the NF service consumer provides when requesting the creation of a policy association. The serviveName property corresponds to the serviceName in the main body of the specification. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altNotifIpv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + description: Alternate or backup IPv4 Address(es) where to send Notifications. + altNotifIpv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + description: Alternate or backup IPv6 Address(es) where to send Notifications. + altNotifFqdns: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + minItems: 1 + description: Alternate or backup FQDN(s) where to send Notifications. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + accessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + userLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + servingPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ratTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + groupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + allowedSnssais: + description: array of allowed S-NSSAIs for the 3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + mappingSnssais: + description: mapping of each S-NSSAI of the Allowed NSSAI to the corresponding S-NSSAI of the HPLMN. + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/MappingOfSnssai' + minItems: 1 + n3gAllowedSnssais: + description: array of allowed S-NSSAIs for the Non-3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' +# serviveName: + serviceName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + traceReq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + - suppFeat + - supi + PolicyAssociationUpdateRequest: + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altNotifIpv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + description: Alternate or backup IPv4 Address(es) where to send Notifications. + altNotifIpv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + description: Alternate or backup IPv6 Address(es) where to send Notifications. + altNotifFqdns: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + minItems: 1 + description: Alternate or backup FQDN(s) where to send Notifications. + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + description: Request Triggers that the NF service consumer observes. + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + smfSelInfo: + $ref: '#/components/schemas/SmfSelectionData' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + praStatuses: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: Map of PRA status information. + userLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + allowedSnssais: + description: array of allowed S-NSSAIs for the 3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + mappingSnssais: + description: mapping of each S-NSSAI of the Allowed NSSAI to the corresponding S-NSSAI of the HPLMN. + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/MappingOfSnssai' + minItems: 1 + accessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + ratTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + n3gAllowedSnssais: + description: array of allowed S-NSSAIs for the Non-3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + traceReq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + PolicyUpdate: + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + nullable: true + description: Request Triggers that the PCF subscribes. + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + smfSelInfo: + $ref: '#/components/schemas/SmfSelectionData' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + pras: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfoRm' + description: Map of PRA information. + minProperties: 1 + nullable: true + required: + - resourceUri + TerminationNotification: + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + cause: + $ref: '#/components/schemas/PolicyAssociationReleaseCause' + required: + - resourceUri + - cause + SmfSelectionData: + type: object + properties: + unsuppDnn: + type: boolean + candidates: + type: object + additionalProperties: + $ref: '#/components/schemas/CandidateForReplacement' + minProperties: 1 + nullable: true + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + mappingSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + nullable: true + CandidateForReplacement: + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + nullable: true + required: + - snssai + nullable: true + RequestTrigger: +# anyOf: +# - type: string + type: string + enum: + - LOC_CH + - PRA_CH + - SERV_AREA_CH + - RFSP_CH + - ALLOWED_NSSAI_CH + - UE_AMBR_CH + - SMF_SELECT_CH + - ACCESS_TYPE_CH +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - LOC_CH: Location change (tracking area). The tracking area of the UE has changed. +# - PRA_CH: Change of UE presence in PRA. The AMF reports the current presence status of the UE in a Presence Reporting Area, and notifies that the UE enters/leaves the Presence Reporting Area. +# - SERV_AREA_CH: Service Area Restriction change. The UDM notifies the AMF that the subscribed service area restriction information has changed. +# - RFSP_CH: RFSP index change. The UDM notifies the AMF that the subscribed RFSP index has changed. +# - ALLOWED_NSSAI_CH: Allowed NSSAI change. The AMF notifies that the set of UE allowed S-NSSAIs has changed. +# - UE_AMBR_CH: UE-AMBR change. The UDM notifies the AMF that the subscribed UE-AMBR has changed. +# - SMF_SELECT_CH: SMF selection information change. The UE requested for an unsupported DNN or UE requested for a DNN within the list of DNN candidates for replacement per S-NSSAI. +# - ACCESS_TYPE_CH: Access Type change. The AMF notifies that the access type and the RAT type combinations available in the AMF for a UE with simultaneous 3GPP and non-3GPP connectivity has changed. + PolicyAssociationReleaseCause: +# anyOf: +# - type: string + type: string + enum: + - UNSPECIFIED + - UE_SUBSCRIPTION + - INSUFFICIENT_RES +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - UNSPECIFIED: This value is used for unspecified reasons. +# - UE_SUBSCRIPTION: This value is used to indicate that the session needs to be terminated because the subscription of UE has changed (e.g. was removed). +# - INSUFFICIENT_RES: This value is used to indicate that the server is overloaded and needs to abort the session. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_SoRProtection.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_SoRProtection.yaml new file mode 100644 index 000000000..8c8c254fc --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_SoRProtection.yaml @@ -0,0 +1,162 @@ +openapi: 3.0.0 +info: + version: 1.1.2 + title: Nausf_SoRProtection Service + description: | + AUSF SoR Protection Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.509 V16.7.0; 5G System; Authentication Server Services + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.509' + +servers: + - url: '{apiRoot}/nausf-sorprotection/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - nausf-sorprotection +paths: + /{supi}/ue-sor: + post: + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SorInfo' + required: true + responses: + '200': + description: SorSecurityInfo + content: + application/json: + schema: + $ref: '#/components/schemas/SorSecurityInfo' + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nausf-sorprotection: Access to the Nausf_SoRProtection API + schemas: +# COMPLEX TYPES: +# + SorInfo: + type: object + properties: + steeringContainer: + $ref: '#/components/schemas/SteeringContainer' + ackInd: + $ref: '#/components/schemas/AckInd' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ackInd + SorSecurityInfo: + type: object + properties: + sorMacIausf: + $ref: '#/components/schemas/SorMac' + counterSor: + $ref: '#/components/schemas/CounterSor' + sorXmacIue: + $ref: '#/components/schemas/SorMac' + required: + - sorMacIausf + - counterSor + SteeringContainer: + oneOf: + - type: array + items: + $ref: '#/components/schemas/SteeringInfo' + minItems: 1 + - $ref: '#/components/schemas/SecuredPacket' + SteeringInfo: + type: object + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + accessTechList: + type: array + items: + $ref: '#/components/schemas/AccessTech' + minItems: 1 + required: + - plmnId +# SIMPLE TYPES: +# + SorMac: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + CounterSor: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + AckInd: + type: boolean + SecuredPacket: + type: string + format: base64 +# ENUMS: + + AccessTech: + anyOf: + - type: string + enum: + - NR + - EUTRAN_IN_WBS1_MODE_AND_NBS1_MODE + - EUTRAN_IN_NBS1_MODE_ONLY + - EUTRAN_IN_WBS1_MODE_ONLY + - UTRAN + - GSM_AND_ECGSM_IoT + - GSM_WITHOUT_ECGSM_IoT + - ECGSM_IoT_ONLY + - CDMA_1xRTT + - CDMA_HRPD + - GSM_COMPACT + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_UEAuthentication.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_UEAuthentication.yaml new file mode 100644 index 000000000..e7d248844 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_UEAuthentication.yaml @@ -0,0 +1,608 @@ +openapi: 3.0.0 +info: + version: 1.1.2 + title: AUSF API + description: | + AUSF UE Authentication Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.509 V16.7.0; 5G System; 3GPP TS Authentication Server services. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.509' + +servers: + - url: '{apiRoot}/nausf-auth/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - nausf-auth +paths: + /ue-authentications: + post: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInfo' + required: true + responses: + '201': + description: UEAuthenticationCtx + content: + application/3gppHal+json: + schema: + $ref: '#/components/schemas/UEAuthenticationCtx' + headers: + Location: + description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nausf-auth/v1/ue-authentications/{authCtxId}' + required: true + schema: + type: string + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '400': + description: Bad Request from the AMF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden due to serving network not authorized + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: User does not exist in the HPLMN + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '501': + description: Received protection scheme is not supported by HPLMN + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + /ue-authentications/deregister: + post: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationInfo' + required: true + responses: + '204': + description: Expected response to a successful removal of security context + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + /ue-authentications/{authCtxId}/5g-aka-confirmation: + put: + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConfirmationData' + responses: + '200': + description: Request processed (EAP success or Failure) + content: + application/json: + schema: + $ref: '#/components/schemas/ConfirmationDataResponse' + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + delete: + summary: Deletes the authentication result in the UDM + operationId: Delete5gAkaAuthenticationResult + tags: + - Authentication Result Deletion + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful authentication result removal + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /ue-authentications/{authCtxId}/eap-session: + post: + operationId: EapAuthMethod + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EapSession' + responses: + '200': + description: Use to handle or close the EAP session + content: + application/json: + schema: + $ref: '#/components/schemas/EapSession' + + application/3gppHal+json: + schema: + type: object + properties: + eapPayload: + $ref: '#/components/schemas/EapPayload' + _links: + type: object + description: 'URI : /{eapSessionUri}' + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + minProperties: 1 + required: + - eapPayload + - _links + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + delete: + summary: Deletes the authentication result in the UDM + operationId: DeleteEapAuthenticationResult + tags: + - Authentication Result Deletion + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful authentication result removal + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /rg-authentications: + post: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RgAuthenticationInfo' + required: true + responses: + '201': + description: RgAuthCtx + content: + application/json: + schema: + $ref: '#/components/schemas/RgAuthCtx' + headers: + Location: + description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nausf-auth/v1/rg-authentications/{authCtxId}' + required: true + schema: + type: string + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '403': + description: The UE is not allowed to be authenticated + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '400': + description: Bad Request from the AMF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: User does not exist in the HPLMN + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nausf-auth: Access to Nausf_UEAuthentication API + schemas: + AuthenticationInfo: + type: object + properties: + supiOrSuci: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupiOrSuci' + servingNetworkName: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + resynchronizationInfo: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ResynchronizationInfo' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + pattern: '^[0-9]{1,4}$' + cellCagInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId' + minItems: 1 + n5gcInd: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supiOrSuci + - servingNetworkName + UEAuthenticationCtx: + type: object + properties: + authType: + $ref: '#/components/schemas/AuthType' + 5gAuthData: + oneOf: + - $ref: '#/components/schemas/Av5gAka' + - $ref: '#/components/schemas/EapPayload' + _links: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + servingNetworkName: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + required: + - authType + - 5gAuthData + - _links + + Av5gAka: + type: object + required: + - rand + - hxresStar + - autn + properties: + rand: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Rand' + hxresStar: + $ref: '#/components/schemas/HxresStar' + autn: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Autn' + ConfirmationData: + type: object + required: + - resStar + properties: + resStar: + $ref: '#/components/schemas/ResStar' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ConfirmationDataResponse: + type: object + properties: + authResult: + $ref: '#/components/schemas/AuthResult' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + kseaf: + $ref: '#/components/schemas/Kseaf' + + required: + - authResult + EapSession: + type: object + properties: + eapPayload: + $ref: '#/components/schemas/EapPayload' + kSeaf: + $ref: '#/components/schemas/Kseaf' + _links: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + authResult: + $ref: '#/components/schemas/AuthResult' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - eapPayload + DeregistrationInfo: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supi + RgAuthenticationInfo: + type: object + properties: + suci: + $ref: '#/components/schemas/Suci' + authenticatedInd: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suci + - authenticatedInd + RgAuthCtx: + type: object + properties: + authResult: + $ref: '#/components/schemas/AuthResult' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + authInd: + type: boolean + default: false + required: + - authResult + + AuthResult: + type: string + enum: + - AUTHENTICATION_SUCCESS + - AUTHENTICATION_FAILURE + - AUTHENTICATION_ONGOING + EapPayload: + type: string + format: base64 + description: contains an EAP packet + nullable: true + Kseaf: + type: string + pattern: '[A-Fa-f0-9]{64}' + ResStar: + type: string + pattern: '[A-Fa-f0-9]{32}' + nullable: true + HxresStar: + type: string + pattern: "[A-Fa-f0-9]{32}" + Suci: + type: string + pattern: '^(suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.+|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$' + AuthType: +# anyOf: +# - type: string + type: string + enum: + - 5G_AKA + - EAP_AKA_PRIME + - EAP_TLS +# - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_UPUProtection.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_UPUProtection.yaml new file mode 100644 index 000000000..6450da493 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29509_Nausf_UPUProtection.yaml @@ -0,0 +1,147 @@ +openapi: 3.0.0 +info: + version: 1.1.2 + title: Nausf_UPUProtection Service + description: | + AUSF UPU Protection Service + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.509 V16.7.0; 5G System; Authentication Server Services + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.509' + +servers: + - url: '{apiRoot}/nausf-upuprotection/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nausf-upuprotection + +paths: + /{supi}/ue-upu: + post: + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpuInfo' + required: true + responses: + '200': + description: UpuSecurityInfo + content: + application/json: + schema: + $ref: '#/components/schemas/UpuSecurityInfo' + + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nausf-upuprotection: Access to the Nausf_UPUProtection API + + schemas: + +# COMPLEX TYPES: + + UpuInfo: + type: object + properties: + upuDataList: + type: array + items: + $ref: '#/components/schemas/UpuData' + minItems: 1 + upuAckInd: + $ref: '#/components/schemas/UpuAckInd' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - upuDataList + - upuAckInd + UpuSecurityInfo: + type: object + properties: + upuMacIausf: + $ref: '#/components/schemas/UpuMac' + counterUpu: + $ref: '#/components/schemas/CounterUpu' + upuXmacIue: + $ref: '#/components/schemas/UpuMac' + required: + - upuMacIausf + - counterUpu + UpuData: + type: object + properties: + secPacket: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SecuredPacket' + defaultConfNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + routingId: + $ref: 'TS29544_Nspaf_SecuredPacket.yaml#/components/schemas/RoutingId' + oneOf: + - required: [secPacket] + - required: [defaultConfNssai] + +# SIMPLE TYPES: + + UpuMac: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + CounterUpu: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + UpuAckInd: + type: boolean + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_AccessToken.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_AccessToken.yaml new file mode 100644 index 000000000..9d83b3f87 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_AccessToken.yaml @@ -0,0 +1,271 @@ +openapi: 3.0.0 + +info: + version: '1.1.3' + title: 'NRF OAuth2' + description: | + NRF OAuth2 Authorization. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.510 V16.8.0; 5G System; Network Function Repository Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' + +paths: + /oauth2/token: + post: + summary: Access Token Request + operationId: AccessTokenRequest + tags: + - Access Token Request + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/AccessTokenReq' + required: true + responses: + '200': + description: Successful Access Token Request + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenRsp' + headers: + Cache-Control: + $ref: '#/components/headers/cache-control' + Pragma: + $ref: '#/components/headers/pragma' + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + description: Error in the Access Token Request + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenErr' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + headers: + Cache-Control: + $ref: '#/components/headers/cache-control' + Pragma: + $ref: '#/components/headers/pragma' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + headers: + cache-control: + required: true + schema: + type: string + enum: + - no-store + pragma: + required: true + schema: + type: string + enum: + - no-cache + schemas: + AccessTokenReq: + description: Contains information related to the access token request + type: object + required: + - grant_type + - nfInstanceId + - scope + properties: + grant_type: + type: string + enum: + - client_credentials + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + targetNfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + scope: + type: string + pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' + targetNfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + requesterPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + requesterPlmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 2 + requesterSnssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + requesterFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + requesterSnpnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + targetPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + targetSnssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + targetNsiList: + type: array + items: + type: string + minItems: 1 + targetNfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + targetNfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + AccessTokenRsp: + description: Contains information related to the access token response + type: object + required: + - access_token + - token_type + properties: + access_token: + type: string + description: JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims) + token_type: + type: string + enum: + - Bearer + expires_in: + type: integer + scope: + type: string + pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' + AccessTokenClaims: + description: The claims data structure for the access token + type: object + required: + - iss + - sub + - aud + - scope + - exp + properties: + iss: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + sub: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + aud: + anyOf: + - $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + scope: + type: string + pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' + exp: + type: integer + consumerPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + producerPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + producerSnssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + producerNsiList: + type: array + items: + type: string + minItems: 1 + producerNfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + AccessTokenErr: + description: Error returned in the access token response message + type: object + required: + - error + properties: + error: + type: string + enum: + - invalid_request + - invalid_client + - invalid_grant + - unauthorized_client + - unsupported_grant_type + - invalid_scope + error_description: + type: string + error_uri: + type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_NFDiscovery.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_NFDiscovery.yaml new file mode 100644 index 000000000..7fe4e1dfb --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_NFDiscovery.yaml @@ -0,0 +1,1198 @@ +openapi: 3.0.0 + +info: + version: '1.1.4' + title: 'NRF NFDiscovery Service' + description: | + NRF NFDiscovery Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.510 V16.8.0; 5G System; Network Function Repository Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' + +servers: + - url: '{apiRoot}/nnrf-disc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnrf-disc + +paths: + /nf-instances: + get: + summary: Search a collection of NF Instances + operationId: SearchNFInstances + tags: + - NF Instances (Store) + parameters: + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: target-nf-type + in: query + description: Type of the target NF + required: true + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - name: requester-nf-type + in: query + description: Type of the requester NF + required: true + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - name: requester-nf-instance-id + in: query + description: NfInstanceId of the requester NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: service-names + in: query + description: Names of the services offered by the NF + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + minItems: 1 + uniqueItems: true + style: form + explode: false + - name: requester-nf-instance-fqdn + in: query + description: FQDN of the requester NF + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + - name: target-plmn-list + in: query + description: Id of the PLMN of the target NF + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + - name: requester-plmn-list + in: query + description: Id of the PLMN where the NF issuing the Discovery request is located + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + - name: target-nf-instance-id + in: query + description: Identity of the NF instance being discovered + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: target-nf-fqdn + in: query + description: FQDN of the NF instance being discovered + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + - name: hnrf-uri + in: query + description: Uri of the home NRF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + - name: snssais + in: query + description: Slice info of the target NF + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: requester-snssais + in: query + description: Slice info of the requester NF + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: plmn-specific-snssai-list + in: query + description: PLMN specific Slice info of the target NF + content: + application/json: + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + - name: requester-plmn-specific-snssai-list + in: query + description: PLMN-specific slice info of the NF issuing the Discovery request + content: + application/json: + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + - name: dnn + in: query + description: Dnn supported by the BSF, SMF or UPF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: nsi-list + in: query + description: NSI IDs that are served by the services being discovered + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: smf-serving-area + in: query + schema: + type: string + - name: tai + in: query + description: Tracking Area Identity + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + - name: amf-region-id + in: query + description: AMF Region Identity + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' + - name: amf-set-id + in: query + description: AMF Set Identity + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' + - name: guami + in: query + description: Guami used to search for an appropriate AMF + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + - name: supi + in: query + description: SUPI of the user + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: ue-ipv4-address + in: query + description: IPv4 address of the UE + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ip-domain + in: query + description: IP domain of the UE, which supported by BSF + schema: + type: string + - name: ue-ipv6-prefix + in: query + description: IPv6 prefix of the UE + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: pgw-ind + in: query + description: Combined PGW-C and SMF or a standalone SMF + schema: + type: boolean + - name: pgw + in: query + description: PGW FQDN of a combined PGW-C and SMF + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + - name: gpsi + in: query + description: GPSI of the user + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: external-group-identity + in: query + description: external group identifier of the user + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: internal-group-identity + in: query + description: internal group identifier of the user + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: pfd-data + in: query + description: PFD data + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PfdData' + - name: data-set + in: query + description: data set supported by the NF + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DataSetId' + - name: routing-indicator + in: query + description: routing indicator in SUCI + schema: + type: string + pattern: '^[0-9]{1,4}$' + - name: group-id-list + in: query + description: Group IDs of the NFs being discovered + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + minItems: 1 + style: form + explode: false + - name: dnai-list + in: query + description: Data network access identifiers of the NFs being discovered + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + style: form + explode: false + - name: pdu-session-types + in: query + description: list of PDU Session Type required to be supported by the target NF + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + style: form + explode: false + - name: event-id-list + in: query + description: Analytics event(s) requested to be supported by the Nnwdaf_AnalyticsInfo service + schema: + type: array + items: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' + minItems: 1 + style: form + explode: false + - name: nwdaf-event-list + in: query + description: Analytics event(s) requested to be supported by the Nnwdaf_EventsSubscription service. + schema: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: upf-iwk-eps-ind + in: query + description: UPF supporting interworking with EPS or not + schema: + type: boolean + - name: chf-supported-plmn + in: query + description: PLMN ID supported by a CHF + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: preferred-locality + in: query + description: preferred target NF location + schema: + type: string + - name: access-type + in: query + description: AccessType supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + - name: limit + in: query + description: Maximum number of NFProfiles to return in the response + required: false + schema: + type: integer + minimum: 1 + - name: required-features + in: query + description: Features required to be supported by the target NF + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + minItems: 1 + style: form + explode: false + - name: complex-query + in: query + description: the complex query condition expression + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ComplexQuery' + - name: max-payload-size + in: query + description: Maximum payload size of the response expressed in kilo octets + required: false + schema: + type: integer + maximum: 2000 + default: 124 + - name: max-payload-size-ext + in: query + description: Extended query for maximum payload size of the response expressed in kilo octets + required: false + schema: + type: integer + default: 124 + - name: atsss-capability + in: query + description: ATSSS Capability + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AtsssCapability' + - name: upf-ue-ip-addr-ind + in: query + description: UPF supporting allocating UE IP addresses/prefixes + schema: + type: boolean + - name: client-type + in: query + description: Requested client type served by the NF + content: + application/json: + schema: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/ExternalClientType' + - name: lmf-id + in: query + description: LMF identification to be discovered + content: + application/json: + schema: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' + - name: an-node-type + in: query + description: Requested AN node type served by the NF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AnNodeType' + - name: rat-type + in: query + description: Requested RAT type served by the NF + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + - name: preferred-tai + in: query + description: preferred Tracking Area Identity + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + - name: preferred-nf-instances + in: query + description: preferred NF Instances + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + style: form + explode: false + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in IETF RFC 7232, 3.2 + schema: + type: string + - name: target-snpn + in: query + description: Target SNPN Identity + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + - name: requester-snpn-list + in: query + description: SNPN ID(s) of the NF instance issuing the Discovery request + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + - name: af-ee-data + in: query + description: NEF exposured by the AF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AfEventExposureData' + - name: w-agf-info + in: query + description: UPF collocated with W-AGF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/WAgfInfo' + - name: tngf-info + in: query + description: UPF collocated with TNGF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TngfInfo' + - name: twif-info + in: query + description: UPF collocated with TWIF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TwifInfo' + - name: target-nf-set-id + in: query + description: Target NF Set ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + - name: target-nf-service-set-id + in: query + description: Target NF Service Set ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + - name: nef-id + in: query + description: NEF ID + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefId' + - name: notification-type + in: query + description: Notification Type + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NotificationType' + - name: n1-msg-class + in: query + description: N1 Message Class + schema: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N1MessageClass' + - name: n2-info-class + in: query + description: N2 Information Class + schema: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InformationClass' + - name: serving-scope + in: query + description: areas that can be served by the target NF + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: imsi + in: query + description: IMSI of the requester UE to search for an appropriate NF (e.g. HSS) + schema: + type: string + - name: ims-private-identity + in: query + description: IMPI of the requester UE to search for a target HSS + schema: + type: string + - name: ims-public-identity + in: query + description: IMS Public Identity of the requester UE to search for a target HSS + schema: + type: string + - name: msisdn + in: query + description: MSISDN of the requester UE to search for a target HSS + schema: + type: string + - name: preferred-api-versions + in: query + description: Preferred API version of the services to be discovered + content: + application/json: + schema: + type: object + additionalProperties: + type: string + minProperties: 1 + - name: v2x-support-ind + in: query + description: PCF supports V2X + schema: + type: boolean + - name: redundant-gtpu + in: query + description: UPF supports redundant gtp-u to be discovered + schema: + type: boolean + - name: redundant-transport + in: query + description: UPF supports redundant transport path to be discovered + schema: + type: boolean + - name: ipups + in: query + description: UPF which is configured for IPUPS functionality to be discovered + schema: + type: boolean + - name: scp-domain-list + in: query + description: SCP domains the target SCP belongs to + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: address-domain + in: query + description: Address domain reachable through the SCP + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + - name: ipv4-addr + in: query + description: IPv4 address reachable through the SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ipv6-prefix + in: query + description: IPv6 prefix reachable through the SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: served-nf-set-id + in: query + description: NF Set ID served by the SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + - name: remote-plmn-id + in: query + description: Id of the PLMN reachable through the SCP + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: data-forwarding + in: query + description: UPF Instance(s) configured for data forwarding are requested + schema: + type: boolean + - name: preferred-full-plmn + in: query + description: NF Instance(s) serving the full PLMN are preferred + schema: + type: boolean + - name: requester-features + in: query + description: Features supported by the NF Service Consumer that is invoking the Nnrf_NFDiscovery service + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: realm-id + in: query + description: realm-id to search for an appropriate UDSF + schema: + type: string + - name: storage-id + in: query + description: storage-id to search for an appropriate UDSF + schema: + type: string + - name: vsmf-support-ind + in: query + description: V-SMF capability supported by the target NF instance(s) + schema: + type: boolean + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResult' + links: + search: + operationId: RetrieveStoredSearch + parameters: + searchId: $response.body#/searchId + description: > + The 'searchId' parameter returned in the response can be used as the + 'searchId' parameter in the GET request to '/searches/{searchId}' + completeSearch: + operationId: RetrieveCompleteSearch + parameters: + searchId: $response.body#/searchId + description: > + The 'searchId' parameter returned in the response can be used as the + 'searchId' parameter in the GET request to '/searches/{searchId}/complete' + headers: + Cache-Control: + description: Cache-Control containing max-age, described in IETF RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /searches/{searchId}: + get: + operationId: RetrieveStoredSearch + tags: + - Stored Search (Document) + parameters: + - $ref: '#/components/parameters/searchId' + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + responses: + '200': + $ref: '#/components/responses/200' + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + + /searches/{searchId}/complete: + get: + operationId: RetrieveCompleteSearch + tags: + - Complete Stored Search (Document) + parameters: + - $ref: '#/components/parameters/searchId' + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + responses: + '200': + $ref: '#/components/responses/200' + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '/oauth2/token' + scopes: + nnrf-disc: Access to the Nnrf_NFDiscovery API + parameters: + searchId: + name: searchId + in: path + description: Id of a stored search + required: true + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/StoredSearchResult' + headers: + Cache-Control: + description: Cache-Control containing max-age, described in IETF RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + + schemas: + SearchResult: + description: Contains the list of NF Profiles returned in a Discovery response + type: object + required: + - nfInstances + properties: + validityPeriod: + type: integer + nfInstances: + type: array + items: + $ref: '#/components/schemas/NFProfile' + searchId: + type: string + numNfInstComplete: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + preferredSearch: + $ref: '#/components/schemas/PreferredSearch' + nrfSupportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + StoredSearchResult: + description: Contains a complete search result (i.e. a number of discovered NF Instances), stored by NRF as a consequence of a prior search result + type: object + required: + - nfInstances + properties: + nfInstances: + type: array + items: + $ref: '#/components/schemas/NFProfile' + NFProfile: + description: Information of an NF Instance discovered by the NRF + type: object + required: + - nfInstanceId + - nfType + - nfStatus + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfInstanceName: + type: string + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + nfStatus: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFStatus' + plmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + sNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + perPlmnSnssaiList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + nsiList: + type: array + items: + type: string + minItems: 1 + fqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + ipv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + capacity: + type: integer + minimum: 0 + maximum: 65535 + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + locality: + type: string + priority: + type: integer + minimum: 0 + maximum: 65535 + udrInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdrInfo' + udrInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdrInfo' + minProperties: 1 + udmInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdmInfo' + udmInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdmInfo' + minProperties: 1 + ausfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AusfInfo' + ausfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AusfInfo' + minProperties: 1 + amfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AmfInfo' + amfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AmfInfo' + minProperties: 1 + smfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SmfInfo' + smfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SmfInfo' + minProperties: 1 + upfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UpfInfo' + upfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UpfInfo' + minProperties: 1 + pcfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcfInfo' + pcfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcfInfo' + minProperties: 1 + bsfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/BsfInfo' + bsfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/BsfInfo' + minProperties: 1 + chfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfInfo' + chfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfInfo' + minProperties: 1 + udsfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdsfInfo' + udsfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdsfInfo' + minProperties: 1 + nwdafInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NwdafInfo' + nefInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefInfo' + pcscfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcscfInfo' + minProperties: 1 + hssInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/HssInfo' + minProperties: 1 + customInfo: + type: object + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + nfServicePersistence: + type: boolean + default: false + nfServices: + deprecated: true + type: array + items: + $ref: '#/components/schemas/NFService' + minItems: 1 + nfServiceList: + type: object + additionalProperties: + $ref: '#/components/schemas/NFService' + minProperties: 1 + defaultNotificationSubscriptions: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DefaultNotificationSubscription' + lmfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/LmfInfo' + gmlcInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/GmlcInfo' + snpnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + nfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + servingScope: + type: array + items: + type: string + minItems: 1 + lcHSupportInd: + type: boolean + default: false + olcHSupportInd: + type: boolean + default: false + nfSetRecoveryTimeList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minProperties: 1 + serviceSetRecoveryTimeList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minProperties: 1 + scpDomains: + type: array + items: + type: string + minItems: 1 + scpInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ScpInfo' + NFService: + description: Information of a given NF Service Instance; it is part of the NFProfile of an NF Instance discovered by the NRF + type: object + required: + - serviceInstanceId + - serviceName + - versions + - scheme + - nfServiceStatus + properties: + serviceInstanceId: + type: string + serviceName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + versions: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceVersion' + minItems: 1 + scheme: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UriScheme' + nfServiceStatus: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceStatus' + fqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + ipEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + apiPrefix: + type: string + defaultNotificationSubscriptions: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DefaultNotificationSubscription' + minItems: 1 + capacity: + type: integer + minimum: 0 + maximum: 65535 + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + priority: + type: integer + minimum: 0 + maximum: 65535 + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nfServiceSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + minItems: 1 + sNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + perPlmnSnssaiList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + vendorId: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorId' + supportedVendorSpecificFeatures: + type: object + additionalProperties: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + oauth2Required: + type: boolean + allowedOperationsPerNfType: + type: object + additionalProperties: + type: array + items: + type: string + minItems: 1 + minProperties: 1 + allowedOperationsPerNfInstance: + type: object + additionalProperties: + type: array + items: + type: string + minItems: 1 + minProperties: 1 + PreferredSearch: + description: Contains information on whether the returned NFProfiles match the preferred query parameters + type: object + properties: + preferredTaiMatchInd: + type: boolean + default: false + preferredFullPlmnMatchInd: + type: boolean + default: false + preferredApiVersionsMatchInd: + type: boolean + otherApiVersionsInd: + type: boolean + preferredLocalityMatchInd: + type: boolean + default: false + otherLocalityInd: + type: boolean + default: false diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_NFManagement.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_NFManagement.yaml new file mode 100644 index 000000000..ec6906252 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29510_Nnrf_NFManagement.yaml @@ -0,0 +1,3000 @@ +openapi: 3.0.0 + +info: + version: '1.1.4' + title: 'NRF NFManagement Service' + description: | + NRF NFManagement Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.510 V16.8.0; 5G System; Network Function Repository Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' + +servers: + - url: '{apiRoot}/nnrf-nfm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnrf-nfm + +paths: + /nf-instances: + get: + summary: Retrieves a collection of NF Instances + operationId: GetNFInstances + tags: + - NF Instances (Store) + parameters: + - name: nf-type + in: query + description: Type of NF + required: false + schema: + $ref: '#/components/schemas/NFType' + - name: limit + in: query + description: How many items to return at one time + required: false + schema: + type: integer + responses: + '200': + description: Expected response to a valid request + content: + application/3gppHal+json: + schema: + type: object + properties: + _links: + type: object + description: 'List of the URI of NF instances. It has two members whose names are item and self. The item one contains an array of URIs.' + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + minProperties: 1 + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + options: + summary: Discover communication options supported by NRF for NF Instances + operationId: OptionsNFInstances + tags: + - NF Instances (Store) + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/OptionsResponse' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '204': + description: No Content + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /nf-instances/{nfInstanceID}: + get: + summary: Read the profile of a given NF Instance + operationId: GetNFInstance + tags: + - NF Instance ID (Document) + parameters: + - name: nfInstanceID + in: path + description: Unique ID of the NF Instance + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: requester-features + in: query + description: Features supported by the NF Service Consumer + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + headers: + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NFProfile' + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Register a new NF Instance + operationId: RegisterNFInstance + tags: + - NF Instance ID (Document) + parameters: + - name: nfInstanceID + in: path + required: true + description: Unique ID of the NF Instance to register + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NFProfile' + required: true + responses: + '200': + description: OK (Profile Replacement) + content: + application/json: + schema: + $ref: '#/components/schemas/NFProfile' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NFProfile' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnrf-nfm/v1/nf-instances/{nfInstanceId}' + required: true + schema: + type: string + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Update NF Instance profile + operationId: UpdateNFInstance + tags: + - NF Instance ID (Document) + parameters: + - name: nfInstanceID + in: path + required: true + description: Unique ID of the NF Instance to update + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: If-Match + in: header + description: Validator for conditional requests, as described in IETF RFC 7232, 3.2 + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NFProfile' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '204': + description: Expected response with empty body + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '412': + $ref: 'TS29571_CommonData.yaml#/components/responses/412' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deregisters a given NF Instance + operationId: DeregisterNFInstance + tags: + - NF Instance ID (Document) + parameters: + - name: nfInstanceID + in: path + required: true + description: Unique ID of the NF Instance to deregister + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + responses: + '204': + description: Expected response to a successful deregistration + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscriptions: + post: + summary: Create a new subscription + operationId: CreateSubscription + tags: + - Subscriptions (Collection) + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnrf-nfm/v1/subscriptions/{subscriptionId}' + required: true + schema: + type: string + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + onNFStatusEvent: + '{$request.body#/nfStatusNotificationUri}': + post: + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + description: Notification Payload + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationData' + responses: + '204': + description: Expected response to a successful callback processing + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on another NF service consumer instance' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on another NF service consumer instance' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscriptions/{subscriptionID}: + patch: + summary: Updates a subscription + operationId: UpdateSubscription + tags: + - Subscription ID (Document) + parameters: + - name: subscriptionID + in: path + required: true + description: Unique ID of the subscription to update + schema: + type: string + pattern: '^([0-9]{5,6}-)?[^-]+$' + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '204': + description: No Content + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes a subscription + operationId: RemoveSubscription + tags: + - Subscription ID (Document) + parameters: + - name: subscriptionID + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + pattern: '^([0-9]{5,6}-)?[^-]+$' + responses: + '204': + description: Expected response to a successful subscription removal + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '/oauth2/token' + scopes: + nnrf-nfm: Access to the Nnrf_NFManagement API + schemas: + NFProfile: + description: Information of an NF Instance registered in the NRF + type: object + required: + - nfInstanceId + - nfType + - nfStatus +# anyOf: +# - required: [ fqdn ] +# - required: [ ipv4Addresses ] +# - required: [ ipv6Addresses ] + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfInstanceName: + type: string + nfType: + $ref: '#/components/schemas/NFType' + nfStatus: + $ref: '#/components/schemas/NFStatus' + heartBeatTimer: + type: integer + plmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + snpnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + sNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + perPlmnSnssaiList: + type: array + items: + $ref: '#/components/schemas/PlmnSnssai' + minItems: 1 + nsiList: + type: array + items: + type: string + minItems: 1 + fqdn: + $ref: '#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: '#/components/schemas/Fqdn' + ipv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + allowedPlmns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + allowedSnpns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + allowedNfTypes: + type: array + items: + $ref: '#/components/schemas/NFType' + minItems: 1 + allowedNfDomains: + type: array + items: + type: string + minItems: 1 + allowedNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + priority: + type: integer + minimum: 0 + maximum: 65535 + capacity: + type: integer + minimum: 0 + maximum: 65535 + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + locality: + type: string + udrInfo: + $ref: '#/components/schemas/UdrInfo' + udrInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/UdrInfo' + minProperties: 1 + udmInfo: + $ref: '#/components/schemas/UdmInfo' + udmInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/UdmInfo' + minProperties: 1 + ausfInfo: + $ref: '#/components/schemas/AusfInfo' + ausfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/AusfInfo' + minProperties: 1 + amfInfo: + $ref: '#/components/schemas/AmfInfo' + amfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/AmfInfo' + minProperties: 1 + smfInfo: + $ref: '#/components/schemas/SmfInfo' + smfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/SmfInfo' + minProperties: 1 + upfInfo: + $ref: '#/components/schemas/UpfInfo' + upfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/UpfInfo' + minProperties: 1 + pcfInfo: + $ref: '#/components/schemas/PcfInfo' + pcfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/PcfInfo' + minProperties: 1 + bsfInfo: + $ref: '#/components/schemas/BsfInfo' + bsfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/BsfInfo' + minProperties: 1 + chfInfo: + $ref: '#/components/schemas/ChfInfo' + chfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/ChfInfo' + minProperties: 1 + nefInfo: + $ref: '#/components/schemas/NefInfo' + nrfInfo: + $ref: '#/components/schemas/NrfInfo' + udsfInfo: + $ref: '#/components/schemas/UdsfInfo' + udsfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/UdsfInfo' + minProperties: 1 + nwdafInfo: + $ref: '#/components/schemas/NwdafInfo' + pcscfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/PcscfInfo' + minProperties: 1 + hssInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/HssInfo' + minProperties: 1 + customInfo: + type: object + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + nfServicePersistence: + type: boolean + default: false + nfServices: + deprecated: true + type: array + items: + $ref: '#/components/schemas/NFService' + minItems: 1 + nfServiceList: + type: object + additionalProperties: + $ref: '#/components/schemas/NFService' + minProperties: 1 + nfProfileChangesSupportInd: + type: boolean + default: false + writeOnly: true + nfProfileChangesInd: + type: boolean + default: false + readOnly: true + defaultNotificationSubscriptions: + type: array + items: + $ref: '#/components/schemas/DefaultNotificationSubscription' + lmfInfo: + $ref: '#/components/schemas/LmfInfo' + gmlcInfo: + $ref: '#/components/schemas/GmlcInfo' + nfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + servingScope: + type: array + items: + type: string + minItems: 1 + lcHSupportInd: + type: boolean + default: false + olcHSupportInd: + type: boolean + default: false + nfSetRecoveryTimeList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minProperties: 1 + serviceSetRecoveryTimeList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minProperties: 1 + scpDomains: + type: array + items: + type: string + minItems: 1 + scpInfo: + $ref: '#/components/schemas/ScpInfo' + NFService: + description: Information of a given NF Service Instance; it is part of the NFProfile of an NF Instance + type: object + required: + - serviceInstanceId + - serviceName + - versions + - scheme + - nfServiceStatus + properties: + serviceInstanceId: + type: string + serviceName: + $ref: '#/components/schemas/ServiceName' + versions: + type: array + items: + $ref: '#/components/schemas/NFServiceVersion' + minItems: 1 + scheme: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UriScheme' + nfServiceStatus: + $ref: '#/components/schemas/NFServiceStatus' + fqdn: + $ref: '#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: '#/components/schemas/Fqdn' + ipEndPoints: + type: array + items: + $ref: '#/components/schemas/IpEndPoint' + minItems: 1 + apiPrefix: + type: string + defaultNotificationSubscriptions: + type: array + items: + $ref: '#/components/schemas/DefaultNotificationSubscription' + minItems: 1 + allowedPlmns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + allowedSnpns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + allowedNfTypes: + type: array + items: + $ref: '#/components/schemas/NFType' + minItems: 1 + allowedNfDomains: + type: array + items: + type: string + minItems: 1 + allowedNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + allowedOperationsPerNfType: + type: object + additionalProperties: + type: array + items: + type: string + minItems: 1 + minProperties: 1 + allowedOperationsPerNfInstance: + type: object + additionalProperties: + type: array + items: + type: string + minItems: 1 + minProperties: 1 + priority: + type: integer + minimum: 0 + maximum: 65535 + capacity: + type: integer + minimum: 0 + maximum: 65535 + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nfServiceSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + minItems: 1 + sNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + perPlmnSnssaiList: + type: array + items: + $ref: '#/components/schemas/PlmnSnssai' + minItems: 1 + vendorId: + $ref: '#/components/schemas/VendorId' + supportedVendorSpecificFeatures: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + oauth2Required: + type: boolean + NFType: +# description: NF types known to NRF +# anyOf: +# - type: string + type: string + enum: + - NRF + - UDM + - AMF + - SMF + - AUSF + - NEF + - PCF + - SMSF + - NSSF + - UDR + - LMF + - GMLC + - 5G_EIR + - SEPP + - UPF + - N3IWF + - AF + - UDSF + - BSF + - CHF + - NWDAF + - PCSCF + - CBCF + - HSS + - UCMF + - SOR_AF + - SPAF + - MME + - SCSAS + - SCEF + - SCP + - NSSAAF + - ICSCF + - SCSCF + - DRA +# - type: string + Fqdn: + description: Fully Qualified Domain Name + type: string + NefId: + description: Identity of the NEF + type: string + IpEndPoint: + description: IP addressing information of a given NFService; it consists on, e.g. IP address, TCP port, transport protocol... + type: object + properties: + ipv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + transport: + $ref: '#/components/schemas/TransportProtocol' + port: + type: integer + minimum: 0 + maximum: 65535 + SubscriptionData: + description: Information of a subscription to notifications to NRF events, included in subscription requests and responses + type: object + required: + - nfStatusNotificationUri +# - subscriptionId + properties: + nfStatusNotificationUri: + type: string + reqNfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subscrCond: + type: object + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfType: + $ref: '#/components/schemas/NFType' + serviceName: + $ref: '#/components/schemas/ServiceName' + amfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' + amfRegionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + snssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiList: + type: array + items: + type: string + nfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + nfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + nfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + smfServingArea: + type: array + items: + type: string + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 +# oneOf: +# - $ref: '#/components/schemas/NfInstanceIdCond' +# - $ref: '#/components/schemas/NfInstanceIdListCond' +# - $ref: '#/components/schemas/NfTypeCond' +# - $ref: '#/components/schemas/ServiceNameCond' +# - $ref: '#/components/schemas/AmfCond' +# - $ref: '#/components/schemas/GuamiListCond' +# - $ref: '#/components/schemas/NetworkSliceCond' +# - $ref: '#/components/schemas/NfGroupCond' +# - $ref: '#/components/schemas/NfSetCond' +# - $ref: '#/components/schemas/NfServiceSetCond' +# - $ref: '#/components/schemas/UpfCond' +# - $ref: '#/components/schemas/ScpDomainCond' +# - $ref: '#/components/schemas/NwdafCond' +# - $ref: '#/components/schemas/NefCond' + subscriptionId: + type: string + pattern: '^([0-9]{5,6}-)?[^-]+$' + readOnly: true + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + reqNotifEvents: + type: array + items: + $ref: '#/components/schemas/NotificationEventType' + minItems: 1 + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + nid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Nid' + notifCondition: + $ref: '#/components/schemas/NotifCondition' + reqNfType: + $ref: '#/components/schemas/NFType' + reqNfFqdn: + $ref: '#/components/schemas/Fqdn' + reqSnssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + reqPerPlmnSnssais: + type: array + items: + $ref: '#/components/schemas/PlmnSnssai' + minItems: 1 + reqPlmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + reqSnpnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + servingScope: + type: array + items: + type: string + minItems: 1 + requesterFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' +# writeOnly: true +# allOf: +# - $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nrfSupportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' +# readOnly: true +# allOf: +# - $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + NfInstanceIdCond: + description: Subscription to a given NF Instance Id + type: object + required: + - nfInstanceId + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + NfInstanceIdListCond: + description: Subscription to a list of NF Instances + type: object + required: + - nfInstanceIdList + properties: + nfInstanceIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + NfTypeCond: + description: Subscription to a set of NFs based on their NF Type + type: object + required: + - nfType + not: + required: [ nfGroupId ] + properties: + nfType: + $ref: '#/components/schemas/NFType' + ServiceNameCond: + description: Subscription to a set of NFs based on their support for a given Service Name + type: object + required: + - serviceName + properties: + serviceName: + $ref: '#/components/schemas/ServiceName' + AmfCond: + description: Subscription to a set of AMFs, based on AMF Set Id and/or AMF Region Id + type: object +# anyOf: +# - required: [ amfSetId ] +# - required: [ amfRegionId ] + properties: + amfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' + amfRegionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' + GuamiListCond: + description: Subscription to a set of AMFs, based on their GUAMIs + type: object + required: + - guamiList + properties: + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + NetworkSliceCond: + description: Subscription to a set of NFs, based on the slices (S-NSSAI and NSI) they support + type: object + required: + - snssaiList + properties: + snssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiList: + type: array + items: + type: string + NfGroupCond: + description: Subscription to a set of NFs based on their Group Id + type: object + required: + - nfType + - nfGroupId + properties: + nfType: + type: string + enum: + - UDM + - AUSF + - UDR + - PCF + - CHF + nfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + NotifCondition: + description: Condition (list of attributes in the NF Profile) to determine whether a notification must be sent by NRF + type: object + not: + required: [ monitoredAttributes, unmonitoredAttributes ] + properties: + monitoredAttributes: + type: array + items: + type: string + minItems: 1 + unmonitoredAttributes: + type: array + items: + type: string + minItems: 1 + UdrInfo: + description: Information of an UDR NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + supportedDataSets: + type: array + items: + $ref: '#/components/schemas/DataSetId' + minItems: 1 + SupiRange: + description: A range of SUPIs (subscriber identities), either based on a numeric range, or based on regular-expression matching + type: object + properties: + start: + type: string + pattern: '^[0-9]+$' + end: + type: string + pattern: '^[0-9]+$' + pattern: + type: string + IdentityRange: + description: A range of GPSIs (subscriber identities), either based on a numeric range, or based on regular-expression matching + type: object + properties: + start: + type: string + pattern: '^[0-9]+$' + end: + type: string + pattern: '^[0-9]+$' + pattern: + type: string + InternalGroupIdRange: + description: A range of Group IDs (internal group identities), either based on a numeric range, or based on regular-expression matching + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + end: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + pattern: + type: string + DataSetId: +# description: Types of data sets stored in UDR +# anyOf: +# - type: string + type: string + enum: + - SUBSCRIPTION + - POLICY + - EXPOSURE + - APPLICATION +# - type: string + UdmInfo: + description: Information of an UDM NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + routingIndicators: + type: array + items: + type: string + pattern: '^[0-9]{1,4}$' + minItems: 1 + internalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/InternalGroupIdRange' + minItems: 1 + AusfInfo: + description: Information of an AUSF NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + routingIndicators: + type: array + items: + type: string + pattern: '^[0-9]{1,4}$' + minItems: 1 + AmfInfo: + description: Information of an AMF NF Instance + type: object + required: + - amfSetId + - amfRegionId + - guamiList + properties: + amfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' + amfRegionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + backupInfoAmfFailure: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + backupInfoAmfRemoval: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + n2InterfaceAmfInfo: + $ref: '#/components/schemas/N2InterfaceAmfInfo' + SmfInfo: + description: Information of an SMF NF Instance + type: object + required: + - sNssaiSmfInfoList + properties: + sNssaiSmfInfoList: + type: array + items: + $ref: '#/components/schemas/SnssaiSmfInfoItem' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + pgwFqdn: + $ref: '#/components/schemas/Fqdn' + accessType: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + priority: + type: integer + minimum: 0 + maximum: 65535 + vsmfSupportInd: + type: boolean + default: false + SnssaiSmfInfoItem: + description: Set of parameters supported by SMF for a given S-NSSAI + type: object + required: + - sNssai + - dnnSmfInfoList + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnnSmfInfoList: + type: array + items: + $ref: '#/components/schemas/DnnSmfInfoItem' + minItems: 1 + DnnSmfInfoItem: + description: Set of parameters supported by SMF for a given DNN + type: object + required: + - dnn + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + UpfInfo: + description: Information of an UPF NF Instance + type: object + required: + - sNssaiUpfInfoList + properties: + sNssaiUpfInfoList: + type: array + items: + $ref: '#/components/schemas/SnssaiUpfInfoItem' + minItems: 1 + smfServingArea: + type: array + items: + type: string + minItems: 1 + interfaceUpfInfoList: + type: array + items: + $ref: '#/components/schemas/InterfaceUpfInfoItem' + minItems: 1 + iwkEpsInd: + type: boolean + default: false + pduSessionTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + atsssCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AtsssCapability' + ueIpAddrInd: + type: boolean + default: false + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + wAgfInfo: + $ref: '#/components/schemas/WAgfInfo' + tngfInfo: + $ref: '#/components/schemas/TngfInfo' + twifInfo: + $ref: '#/components/schemas/TwifInfo' + priority: + type: integer + minimum: 0 + maximum: 65535 + redundantGtpu: + type: boolean + default: false + ipups: + type: boolean + default: false + dataForwarding: + type: boolean + default: false + SnssaiUpfInfoItem: + description: Set of parameters supported by UPF for a given S-NSSAI + type: object + required: + - sNssai + - dnnUpfInfoList + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnnUpfInfoList: + type: array + items: + $ref: '#/components/schemas/DnnUpfInfoItem' + minItems: 1 + redundantTransport: + type: boolean + default: false + DnnUpfInfoItem: + description: Set of parameters supported by UPF for a given DNN + type: object + required: + - dnn + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + pduSessionTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + ipv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + dnaiNwInstanceList: + description: Map of network instance per DNAI for the DNN, where the key of the map is the DNAI. When present, the value of each entry of the map shall contain a N6 network instance that is configured for the DNAI indicated by the key. + type: object + additionalProperties: + type: string + minProperties: 1 + InterfaceUpfInfoItem: + description: Information of a given IP interface of an UPF + type: object + required: + - interfaceType + properties: + interfaceType: + $ref: '#/components/schemas/UPInterfaceType' + ipv4EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + endpointFqdn: + $ref: '#/components/schemas/Fqdn' + networkInstance: + type: string + UPInterfaceType: +# description: Types of User-Plane interfaces of the UPF +# anyOf: +# - type: string + type: string + enum: + - N3 + - N6 + - N9 + - DATA_FORWARDING +# - type: string + WAgfInfo: + description: Information of the W-AGF end-points + type: object + properties: + ipv4EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + endpointFqdn: + $ref: '#/components/schemas/Fqdn' + TngfInfo: + description: Infomation of the TNGF endpoints + type: object + properties: + ipv4EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + endpointFqdn: + $ref: '#/components/schemas/Fqdn' + PcfInfo: + description: Information of a PCF NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + rxDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + rxDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + v2xSupportInd: + type: boolean + default: false + BsfInfo: + description: Information of a BSF NF Instance + type: object + properties: + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + ipDomainList: + type: array + items: + type: string + minItems: 1 + ipv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + ChfInfo: + description: Information of a CHF NF Instance + type: object + not: + required: [ primaryChfInstance, secondaryChfInstance ] + properties: + supiRangeList: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRangeList: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + plmnRangeList: + type: array + items: + $ref: '#/components/schemas/PlmnRange' + minItems: 1 + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + primaryChfInstance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + secondaryChfInstance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + Ipv4AddressRange: + description: Range of IPv4 addresses + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + end: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + Ipv6PrefixRange: + description: Range of IPv6 prefixes + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + end: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + DefaultNotificationSubscription: + description: Data structure for specifying the notifications the NF service subscribes by default along with callback URI + type: object + required: + - notificationType + - callbackUri + properties: + notificationType: + $ref: '#/components/schemas/NotificationType' + callbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + n1MessageClass: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N1MessageClass' + n2InformationClass: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InformationClass' + versions: + type: array + items: + type: string + minItems: 1 + binding: + type: string + NfSetCond: + description: Subscription to a set of NFs based on their Set Id + type: object + required: + - nfSetId + properties: + nfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + NfServiceSetCond: + description: Subscription to a set of NFs based on their Service Set Id + type: object + required: + - nfServiceSetId + properties: + nfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + UpfCond: + description: Subscription to a set of NF Instances (UPFs), able to serve a certain service area (i.e. SMF serving area or TAI list) + type: object + required: + - conditionType + properties: + conditionType: + type: string + enum: [ UPF_COND ] + smfServingArea: + type: array + items: + type: string + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + NwdafCond: + description: Subscription to a set of NF Instances (NWDAFs), identified by Analytics ID(s), S-NSSAI(s) or NWDAF Serving Area information, i.e. list of TAIs for which the NWDAF can provide analytics. + type: object + required: + - conditionType + properties: + conditionType: + type: string + enum: [ NWDAF_COND ] + analyticsIds: + type: array + items: + type: string + minItems: 1 + snssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + NefCond: + description: Subscription to a set of NF Instances (NEFs), identified by Event ID(s) provided by AF, S-NSSAI(s), AF Instance ID, Application Identifier, External Identifier, External Group Identifier, or domain name. + type: object + required: + - conditionType + properties: + conditionType: + type: string + enum: [ NEF_COND ] + afEvents: + type: array + items: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEvent' + minItems: 1 + snssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + pfdData: + $ref: '#/components/schemas/PfdData' + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + servedFqdnList: + type: array + items: + type: string + minItems: 1 + NotificationType: +# description: Types of notifications used in Default Notification URIs in the NF Profile of an NF Instance +# anyOf: +# - type: string + type: string + enum: + - N1_MESSAGES + - N2_INFORMATION + - LOCATION_NOTIFICATION + - DATA_REMOVAL_NOTIFICATION + - DATA_CHANGE_NOTIFICATION + - LOCATION_UPDATE_NOTIFICATION + - NSSAA_REAUTH_NOTIFICATION + - NSSAA_REVOC_NOTIFICATION +# - type: string + TransportProtocol: +# description: Types of transport protocol used in a given IP endpoint of an NF Service Instance +# anyOf: +# - type: string + type: string + enum: + - TCP +# - type: string + NotificationEventType: +# description: Types of events sent in notifications from NRF to subscribed NF Instances +# anyOf: +# - type: string + type: string + enum: + - NF_REGISTERED + - NF_DEREGISTERED + - NF_PROFILE_CHANGED +# - type: string + NotificationData: + description: Data sent in notifications from NRF to subscribed NF Instances + type: object + required: + - event + - nfInstanceUri + allOf: + # + # Condition: If 'event' takes value 'NF_PROFILE_CHANGED', + # then either 'nfProfile' or 'profileChanges' (but not both) must be present + # + - anyOf: + - not: + properties: + event: + type: string + enum: + - NF_PROFILE_CHANGED + - oneOf: + - required: [ nfProfile ] + - required: [ profileChanges ] + # + # Condition: If 'event' takes value 'NF_REGISTERED', + # then 'nfProfile' must be present + # + - anyOf: + - not: + properties: + event: + type: string + enum: + - NF_REGISTERED + - required: [ nfProfile ] + properties: + event: + $ref: '#/components/schemas/NotificationEventType' + nfInstanceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nfProfile: + allOf: + - $ref: '#/components/schemas/NFProfile' + - not: + required: [ interPlmnFqdn ] + - not: + required: [ allowedPlmns ] + - not: + required: [ allowedSnpns ] + - not: + required: [ allowedNfTypes ] + - not: + required: [ allowedNfDomains ] + - not: + required: [ allowedNssais ] + - properties: + nfServices: + type: array + items: + allOf: + - $ref: '#/components/schemas/NFService' + - not: + required: [ interPlmnFqdn ] + - not: + required: [ allowedPlmns ] + - not: + required: [ allowedSnpns ] + - not: + required: [ allowedNfTypes ] + - not: + required: [ allowedNfDomains ] + - not: + required: [ allowedNssais ] + profileChanges: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChangeItem' + minItems: 1 + conditionEvent: + $ref: '#/components/schemas/ConditionEventType' + NFStatus: +# description: Status of a given NF Instance stored in NRF +# anyOf: +# - type: string + type: string + enum: + - REGISTERED + - SUSPENDED + - UNDISCOVERABLE +# - type: string + NFServiceVersion: + description: Contains the version details of an NF service + type: object + required: + - apiVersionInUri + - apiFullVersion + properties: + apiVersionInUri: + type: string + apiFullVersion: + type: string + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ServiceName: +# description: Service names known to NRF +# anyOf: +# - type: string +# enum: +# - nnrf-nfm +# - nnrf-disc +# - nnrf-oauth2 +# - nudm-sdm +# - nudm-uecm +# - nudm-ueau +# - nudm-ee +# - nudm-pp +# - nudm-niddau +# - nudm-mt +# - namf-comm +# - namf-evts +# - namf-mt +# - namf-loc +# - nsmf-pdusession +# - nsmf-event-exposure +# - nsmf-nidd +# - nausf-auth +# - nausf-sorprotection +# - nausf-upuprotection +# - nnef-pfdmanagement +# - nnef-smcontext +# - nnef-eventexposure +# - npcf-am-policy-control +# - npcf-smpolicycontrol +# - npcf-policyauthorization +# - npcf-bdtpolicycontrol +# - npcf-eventexposure +# - npcf-ue-policy-control +# - nsmsf-sms +# - nnssf-nsselection +# - nnssf-nssaiavailability +# - nudr-dr +# - nudr-group-id-map +# - nlmf-loc +# - n5g-eir-eic +# - nbsf-management +# - nchf-spendinglimitcontrol +# - nchf-convergedcharging +# - nchf-offlineonlycharging +# - nnwdaf-eventssubscription +# - nnwdaf-analyticsinfo +# - ngmlc-loc +# - nucmf-provisioning +# - nucmf-uecapabilitymanagement +# - nhss-sdm +# - nhss-uecm +# - nhss-ueau +# - nhss-ee +# - nhss-ims-sdm +# - nhss-ims-uecm +# - nhss-ims-ueau +# - nsepp-telescopic +# - nsoraf-sor +# - nspaf-secured-packet +# - nudsf-dr +# - nnssaaf-nssaa +# - type: string + type: string + N2InterfaceAmfInfo: + description: AMF N2 interface information + type: object + properties: + ipv4EndpointAddress: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6EndpointAddress: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + amfName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + NFServiceStatus: +# description: Status of a given NF Service Instance of an NF Instance stored in NRF +# anyOf: +# - type: string + type: string + enum: + - REGISTERED + - SUSPENDED + - UNDISCOVERABLE +# - type: string + TaiRange: + description: Range of TAIs (Tracking Area Identities) + type: object + required: + - plmnId + - tacRangeList + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + tacRangeList: + type: array + items: + $ref: '#/components/schemas/TacRange' + minItems: 1 + nid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Nid' + TacRange: + description: Range of TACs (Tracking Area Codes) + type: object + properties: + start: + type: string + pattern: '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$' + end: + type: string + pattern: '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$' + pattern: + type: string + PlmnRange: + description: Range of PLMN IDs + type: object + properties: + start: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}$' + end: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}$' + pattern: + type: string + NrfInfo: + description: Information of an NRF NF Instance, used in hierarchical NRF deployments + type: object + properties: + servedUdrInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/UdrInfo' + minProperties: 1 + servedUdrInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/UdrInfo' + minProperties: 1 + minProperties: 1 + servedUdmInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/UdmInfo' + minProperties: 1 + servedUdmInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/UdmInfo' + minProperties: 1 + minProperties: 1 + servedAusfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/AusfInfo' + minProperties: 1 + servedAusfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/AusfInfo' + minProperties: 1 + minProperties: 1 + servedAmfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/AmfInfo' + minProperties: 1 + servedAmfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/AmfInfo' + minProperties: 1 + minProperties: 1 + servedSmfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/SmfInfo' + minProperties: 1 + servedSmfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/SmfInfo' + minProperties: 1 + minProperties: 1 + servedUpfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/UpfInfo' + minProperties: 1 + servedUpfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/UpfInfo' + minProperties: 1 + minProperties: 1 + servedPcfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/PcfInfo' + minProperties: 1 + servedPcfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/PcfInfo' + minProperties: 1 + minProperties: 1 + servedBsfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/BsfInfo' + minProperties: 1 + servedBsfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/BsfInfo' + minProperties: 1 + minProperties: 1 + servedChfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/ChfInfo' + minProperties: 1 + servedChfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/ChfInfo' + minProperties: 1 + minProperties: 1 + servedNefInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/NefInfo' + minProperties: 1 + servedNwdafInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/NwdafInfo' + minProperties: 1 + servedPcscfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/PcscfInfo' + minProperties: 1 + minProperties: 1 + servedGmlcInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/GmlcInfo' + minProperties: 1 + servedLmfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/LmfInfo' + minProperties: 1 + servedNfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/NfInfo' + minProperties: 1 + servedHssInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/HssInfo' + minProperties: 1 + minProperties: 1 + servedUdsfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/UdsfInfo' + minProperties: 1 + servedUdsfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/UdsfInfo' + minProperties: 1 + minProperties: 1 + servedScpInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/ScpInfo' + minProperties: 1 + PlmnSnssai: + description: List of network slices (S-NSSAIs) for a given PLMN ID + type: object + required: + - plmnId + - sNssaiList + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + sNssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + nid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Nid' + NefInfo: + description: Information of an NEF NF Instance + type: object + properties: + nefId: + $ref: '#/components/schemas/NefId' + pfdData: + $ref: '#/components/schemas/PfdData' + afEeData: + $ref: '#/components/schemas/AfEventExposureData' + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + servedFqdnList: + type: array + items: + type: string + minItems: 1 + PfdData: + description: List of Application IDs and/or AF IDs managed by a given NEF Instance + type: object + properties: + appIds: + type: array + items: + type: string + minItems: 1 + afIds: + type: array + items: + type: string + minItems: 1 + NwdafInfo: + description: Information of a NWDAF NF Instance + type: object + properties: + eventIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' + minItems: 1 + nwdafEvents: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + LmfInfo: + description: Information of an LMF NF Instance + type: object + properties: + servingClientTypes: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/ExternalClientType' + minItems: 1 + lmfId: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' + servingAccessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + servingAnNodeTypes: + type: array + items: + $ref: '#/components/schemas/AnNodeType' + minItems: 1 + servingRatTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + GmlcInfo: + description: Information of a GMLC NF Instance + type: object + properties: + servingClientTypes: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/ExternalClientType' + minItems: 1 + AfEventExposureData: + description: AF Event Exposure data managed by a given NEF Instance + type: object + required: + - afEvents + properties: + afEvents: + type: array + items: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEvent' + minItems: 1 + afIds: + type: array + items: + type: string + minItems: 1 + appIds: + type: array + items: + type: string + minItems: 1 + PcscfInfo: + description: Information of a P-CSCF NF Instance + type: object + properties: + accessType: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + gmFqdn: + $ref: '#/components/schemas/Fqdn' + gmIpv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + gmIpv6Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + servedIpv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + servedIpv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + NfInfo: + description: Information of a generic NF Instance + type: object + properties: + nfType: + $ref: '#/components/schemas/NFType' + HssInfo: + description: Information of an HSS NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + imsiRanges: + type: array + items: + $ref: '#/components/schemas/ImsiRange' + minItems: 1 + imsPrivateIdentityRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + imsPublicIdentityRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + msisdnRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + ImsiRange: + description: A range of IMSIs (subscriber identities), either based on a numeric range, or based on regular-expression matching + type: object + properties: + start: + type: string + pattern: '^[0-9]+$' + end: + type: string + pattern: '^[0-9]+$' + pattern: + type: string + TwifInfo: + description: Addressing information (IP addresses, FQDN) of the TWIF + type: object + properties: + ipv4EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + endpointFqdn: + $ref: '#/components/schemas/Fqdn' + VendorId: + description: Vendor ID of the NF Service instance (Private Enterprise Number assigned by IANA) + type: string + pattern: '^[0-9]{6}$' + VendorSpecificFeature: + description: Information about a vendor-specific feature + type: object + required: + - featureName + - featureVersion + properties: + featureName: + type: string + featureVersion: + type: string + AnNodeType: +# description: Access Network Node Type (gNB, ng-eNB...) +# anyOf: +# - type: string + type: string + enum: + - GNB + - NG_ENB +# - type: string + UdsfInfo: + description: Information related to UDSF + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + storageIdRanges: + description: A map (list of key-value pairs) where realmId serves as key and each value in the map is an array of IdentityRanges. Each IdentityRange is a range of storageIds. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + minProperties: 1 + ScpInfo: + description: Information of an SCP Instance + type: object + properties: + scpDomainInfoList: + type: object + additionalProperties: + items: + $ref: '#/components/schemas/ScpDomainInfo' + minProperties: 1 + scpPrefix: + type: string + scpPorts: + type: object + additionalProperties: + type: integer + minimum: 0 + maximum: 65535 + minProperties: 1 + addressDomains: + type: array + items: + type: string + minItems: 1 + ipv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + ipv4AddrRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + servedNfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + remotePlmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + ipReachability: + $ref: '#/components/schemas/IpReachability' + + ScpDomainInfo: + description: SCP Domain specific information + type: object + properties: + scpFqdn: + $ref: '#/components/schemas/Fqdn' + scpIpEndPoints: + type: array + items: + $ref: '#/components/schemas/IpEndPoint' + minItems: 1 + scpPrefix: + type: string + scpPorts: + type: object + additionalProperties: + type: integer + minimum: 0 + maximum: 65535 + minProperties: 1 + + ScpDomainCond: + description: Subscription to a set of NF or SCP instances belonging to certain SCP domains + type: object + properties: + scpDomains: + type: array + items: + type: string + minItems: 1 + + OptionsResponse: + description: Communication options of the NRF sent in response payload of OPTIONS method + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ConditionEventType: +# description: Indicates whether a notification is due to the NF Instance to start or stop being part of a condition for a subscription to a set of NFs +# anyOf: +# - type: string + type: string + enum: + - NF_ADDED + - NF_REMOVED +# - type: string + + IpReachability: +# description: Indicates the type(s) of IP addresses reachable via an SCP +# anyOf: +# - type: string + type: string + enum: + - IPV4 + - IPV6 + - IPV4V6 +# - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29512_Npcf_SMPolicyControl.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29512_Npcf_SMPolicyControl.yaml new file mode 100644 index 000000000..cf7e69be8 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29512_Npcf_SMPolicyControl.yaml @@ -0,0 +1,2204 @@ +openapi: 3.0.0 +info: + title: Npcf_SMPolicyControl API + version: 1.1.5 + description: | + Session Management Policy Control Service + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.512 V16.9.0; 5G System; Session Management Policy Control Service. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.512/' +security: + - {} + - oAuth2Clientcredentials: + - npcf-smpolicycontrol +servers: + - url: '{apiRoot}/npcf-smpolicycontrol/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 +paths: + /sm-policies: + post: + summary: Create a new Individual SM Policy + operationId: CreateSMPolicy + tags: + - SM Policies (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyContextData' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyDecision' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '308': + description: Permanent Redirect + headers: + Location: + description: 'Contains the URI of the PCF within the existing PCF binding information stored in the BSF for the same UE ID, S-NSSAI and DNN combination ' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: Not Found + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + SmPolicyUpdateNotification: + '{$request.body#/notificationUri}/update': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyNotification' + responses: + '200': + description: OK. The current applicable values corresponding to the policy control request trigger is reported + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/UeCampingRep' + - type: array + items: + $ref: '#/components/schemas/PartialSuccessReport' + minItems: 1 + - type: array + items: + $ref: '#/components/schemas/PolicyDecisionFailureCode' + minItems: 1 + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorReport' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + SmPolicyControlTerminationRequestNotification: + '{$request.body#/notificationUri}/terminate': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TerminationNotification' + responses: + '204': + description: No Content, Notification was successful + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /sm-policies/{smPolicyId}: + get: + summary: Read an Individual SM Policy + operationId: GetSMPolicy + tags: + - Individual SM Policy (Document) + parameters: + - name: smPolicyId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyControl' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /sm-policies/{smPolicyId}/update: + post: + summary: Update an existing Individual SM Policy + operationId: UpdateSMPolicy + tags: + - Individual SM Policy (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyUpdateContextData' + parameters: + - name: smPolicyId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Updated policies are returned + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyDecision' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /sm-policies/{smPolicyId}/delete: + post: + summary: Delete an existing Individual SM Policy + operationId: DeleteSMPolicy + tags: + - Individual SM Policy (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyDeleteData' + parameters: + - name: smPolicyId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '204': + description: No content + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2Clientcredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-smpolicycontrol: Access to the Npcf_SMPolicyControl API + schemas: + SmPolicyControl: + type: object + properties: + context: + $ref: '#/components/schemas/SmPolicyContextData' + policy: + $ref: '#/components/schemas/SmPolicyDecision' + required: + - context + - policy + SmPolicyContextData: + type: object + properties: + accNetChId: + $ref: '#/components/schemas/AccNetChId' + chargEntityAddr: + $ref: '#/components/schemas/AccNetChargingAddress' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + invalidSupi: + type: boolean + description: When this attribute is included and set to true, it indicates that the supi attribute contains an invalid value.This attribute shall be present if the SUPI is not available in the SMF or the SUPI is unauthenticated. When present it shall be set to true for an invalid SUPI and false (default) for a valid SUPI. + interGrpIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + pduSessionType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + chargingcharacteristics: + type: string + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + dnnSelMode: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/DnnSelectionMode' + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + addAccessInfo: + $ref: '#/components/schemas/AdditionalAccessInfo' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + userLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + ipv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6AddressPrefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + ipDomain: + type: string + description: Indicates the IPv4 address domain + subsSessAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + authProfIndex: + type: string + description: Indicates the DN-AAA authorization profile index + subsDefQos: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos' + vplmnQos: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/VplmnQos' + numOfPackFilter: + type: integer + description: Contains the number of supported packet filter for signalled QoS rules. + online: + type: boolean + description: If it is included and set to true, the online charging is applied to the PDU session. + offline: + type: boolean + description: If it is included and set to true, the offline charging is applied to the PDU session. + 3gppPsDataOffStatus: + type: boolean + description: If it is included and set to true, the 3GPP PS Data Off is activated by the UE. + refQosIndication: + type: boolean + description: If it is included and set to true, the reflective QoS is supported by the UE. + traceReq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + sliceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + qosFlowUsage: + $ref: '#/components/schemas/QosFlowUsage' + servNfId: + $ref: '#/components/schemas/ServingNfIdentity' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + smfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + maPduInd: + $ref: '#/components/schemas/MaPduIndication' + atsssCapab: + $ref: '#/components/schemas/AtsssCapability' + ipv4FrameRouteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrMask' + minItems: 1 + ipv6FrameRouteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + required: + - supi + - pduSessionId + - pduSessionType + - dnn + - notificationUri + - sliceInfo + SmPolicyDecision: + type: object + properties: + sessRules: + type: object + additionalProperties: + $ref: '#/components/schemas/SessionRule' + minProperties: 1 + description: A map of Sessionrules with the content being the SessionRule as described in subclause 5.6.2.7. + pccRules: + type: object + additionalProperties: + $ref: '#/components/schemas/PccRule' + minProperties: 1 + description: A map of PCC rules with the content being the PCCRule as described in subclause 5.6.2.6. + nullable: true + pcscfRestIndication: + type: boolean + description: If it is included and set to true, it indicates the P-CSCF Restoration is requested. + qosDecs: + type: object + additionalProperties: + $ref: '#/components/schemas/QosData' + minProperties: 1 + description: Map of QoS data policy decisions. + chgDecs: + type: object + additionalProperties: + $ref: '#/components/schemas/ChargingData' + minProperties: 1 + description: Map of Charging data policy decisions. + nullable: true + chargingInfo: + $ref: '#/components/schemas/ChargingInformation' + traffContDecs: + type: object + additionalProperties: + $ref: '#/components/schemas/TrafficControlData' + minProperties: 1 + description: Map of Traffic Control data policy decisions. + umDecs: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonitoringData' + minProperties: 1 + description: Map of Usage Monitoring data policy decisions. + nullable: true + qosChars: + type: object + additionalProperties: + $ref: '#/components/schemas/QosCharacteristics' + minProperties: 1 + description: Map of QoS characteristics for non standard 5QIs. This map uses the 5QI values as keys. + qosMonDecs: + type: object + additionalProperties: + $ref: '#/components/schemas/QosMonitoringData' + minProperties: 1 + description: Map of QoS Monitoring data policy decisions. + nullable: true + reflectiveQoSTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + conds: + type: object + additionalProperties: + $ref: '#/components/schemas/ConditionData' + minProperties: 1 + description: A map of condition data with the content being as described in subclause 5.6.2.9. + nullable: true + revalidationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + offline: + type: boolean + description: Indicates the offline charging is applicable to the PDU session when it is included and set to true. + online: + type: boolean + description: Indicates the online charging is applicable to the PDU session when it is included and set to true. + policyCtrlReqTriggers: + type: array + items: + $ref: '#/components/schemas/PolicyControlRequestTrigger' + minItems: 1 + description: Defines the policy control request triggers subscribed by the PCF. + nullable: true + lastReqRuleData: + type: array + items: + $ref: '#/components/schemas/RequestedRuleData' + minItems: 1 + description: Defines the last list of rule control data requested by the PCF. + lastReqUsageData: + $ref: '#/components/schemas/RequestedUsageData' + praInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfoRm' + minProperties: 1 + description: Map of PRA information. + nullable: true + ipv4Index: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex' + ipv6Index: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex' + qosFlowUsage: + $ref: '#/components/schemas/QosFlowUsage' + relCause: + $ref: '#/components/schemas/SmPolicyAssociationReleaseCause' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + tsnBridgeManCont: + $ref: '#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: '#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: '#/components/schemas/PortManagementContainer' + minItems: 1 + redSessIndication: + type: boolean + description: Indicates whether the PDU session is a redundant PDU session. If absent it means the PDU session is not a redundant PDU session. + SmPolicyNotification: + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smPolicyDecision: + $ref: '#/components/schemas/SmPolicyDecision' + PccRule: + type: object + properties: + flowInfos: + type: array + items: + $ref: '#/components/schemas/FlowInformation' + minItems: 1 + description: An array of IP flow packet filter information. + appId: + type: string + description: A reference to the application detection filter configured at the UPF. + appDescriptor: + $ref: '#/components/schemas/ApplicationDescriptor' + contVer: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion' + pccRuleId: + type: string + description: Univocally identifies the PCC rule within a PDU session. + precedence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + afSigProtocol: + $ref: '#/components/schemas/AfSigProtocol' + appReloc: + type: boolean + description: Indication of application relocation possibility. + refQosData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to the QosData policy decision type. It is the qosId described in subclause 5.6.2.8. + refAltQosParams: + type: array + items: + type: string + minItems: 1 + description: A Reference to the QosData policy decision type for the Alternative QoS parameter sets of the service data flow. + refTcData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to the TrafficControlData policy decision type. It is the tcId described in subclause 5.6.2.10. + refChgData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to the ChargingData policy decision type. It is the chgId described in subclause 5.6.2.11. + nullable: true + refChgN3gData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to the ChargingData policy decision type only applicable to Non-3GPP access if "ATSSS" feature is supported. It is the chgId described in subclause 5.6.2.11. + nullable: true + refUmData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to UsageMonitoringData policy decision type. It is the umId described in subclause 5.6.2.12. + nullable: true + refUmN3gData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to UsageMonitoringData policy decision type only applicable to Non-3GPP access if "ATSSS" feature is supported. It is the umId described in subclause 5.6.2.12. + nullable: true + refCondData: + type: string + description: A reference to the condition data. It is the condId described in subclause 5.6.2.9. + nullable: true + refQosMon: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to the QosMonitoringData policy decision type. It is the qmId described in subclause 5.6.2.40. + nullable: true + addrPreserInd: + type: boolean + nullable: true + tscaiInputDl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + ddNotifCtrl: + $ref: '#/components/schemas/DownlinkDataNotificationControl' + ddNotifCtrl2: + $ref: '#/components/schemas/DownlinkDataNotificationControlRm' + disUeNotif: + type: boolean + nullable: true + required: + - pccRuleId + nullable: true + SessionRule: + type: object + properties: + authSessAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + authDefQos: + $ref: '#/components/schemas/AuthorizedDefaultQos' + sessRuleId: + type: string + description: Univocally identifies the session rule within a PDU session. + refUmData: + type: string + description: A reference to UsageMonitoringData policy decision type. It is the umId described in subclause 5.6.2.12. + nullable: true + refUmN3gData: + type: string + description: A reference to UsageMonitoringData policy decision type to apply for Non-3GPP access. It is the umId described in subclause 5.6.2.12. + nullable: true + refCondData: + type: string + description: A reference to the condition data. It is the condId described in subclause 5.6.2.9. + nullable: true + required: + - sessRuleId + nullable: true + QosData: + type: object + properties: + qosId: + type: string + description: Univocally identifies the QoS control policy data within a PDU session. + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + maxbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + qnc: + type: boolean + description: Indicates whether notifications are requested from 3GPP NG-RAN when the GFBR can no longer (or again) be guaranteed for a QoS Flow during the lifetime of the QoS Flow. + priorityLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevelRm' + averWindow: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindowRm' + maxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MaxDataBurstVolRm' + reflectiveQos: + type: boolean + description: Indicates whether the QoS information is reflective for the corresponding service data flow. + sharingKeyDl: + type: string + description: Indicates, by containing the same value, what PCC rules may share resource in downlink direction. + sharingKeyUl: + type: string + description: Indicates, by containing the same value, what PCC rules may share resource in uplink direction. + maxPacketLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxPacketLossRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + defQosFlowIndication: + type: boolean + description: Indicates that the dynamic PCC rule shall always have its binding with the QoS Flow associated with the default QoS rule + extMaxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' + packetDelayBudget: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + packetErrorRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + required: + - qosId + nullable: true + ConditionData: + type: object + properties: + condId: + type: string + description: Uniquely identifies the condition data within a PDU session. + activationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTimeRm' + deactivationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTimeRm' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + required: + - condId + nullable: true + TrafficControlData: + type: object + properties: + tcId: + type: string + description: Univocally identifies the traffic control policy data within a PDU session. + flowStatus: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowStatus' + redirectInfo: + $ref: '#/components/schemas/RedirectInformation' + addRedirectInfo: + type: array + items: + $ref: '#/components/schemas/RedirectInformation' + minItems: 1 + muteNotif: + type: boolean + description: Indicates whether applicat'on's start or stop notification is to be muted. + trafficSteeringPolIdDl: + type: string + description: Reference to a pre-configured traffic steering policy for downlink traffic at the SMF. + nullable: true + trafficSteeringPolIdUl: + type: string + description: Reference to a pre-configured traffic steering policy for uplink traffic at the SMF. + nullable: true + routeToLocs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: A list of location which the traffic shall be routed to for the AF request + traffCorreInd: + type: boolean + upPathChgEvent: + $ref: '#/components/schemas/UpPathChgEvent' + steerFun: + $ref: '#/components/schemas/SteeringFunctionality' + steerModeDl: + $ref: '#/components/schemas/SteeringMode' + steerModeUl: + $ref: '#/components/schemas/SteeringMode' + mulAccCtrl: + $ref: '#/components/schemas/MulticastAccessControl' + required: + - tcId + nullable: true + ChargingData: + type: object + properties: + chgId: + type: string + description: Univocally identifies the charging control policy data within a PDU session. + meteringMethod: + $ref: '#/components/schemas/MeteringMethod' + offline: + type: boolean + description: Indicates the offline charging is applicable to the PCC rule when it is included and set to true. + online: + type: boolean + description: Indicates the online charging is applicable to the PCC rule when it is included and set to true. + sdfHandl: + type: boolean + description: Indicates whether the service data flow is allowed to start while the SMF is waiting for the response to the credit request. + ratingGroup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup' + reportingLevel: + $ref: '#/components/schemas/ReportingLevel' + serviceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceId' + sponsorId: + type: string + description: Indicates the sponsor identity. + appSvcProvId: + type: string + description: Indicates the application service provider identity. + afChargingIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + afChargId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationChargingId' + required: + - chgId + nullable: true + UsageMonitoringData: + type: object + properties: + umId: + type: string + description: Univocally identifies the usage monitoring policy data within a PDU session. + volumeThreshold: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + volumeThresholdUplink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + volumeThresholdDownlink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + timeThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + monitoringTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTimeRm' + nextVolThreshold: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + nextVolThresholdUplink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + nextVolThresholdDownlink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + nextTimeThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + inactivityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + exUsagePccRuleIds: + type: array + items: + type: string + minItems: 1 + description: Contains the PCC rule identifier(s) which corresponding service data flow(s) shall be excluded from PDU Session usage monitoring. It is only included in the UsageMonitoringData instance for session level usage monitoring. + nullable: true + required: + - umId + nullable: true + RedirectInformation: + type: object + properties: + redirectEnabled: + type: boolean + description: Indicates the redirect is enable. + redirectAddressType: + $ref: '#/components/schemas/RedirectAddressType' + redirectServerAddress: + type: string + description: Indicates the address of the redirect server. If "redirectAddressType" attribute indicates the IPV4_ADDR, the encoding is the same as the Ipv4Addr data type defined in 3GPP TS 29.571.If "redirectAddressType" attribute indicates the IPV6_ADDR, the encoding is the same as the Ipv6Addr data type defined in 3GPP TS 29.571.If "redirectAddressType" attribute indicates the URL or SIP_URI, the encoding is the same as the Uri data type defined in 3GPP TS 29.571. + FlowInformation: + type: object + properties: + flowDescription: + $ref: '#/components/schemas/FlowDescription' + ethFlowDescription: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + packFiltId: + type: string + description: An identifier of packet filter. + packetFilterUsage: + type: boolean + description: The packet shall be sent to the UE. + tosTrafficClass: + type: string + description: Contains the Ipv4 Type-of-Service and mask field or the Ipv6 Traffic-Class field and mask field. + nullable: true + spi: + type: string + description: the security parameter index of the IPSec packet. + nullable: true + flowLabel: + type: string + description: the Ipv6 flow label header field. + nullable: true + flowDirection: + $ref: '#/components/schemas/FlowDirectionRm' + SmPolicyDeleteData: + type: object + properties: + userLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + userLocationInfoTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ranNasRelCauses: + type: array + items: + $ref: '#/components/schemas/RanNasRelCause' + minItems: 1 + description: Contains the RAN and/or NAS release cause. + accuUsageReports: + type: array + items: + $ref: '#/components/schemas/AccuUsageReport' + minItems: 1 + description: Contains the usage report + pduSessRelCause: + $ref: '#/components/schemas/PduSessionRelCause' + qosMonReports: + type: array + items: + $ref: '#/components/schemas/QosMonitoringReport' + minItems: 1 + QosCharacteristics: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + resourceType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/QosResourceType' + priorityLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevel' + packetDelayBudget: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + packetErrorRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + averagingWindow: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindow' + maxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MaxDataBurstVol' + extMaxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVol' + required: + - 5qi + - resourceType + - priorityLevel + - packetDelayBudget + - packetErrorRate + ChargingInformation: + type: object + properties: + primaryChfAddress: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + secondaryChfAddress: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + primaryChfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + primaryChfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + secondaryChfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + secondaryChfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + required: + - primaryChfAddress + - secondaryChfAddress + AccuUsageReport: + type: object + properties: + refUmIds: + type: string + description: An id referencing UsageMonitoringData objects associated with this usage report. + volUsage: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + volUsageUplink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + volUsageDownlink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + timeUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + nextVolUsage: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + nextVolUsageUplink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + nextVolUsageDownlink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + nextTimeUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - refUmIds + SmPolicyUpdateContextData: + type: object + properties: + repPolicyCtrlReqTriggers: + type: array + items: + $ref: '#/components/schemas/PolicyControlRequestTrigger' + minItems: 1 + description: The policy control reqeust trigges which are met. + accNetChIds: + type: array + items: + $ref: '#/components/schemas/AccNetChId' + minItems: 1 + description: Indicates the access network charging identifier for the PCC rule(s) or whole PDU session. + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + addAccessInfo: + $ref: '#/components/schemas/AdditionalAccessInfo' + relAccessInfo: + $ref: '#/components/schemas/AdditionalAccessInfo' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + userLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + relIpv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipDomain: + type: string + description: Indicates the IPv4 address domain + ipv6AddressPrefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + relIpv6AddressPrefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + addIpv6AddrPrefixes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + addRelIpv6AddrPrefixes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + relUeMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + subsSessAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + authProfIndex: + type: string + description: Indicates the DN-AAA authorization profile index + subsDefQos: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos' + vplmnQos: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/VplmnQos' + numOfPackFilter: + type: integer + description: Contains the number of supported packet filter for signalled QoS rules. + accuUsageReports: + type: array + items: + $ref: '#/components/schemas/AccuUsageReport' + minItems: 1 + description: Contains the usage report + 3gppPsDataOffStatus: + type: boolean + description: If it is included and set to true, the 3GPP PS Data Off is activated by the UE. + appDetectionInfos: + type: array + items: + $ref: '#/components/schemas/AppDetectionInfo' + minItems: 1 + description: Report the start/stop of the application traffic and detected SDF descriptions if applicable. + ruleReports: + type: array + items: + $ref: '#/components/schemas/RuleReport' + minItems: 1 + description: Used to report the PCC rule failure. + sessRuleReports: + type: array + items: + $ref: '#/components/schemas/SessionRuleReport' + minItems: 1 + description: Used to report the session rule failure. + qncReports: + type: array + items: + $ref: '#/components/schemas/QosNotificationControlInfo' + minItems: 1 + description: QoS Notification Control information. + qosMonReports: + type: array + items: + $ref: '#/components/schemas/QosMonitoringReport' + minItems: 1 + userLocationInfoTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + repPraInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: Reports the changes of presence reporting area. + ueInitResReq: + $ref: '#/components/schemas/UeInitiatedResourceRequest' + refQosIndication: + type: boolean + description: If it is included and set to true, the reflective QoS is supported by the UE. If it is included and set to false, the reflective QoS is revoked by the UE. + qosFlowUsage: + $ref: '#/components/schemas/QosFlowUsage' + creditManageStatus: + $ref: '#/components/schemas/CreditManagementStatus' + servNfId: + $ref: '#/components/schemas/ServingNfIdentity' + traceReq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + maPduInd: + $ref: '#/components/schemas/MaPduIndication' + atsssCapab: + $ref: '#/components/schemas/AtsssCapability' + tsnBridgeInfo: + $ref: '#/components/schemas/TsnBridgeInfo' + tsnBridgeManCont: + $ref: '#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: '#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: '#/components/schemas/PortManagementContainer' + minItems: 1 + mulAddrInfos: + type: array + items: + $ref: '#/components/schemas/IpMulticastAddressInfo' + minItems: 1 + policyDecFailureReports: + type: array + items: + $ref: '#/components/schemas/PolicyDecisionFailureCode' + minItems: 1 + description: Contains the type(s) of failed policy decision and/or condition data. + trafficDescriptors: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + pccRuleId: + type: string + description: Contains the identifier of the PCC rule which is used for traffic detection of event. + interGrpIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + typesOfNotif: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + UpPathChgEvent: + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifCorreId: + type: string + description: It is used to set the value of Notification Correlation ID in the notification sent by the SMF. + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + afAckInd: + type: boolean + required: + - notificationUri + - notifCorreId + - dnaiChgType + nullable: true + TerminationNotification: + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + cause: + $ref: '#/components/schemas/SmPolicyAssociationReleaseCause' + required: + - resourceUri + - cause + AppDetectionInfo: + type: object + properties: + appId: + type: string + description: A reference to the application detection filter configured at the UPF + instanceId: + type: string + description: Identifier sent by the SMF in order to allow correlation of application Start and Stop events to the specific service data flow description, if service data flow descriptions are deducible. + sdfDescriptions: + type: array + items: + $ref: '#/components/schemas/FlowInformation' + minItems: 1 + description: Contains the detected service data flow descriptions if they are deducible. + required: + - appId + AccNetChId: + type: object + properties: + accNetChaIdValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + refPccRuleIds: + type: array + items: + type: string + minItems: 1 + description: Contains the identifier of the PCC rule(s) associated to the provided Access Network Charging Identifier. + sessionChScope: + type: boolean + description: When it is included and set to true, indicates the Access Network Charging Identifier applies to the whole PDU Session + required: + - accNetChaIdValue + AccNetChargingAddress: + description: Describes the network entity within the access network performing charging + type: object +# anyOf: +# - required: [anChargIpv4Addr] +# - required: [anChargIpv6Addr] + properties: + anChargIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + anChargIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + RequestedRuleData: + type: object + properties: + refPccRuleIds: + type: array + items: + type: string + minItems: 1 + description: An array of PCC rule id references to the PCC rules associated with the control data. + reqData: + type: array + items: + $ref: '#/components/schemas/RequestedRuleDataType' + minItems: 1 + description: Array of requested rule data type elements indicating what type of rule data is requested for the corresponding referenced PCC rules. + required: + - refPccRuleIds + - reqData + RequestedUsageData: + type: object + properties: + refUmIds: + type: array + items: + type: string + minItems: 1 + description: An array of usage monitoring data id references to the usage monitoring data instances for which the PCF is requesting a usage report. This attribute shall only be provided when allUmIds is not set to true. + allUmIds: + type: boolean + description: This boolean indicates whether requested usage data applies to all usage monitoring data instances. When it's not included, it means requested usage data shall only apply to the usage monitoring data instances referenced by the refUmIds attribute. + UeCampingRep: + type: object + properties: + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + servNfId: + $ref: '#/components/schemas/ServingNfIdentity' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + userLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + netLocAccSupp: + $ref: '#/components/schemas/NetLocAccessSupport' + RuleReport: + type: object + properties: + pccRuleIds: + type: array + items: + type: string + minItems: 1 + description: Contains the identifier of the affected PCC rule(s). + ruleStatus: + $ref: '#/components/schemas/RuleStatus' + contVers: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion' + minItems: 1 + description: Indicates the version of a PCC rule. + failureCode: + $ref: '#/components/schemas/FailureCode' + finUnitAct: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/FinalUnitAction' + ranNasRelCauses: + type: array + items: + $ref: '#/components/schemas/RanNasRelCause' + minItems: 1 + description: indicates the RAN or NAS release cause code information. + required: + - pccRuleIds + - ruleStatus + RanNasRelCause: + type: object + properties: + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + 5gSmCause: + $ref: '#/components/schemas/5GSmCause' + epsCause: + $ref: '#/components/schemas/EpsRanNasRelCause' + UeInitiatedResourceRequest: + type: object + properties: + pccRuleId: + type: string + ruleOp: + $ref: '#/components/schemas/RuleOperation' + precedence: + type: integer + packFiltInfo: + type: array + items: + $ref: '#/components/schemas/PacketFilterInfo' + minItems: 1 + reqQos: + $ref: '#/components/schemas/RequestedQos' + required: + - ruleOp + - packFiltInfo + PacketFilterInfo: + type: object + properties: + packFiltId: + type: string + description: An identifier of packet filter. + packFiltCont: + $ref: '#/components/schemas/PacketFilterContent' + tosTrafficClass: + type: string + description: Contains the Ipv4 Type-of-Service and mask field or the Ipv6 Traffic-Class field and mask field. + spi: + type: string + description: The security parameter index of the IPSec packet. + flowLabel: + type: string + description: The Ipv6 flow label header field. + flowDirection: + $ref: '#/components/schemas/FlowDirection' + RequestedQos: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + gbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + gbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + required: + - 5qi + QosNotificationControlInfo: + type: object + properties: + refPccRuleIds: + type: array + items: + type: string + minItems: 1 + description: An array of PCC rule id references to the PCC rules associated with the QoS notification control info. + notifType: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/QosNotifType' + contVer: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion' + altQosParamId: + type: string + required: + - refPccRuleIds + - notifType + PartialSuccessReport: + type: object + properties: + failureCause: + $ref: '#/components/schemas/FailureCause' + ruleReports: + type: array + items: + $ref: '#/components/schemas/RuleReport' + minItems: 1 + description: Information about the PCC rules provisioned by the PCF not successfully installed/activated. + sessRuleReports: + type: array + items: + $ref: '#/components/schemas/SessionRuleReport' + minItems: 1 + description: Information about the session rules provisioned by the PCF not successfully installed. + ueCampingRep: + $ref: '#/components/schemas/UeCampingRep' + policyDecFailureReports: + type: array + items: + $ref: '#/components/schemas/PolicyDecisionFailureCode' + minItems: 1 + description: Contains the type(s) of failed policy decision and/or condition data. + required: + - failureCause + AuthorizedDefaultQos: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + priorityLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevelRm' + averWindow: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindowRm' + maxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MaxDataBurstVolRm' + maxbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + extMaxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' + ErrorReport: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + ruleReports: + type: array + items: + $ref: '#/components/schemas/RuleReport' + minItems: 1 + description: Used to report the PCC rule failure. + sessRuleReports: + type: array + items: + $ref: '#/components/schemas/SessionRuleReport' + minItems: 1 + description: Used to report the session rule failure. + polDecFailureReports: + type: array + items: + $ref: '#/components/schemas/PolicyDecisionFailureCode' + minItems: 1 + description: Used to report failure of the policy decision and/or condition data. + altQosParamId: + type: string + SessionRuleReport: + type: object + properties: + ruleIds: + type: array + items: + type: string + minItems: 1 + description: Contains the identifier of the affected session rule(s). + ruleStatus: + $ref: '#/components/schemas/RuleStatus' + sessRuleFailureCode: + $ref: '#/components/schemas/SessionRuleFailureCode' + policyDecFailureReports: + type: array + items: + $ref: '#/components/schemas/PolicyDecisionFailureCode' + minItems: 1 + description: Contains the type(s) of failed policy decision and/or condition data. + required: + - ruleIds + - ruleStatus + ServingNfIdentity: + type: object + properties: + servNfInstId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + anGwAddr: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AnGwAddress' + SteeringMode: + type: object + properties: + steerModeValue: + $ref: '#/components/schemas/SteerModeValue' + active: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + standby: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessTypeRm' + 3gLoad: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + prioAcc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - steerModeValue + AdditionalAccessInfo: + type: object + properties: + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + required: + - accessType + QosMonitoringData: + type: object + properties: + qmId: + type: string + description: Univocally identifies the QoS monitoring policy data within a PDU session. + reqQosMonParams: + type: array + items: + $ref: '#/components/schemas/RequestedQosMonitoringParameter' + minItems: 1 + description: indicates the UL packet delay, DL packet delay and/or round trip packet delay between the UE and the UPF is to be monitored when the QoS Monitoring for URLLC is enabled for the service data flow. + repFreqs: + type: array + items: + $ref: '#/components/schemas/ReportingFrequency' + minItems: 1 + repThreshDl: + type: integer + description: Unsigned integer identifying a period of time in units of miliiseconds for DL packet delay. + nullable: true + repThreshUl: + type: integer + description: Unsigned integer identifying a period of time in units of miliiseconds for UL packet delay. + nullable: true + repThreshRp: + type: integer + description: Unsigned integer identifying a period of time in units of miliiseconds for round trip packet delay. + nullable: true + waitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorreId: + type: string + required: + - qmId + - reqQosMonParams + - repFreqs + nullable: true + QosMonitoringReport: + type: object + properties: + refPccRuleIds: + type: array + items: + type: string + minItems: 1 + description: An array of PCC rule id references to the PCC rules associated with the QoS monitoring report. + ulDelays: + type: array + items: + type: integer + minItems: 1 + dlDelays: + type: array + items: + type: integer + minItems: 1 + rtDelays: + type: array + items: + type: integer + minItems: 1 + required: + - refPccRuleIds +# + TsnBridgeInfo: + type: object + properties: + bridgeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + dsttAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + dsttPortNum: + $ref: '#/components/schemas/TsnPortNumber' + dsttResidTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' +# + PortManagementContainer: + type: object + properties: + portManCont: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + portNum: + $ref: '#/components/schemas/TsnPortNumber' + required: + - portManCont + - portNum + BridgeManagementContainer: + type: object + properties: + bridgeManCont: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + required: + - bridgeManCont + IpMulticastAddressInfo: + type: object + properties: + srcIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv4MulAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + srcIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ipv6MulAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + DownlinkDataNotificationControl: + description: Contains the downlink data notification control information. + type: object + properties: + notifCtrlInds: + type: array + items: + $ref: '#/components/schemas/NotificationControlIndication' + minItems: 1 + typesOfNotif: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + DownlinkDataNotificationControlRm: + description: this data type is defined in the same way as the DownlinkDataNotificationControl data type, but with the OpenAPI nullable property set to true. + type: object + properties: + notifCtrlInds: + type: array + items: + $ref: '#/components/schemas/NotificationControlIndication' + minItems: 1 + nullable: true + typesOfNotif: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + nullable: true + nullable: true + 5GSmCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + EpsRanNasRelCause: + type: string + description: Defines the EPS RAN/NAS release cause. + PacketFilterContent: + type: string + description: Defines a packet filter for an IP flow. + FlowDescription: + type: string + description: Defines a packet filter for an IP flow. + TsnPortNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + ApplicationDescriptor: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + FlowDirection: +# anyOf: +# - type: string + type: string + enum: + - DOWNLINK + - UPLINK + - BIDIRECTIONAL + - UNSPECIFIED +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - DOWNLINK: The corresponding filter applies for traffic to the UE. +# - UPLINK: The corresponding filter applies for traffic from the UE. +# - BIDIRECTIONAL: The corresponding filter applies for traffic both to and from the UE. +# - UNSPECIFIED: The corresponding filter applies for traffic to the UE (downlink), but has no specific direction declared. The service data flow detection shall apply the filter for uplink traffic as if the filter was bidirectional. The PCF shall not use the value UNSPECIFIED in filters created by the network in NW-initiated procedures. The PCF shall only include the value UNSPECIFIED in filters in UE-initiated procedures if the same value is received from the SMF. + FlowDirectionRm: +# anyOf: +# - $ref: '#/components/schemas/FlowDirection' +# - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' + $ref: '#/components/schemas/FlowDirection' + ReportingLevel: +# anyOf: +# - type: string + type: string + enum: + - SER_ID_LEVEL + - RAT_GR_LEVEL + - SPON_CON_LEVEL +# - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - SER_ID_LEVEL: Indicates that the usage shall be reported on service id and rating group combination level. +# - RAT_GR_LEVEL: Indicates that the usage shall be reported on rating group level. +# - SPON_CON_LEVEL: Indicates that the usage shall be reported on sponsor identity and rating group combination level. + MeteringMethod: +# anyOf: +# - type: string + type: string + enum: + - DURATION + - VOLUME + - DURATION_VOLUME + - EVENT +# - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - DURATION: Indicates that the duration of the service data flow traffic shall be metered. +# - VOLUME: Indicates that volume of the service data flow traffic shall be metered. +# - DURATION_VOLUME: Indicates that the duration and the volume of the service data flow traffic shall be metered. +# - EVENT: Indicates that events of the service data flow traffic shall be metered. + PolicyControlRequestTrigger: +# anyOf: +# - type: string + type: string + enum: + - PLMN_CH + - RES_MO_RE + - AC_TY_CH + - UE_IP_CH + - UE_MAC_CH + - AN_CH_COR + - US_RE + - APP_STA + - APP_STO + - AN_INFO + - CM_SES_FAIL + - PS_DA_OFF + - DEF_QOS_CH + - SE_AMBR_CH + - QOS_NOTIF + - NO_CREDIT + - REALLO_OF_CREDIT + - PRA_CH + - SAREA_CH + - SCNN_CH + - RE_TIMEOUT + - RES_RELEASE + - SUCC_RES_ALLO + - RAT_TY_CH + - REF_QOS_IND_CH + - NUM_OF_PACKET_FILTER + - UE_STATUS_RESUME + - UE_TZ_CH + - AUTH_PROF_CH + - QOS_MONITORING + - SCELL_CH + - EPS_FALLBACK + - MA_PDU + - TSN_BRIDGE_INFO + - 5G_RG_JOIN + - 5G_RG_LEAVE + - DDN_FAILURE + - DDN_DELIVERY_STATUS + - GROUP_ID_LIST_CHG + - DDN_FAILURE_CANCELLATION + - DDN_DELIVERY_STATUS_CANCELLATION + - VPLMN_QOS_CH +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - PLMN_CH: PLMN Change +# - RES_MO_RE: A request for resource modification has been received by the SMF. The SMF always reports to the PCF. +# - AC_TY_CH: Access Type Change +# - UE_IP_CH: UE IP address change. The SMF always reports to the PCF. +# - UE_MAC_CH: A new UE MAC address is detected or a used UE MAC address is inactive for a specific period +# - AN_CH_COR: Access Network Charging Correlation Information +# - US_RE: The PDU Session or the Monitoring key specific resources consumed by a UE either reached the threshold or needs to be reported for other reasons. +# - APP_STA: The start of application traffic has been detected. +# - APP_STO: The stop of application traffic has been detected. +# - AN_INFO: Access Network Information report +# - CM_SES_FAIL: Credit management session failure +# - PS_DA_OFF: The SMF reports when the 3GPP PS Data Off status changes. The SMF always reports to the PCF. +# - DEF_QOS_CH: Default QoS Change. The SMF always reports to the PCF. +# - SE_AMBR_CH: Session AMBR Change. The SMF always reports to the PCF. +# - QOS_NOTIF: The SMF notify the PCF when receiving notification from RAN that QoS targets of the QoS Flow cannot be guranteed or gurateed again. +# - NO_CREDIT: Out of credit +# - REALLO_OF_CREDIT: Reallocation of credit +# - PRA_CH: Change of UE presence in Presence Reporting Area +# - SAREA_CH: Location Change with respect to the Serving Area +# - SCNN_CH: Location Change with respect to the Serving CN node +# - RE_TIMEOUT: Indicates the SMF generated the request because there has been a PCC revalidation timeout +# - RES_RELEASE: Indicate that the SMF can inform the PCF of the outcome of the release of resources for those rules that require so. +# - SUCC_RES_ALLO: Indicates that the requested rule data is the successful resource allocation. +# - RAT_TY_CH: RAT Type Change. +# - REF_QOS_IND_CH: Reflective QoS indication Change +# - NUM_OF_PACKET_FILTER: Indicates that the SMF shall report the number of supported packet filter for signalled QoS rules +# - UE_STATUS_RESUME: Indicates that the UE’s status is resumed. +# - UE_TZ_CH: UE Time Zone Change +# - AUTH_PROF_CH: The DN-AAA authorization profile index has changed +# - QOS_MONITORING: Indicate that the SMF notifies the PCF of the QoS Monitoring information. +# - SCELL_CH: Location Change with respect to the Serving Cell. +# - EPS_FALLBACK: EPS Fallback report is enabled in the SMF. +# - MA_PDU: UE Indicates that the SMF notifies the PCF of the MA PDU session request +# - TSN_BRIDGE_INFO: 5GS Bridge information available +# - 5G_RG_JOIN: The 5G-RG has joined to an IP Multicast Group. +# - 5G_RG_LEAVE: The 5G-RG has left an IP Multicast Group. +# - DDN_FAILURE: Event subscription for DDN Failure event received. +# - DDN_DELIVERY_STATUS: Event subscription for DDN Delivery Status received. +# - GROUP_ID_LIST_CHG: UE Internal Group Identifier(s) has changed: the SMF reports that UDM provided list of group Ids has changed. +# - DDN_FAILURE_CANCELLATION: The event subscription for DDN Failure event is cancelled. +# - DDN_DELIVERY_STATUS_CANCELLATION: The event subscription for DDD STATUS is cancelled. +# - VPLMN_QOS_CH: Change of the QoS supported in the VPLMN. + RequestedRuleDataType: +# anyOf: +# - type: string + type: string + enum: + - CH_ID + - MS_TIME_ZONE + - USER_LOC_INFO + - RES_RELEASE + - SUCC_RES_ALLO + - EPS_FALLBACK +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - CH_ID: Indicates that the requested rule data is the charging identifier. +# - MS_TIME_ZONE: Indicates that the requested access network info type is the UE's timezone. +# - USER_LOC_INFO: Indicates that the requested access network info type is the UE's location. +# - RES_RELEASE: Indicates that the requested rule data is the result of the release of resource. +# - SUCC_RES_ALLO: Indicates that the requested rule data is the successful resource allocation. +# - EPS_FALLBACK: Indicates that the requested rule data is the report of QoS flow rejection due to EPS fallback. + RuleStatus: +# anyOf: +# - type: string + type: string + enum: + - ACTIVE + - INACTIVE +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - ACTIVE: Indicates that the PCC rule(s) are successfully installed (for those provisioned from PCF) or activated (for those pre-defined in SMF), or the session rule(s) are successfully installed +# - INACTIVE: Indicates that the PCC rule(s) are removed (for those provisioned from PCF) or inactive (for those pre-defined in SMF) or the session rule(s) are removed. + FailureCode: +# anyOf: +# - type: string + type: string + enum: + - UNK_RULE_ID + - RA_GR_ERR + - SER_ID_ERR + - NF_MAL + - RES_LIM + - MAX_NR_QoS_FLOW + - MISS_FLOW_INFO + - RES_ALLO_FAIL + - UNSUCC_QOS_VAL + - INCOR_FLOW_INFO + - PS_TO_CS_HAN + - APP_ID_ERR + - NO_QOS_FLOW_BOUND + - FILTER_RES + - MISS_REDI_SER_ADDR + - CM_END_USER_SER_DENIED + - CM_CREDIT_CON_NOT_APP + - CM_AUTH_REJ + - CM_USER_UNK + - CM_RAT_FAILED + - UE_STA_SUSP +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - UNK_RULE_ID: Indicates that the pre-provisioned PCC rule could not be successfully activated because the PCC rule identifier is unknown to the SMF. +# - RA_GR_ERR: Indicate that the PCC rule could not be successfully installed or enforced because the Rating Group specified within the Charging Data policy decision which the PCC rule refers to is unknown or, invalid. +# - SER_ID_ERR: Indicate that the PCC rule could not be successfully installed or enforced because the Service Identifier specified within the Charging Data policy decision which the PCC rule refers to is invalid, unknown, or not applicable to the service being charged. +# - NF_MAL: Indicate that the PCC rule could not be successfully installed (for those provisioned from the PCF) or activated (for those pre-defined in SMF) or enforced (for those already successfully installed) due to SMF/UPF malfunction. +# - RES_LIM: Indicate that the PCC rule could not be successfully installed (for those provisioned from PCF) or activated (for those pre-defined in SMF) or enforced (for those already successfully installed) due to a limitation of resources at the SMF/UPF. +# - MAX_NR_QoS_FLOW: Indicate that the PCC rule could not be successfully installed (for those provisioned from PCF) or activated (for those pre-defined in SMF) or enforced (for those already successfully installed) due to the fact that the maximum number of QoS flows has been reached for the PDU session. +# - MISS_FLOW_INFO: Indicate that the PCC rule could not be successfully installed or enforced because neither the "flowInfos" attribute nor the "appId" attribute is specified within the PccRule data structure by the PCF during the first install request of the PCC rule. +# - RES_ALLO_FAIL: Indicate that the PCC rule could not be successfully installed or maintained since the QoS flow establishment/modification failed, or the QoS flow was released. +# - UNSUCC_QOS_VAL: indicate that the QoS validation has failed or when Guaranteed Bandwidth > Max-Requested-Bandwidth. +# - INCOR_FLOW_INFO: Indicate that the PCC rule could not be successfully installed or modified at the SMF because the provided flow information is not supported by the network (e.g. the provided IP address(es) or Ipv6 prefix(es) do not correspond to an IP version applicable for the PDU session). +# - PS_TO_CS_HAN: Indicate that the PCC rule could not be maintained because of PS to CS handover. +# - APP_ID_ERR: Indicate that the rule could not be successfully installed or enforced because the Application Identifier is invalid, unknown, or not applicable to the application required for detection. +# - NO_QOS_FLOW_BOUND: Indicate that there is no QoS flow which the SMF can bind the PCC rule(s) to. +# - FILTER_RES: Indicate that the Flow Information within the "flowInfos" attribute cannot be handled by the SMF because any of the restrictions defined in subclause 5.4.2 of 3GPP TS 29.212 was not met. +# - MISS_REDI_SER_ADDR: Indicate that the PCC rule could not be successfully installed or enforced at the SMF because there is no valid Redirect Server Address within the Traffic Control Data policy decision which the PCC rule refers to provided by the PCF and no preconfigured redirection address for this PCC rule at the SMF. +# - CM_END_USER_SER_DENIED: Indicate that the charging system denied the service request due to service restrictions (e.g. terminate rating group) or limitations related to the end-user, for example the end-user's account could not cover the requested service. +# - CM_CREDIT_CON_NOT_APP: Indicate that the charging system determined that the service can be granted to the end user but no further credit control is needed for the service (e.g. service is free of charge or is treated for offline charging). +# - CM_AUTH_REJ: Indicate that the charging system denied the service request in order to terminate the service for which credit is requested. +# - CM_USER_UNK: Indicate that the specified end user could not be found in the charging system. +# - CM_RAT_FAILED: Indicate that the charging system cannot rate the service request due to insufficient rating input, incorrect AVP combination or due to an attribute or an attribute value that is not recognized or supported in the rating. +# - UE_STA_SUSP: Indicates that the UE is in suspend state. + AfSigProtocol: +# anyOf: +# - type: string + type: string + enum: + - NO_INFORMATION + - SIP +# - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - NO_INFORMATION: Indicate that no information about the AF signalling protocol is being provided. +# - SIP: Indicate that the signalling protocol is Session Initiation Protocol. + RuleOperation: +# anyOf: +# - type: string + type: string + enum: + - CREATE_PCC_RULE + - DELETE_PCC_RULE + - MODIFY_PCC_RULE_AND_ADD_PACKET_FILTERS + - MODIFY_PCC_RULE_AND_REPLACE_PACKET_FILTERS + - MODIFY_PCC_RULE_AND_DELETE_PACKET_FILTERS + - MODIFY_PCC_RULE_WITHOUT_MODIFY_PACKET_FILTERS +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - CREATE_PCC_RULE: Indicates to create a new PCC rule to reserve the resource requested by the UE. +# - DELETE_PCC_RULE: Indicates to delete a PCC rule corresponding to reserve the resource requested by the UE. +# - MODIFY_PCC_RULE_AND_ADD_PACKET_FILTERS: Indicates to modify the PCC rule by adding new packet filter(s). +# - MODIFY_ PCC_RULE_AND_REPLACE_PACKET_FILTERS: Indicates to modify the PCC rule by replacing the existing packet filter(s). +# - MODIFY_ PCC_RULE_AND_DELETE_PACKET_FILTERS: Indicates to modify the PCC rule by deleting the existing packet filter(s). +# - MODIFY_PCC_RULE_WITHOUT_MODIFY_PACKET_FILTERS: Indicates to modify the PCC rule by modifying the QoS of the PCC rule. + RedirectAddressType: +# anyOf: +# - type: string + type: string + enum: + - IPV4_ADDR + - IPV6_ADDR + - URL + - SIP_URI +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - IPV4_ADDR: Indicates that the address type is in the form of "dotted-decimal" IPv4 address. +# - IPV6_ADDR: Indicates that the address type is in the form of IPv6 address. +# - URL: Indicates that the address type is in the form of Uniform Resource Locator. +# - SIP_URI: Indicates that the address type is in the form of SIP Uniform Resource Identifier. + QosFlowUsage: +# anyOf: +# - type: string + type: string + enum: + - GENERAL + - IMS_SIG +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - GENERAL: Indicate no specific QoS flow usage information is available. +# - IMS_SIG: Indicate that the QoS flow is used for IMS signalling only. + FailureCause: +# anyOf: +# - type: string + type: string + enum: + - PCC_RULE_EVENT + - PCC_QOS_FLOW_EVENT + - RULE_PERMANENT_ERROR + - RULE_TEMPORARY_ERROR + - POL_DEC_ERROR +# - type: string + CreditManagementStatus: +# anyOf: +# - type: string + type: string + enum: + - END_USER_SER_DENIED + - CREDIT_CTRL_NOT_APP + - AUTH_REJECTED + - USER_UNKNOWN + - RATING_FAILED +# - type: string + SessionRuleFailureCode: +# anyOf: +# - type: string + type: string + enum: + - NF_MAL + - RES_LIM + - UNSUCC_QOS_VAL + - UE_STA_SUSP +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - NF_MAL: Indicate that the PCC rule could not be successfully installed (for those provisioned from the PCF) or activated (for those pre-defined in SMF) or enforced (for those already successfully installed) due to SMF/UPF malfunction. +# - RES_LIM: Indicate that the PCC rule could not be successfully installed (for those provisioned from PCF) or activated (for those pre-defined in SMF) or enforced (for those already successfully installed) due to a limitation of resources at the SMF/UPF. +# - UNSUCC_QOS_VAL: indicate that the QoS validation has failed. +# - UE_STA_SUSP: Indicates that the UE is in suspend state. + SteeringFunctionality: +# anyOf: +# - type: string + type: string + enum: + - MPTCP + - ATSSS_LL +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - MPTCP: Indicates that PCF authorizes the MPTCP functionality to support traffic steering, switching and splitting. +# - ATSSS_LL: Indicates that PCF authorizes the ATSSS-LL functionality to support traffic steering, switching and splitting. + SteerModeValue: +# anyOf: +# - type: string + type: string + enum: + - ACTIVE_STANDBY + - LOAD_BALANCING + - SMALLEST_DELAY + - PRIORITY_BASED +# - type: string + MulticastAccessControl: + anyOf: + - type: string + enum: + - ALLOWED + - NOT_ALLOWED + - type: string + RequestedQosMonitoringParameter: +# anyOf: +# - type: string + type: string + enum: + - DOWNLINK + - UPLINK + - ROUND_TRIP +# - type: string + ReportingFrequency: +# anyOf: +# - type: string + type: string + enum: + - EVENT_TRIGGERED + - PERIODIC + - SESSION_RELEASE +# - type: string + SmPolicyAssociationReleaseCause: +# anyOf: +# - type: string + type: string + enum: + - UNSPECIFIED + - UE_SUBSCRIPTION + - INSUFFICIENT_RES + - VALIDATION_CONDITION_NOT_MET +# - type: string + PduSessionRelCause: +# anyOf: +# - type: string + type: string + enum: + - PS_TO_CS_HO +# - type: string + MaPduIndication: +# anyOf: +# - type: string + type: string + enum: + - MA_PDU_REQUEST + - MA_PDU_NETWORK_UPGRADE_ALLOWED +# - type: string + AtsssCapability: + anyOf: + - type: string + enum: + - MPTCP_ATSSS_LL_WITH_ASMODE_UL + - MPTCP_ATSSS_LL_WITH_EXSDMODE_DL_ASMODE_UL + - MPTCP_ATSSS_LL_WITH_ASMODE_DLUL + - ATSSS_LL + - MPTCP_ATSSS_LL + - type: string +# + NetLocAccessSupport: +# anyOf: +# - type: string + type: string + enum: + - ANR_NOT_SUPPORTED + - TZR_NOT_SUPPORTED + - LOC_NOT_SUPPORTED +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - ANR_NOT_SUPPORTED: Indicates that the access network does not support the report of access network information. +# - TZR_NOT_SUPPORTED: Indicates that the access network does not support the report of UE time zone. +# - LOC_NOT_SUPPORTED: Indicates that the access network does not support the report of UE Location (or PLMN Id). + PolicyDecisionFailureCode: +# anyOf: +# - type: string + type: string + enum: + - TRA_CTRL_DECS_ERR + - QOS_DECS_ERR + - CHG_DECS_ERR + - USA_MON_DECS_ERR + - QOS_MON_DECS_ERR + - CON_DATA_ERR +# - type: string +# + NotificationControlIndication: +# anyOf: +# - type: string + type: string + enum: + - DDN_FAILURE + - DDD_STATUS +# - type: string +# diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29514_Npcf_PolicyAuthorization.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29514_Npcf_PolicyAuthorization.yaml new file mode 100644 index 000000000..80437101e --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29514_Npcf_PolicyAuthorization.yaml @@ -0,0 +1,1801 @@ +openapi: 3.0.0 +info: + title: Npcf_PolicyAuthorization Service API + version: 1.1.4 + description: | + PCF Policy Authorization Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.514 V16.9.0; 5G System; Policy Authorization Service;Stage 3. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.514/' +# +servers: + - url: '{apiRoot}/npcf-policyauthorization/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - npcf-policyauthorization +paths: + /app-sessions: + post: + summary: Creates a new Individual Application Session Context resource + operationId: PostAppSessions + tags: + - Application Sessions (Collection) + requestBody: + description: Contains the information for the creation the resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AppSessionContext' + responses: + '201': + description: Successful creation of the resource + content: + application/json: + schema: + $ref: '#/components/schemas/AppSessionContext' + headers: + Location: + description: 'Contains the URI of the created individual application session context resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId} or the URI of the created events subscription sub-resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription}' + required: true + schema: + type: string + '303': + description: See Other. The result of the HTTP POST request would be equivalent to the existing Application Session Context. + headers: + Location: + description: 'Contains the URI of the existing individual Application Session Context resource.' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtendedProblemDetails' + headers: + Retry-After: + description: 'Indicates the time the AF has to wait before making a new request. It can be a non-negative integer (decimal number) indicating the number of seconds the AF has to wait before making a new request or an HTTP-date after which the AF can retry a new request.' + schema: + anyOf: + - type: integer + - type: string + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + terminationRequest: + '{$request.body#/ascReqData/notifUri}/terminate': + post: + requestBody: + description: Request of the termination of the Individual Application Session Context + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TerminationInfo' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + eventNotification: + '{$request.body#/ascReqData/evSubsc/notifUri}/notify': + post: + requestBody: + description: Notification of an event occurrence in the PCF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + detected5GsBridgeForPduSession: + '{$request.body#/ascReqData/evSubsc/notifUri}/new-bridge': + post: + requestBody: + description: Notification of a new 5GS Bridge detected in the PCF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionTsnBridge' + responses: + '204': + description: The receipt of the notification is acknowledged + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /app-sessions/pcscf-restoration: + post: + summary: "Indicates P-CSCF restoration and does not create an Individual Application Session Context" + operationId: PcscfRestoration + tags: + - PCSCF Restoration Indication + requestBody: + description: PCSCF Restoration Indication + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcscfRestorationRequestData' + responses: + '204': + description: The deletion is confirmed without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# + /app-sessions/{appSessionId}: + get: + summary: "Reads an existing Individual Application Session Context" + operationId: GetAppSession + tags: + - Individual Application Session Context (Document) + parameters: + - name: appSessionId + description: string identifying the resource + in: path + required: true + schema: + type: string + responses: + '200': + description: A representation of the resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AppSessionContext' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: "Modifies an existing Individual Application Session Context" + operationId: ModAppSession + tags: + - Individual Application Session Context (Document) + parameters: + - name: appSessionId + description: string identifying the resource + in: path + required: true + schema: + type: string + requestBody: + description: modification of the resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AppSessionContextUpdateDataPatch' + responses: + '200': + description: successful modification of the resource and a representation of that resource is returned + content: + application/json: + schema: + $ref: '#/components/schemas/AppSessionContext' + '204': + description: The successful modification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtendedProblemDetails' + headers: + Retry-After: + description: 'Indicates the time the AF has to wait before making a new request. It can be a non-negative integer (decimal number) indicating the number of seconds the AF has to wait before making a new request or an HTTP-date after which the AF can retry a new request.' + schema: + anyOf: + - type: integer + - type: string + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + eventNotification: + '{$request.body#/ascReqData/evSubsc/notifUri}/notify': + post: + requestBody: + description: Notification of an event occurrence in the PCF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +# + /app-sessions/{appSessionId}/delete: + post: + summary: "Deletes an existing Individual Application Session Context" + operationId: DeleteAppSession + tags: + - Individual Application Session Context (Document) + parameters: + - name: appSessionId + description: string identifying the Individual Application Session Context resource + in: path + required: true + schema: + type: string + requestBody: + description: deletion of the Individual Application Session Context resource, req notification + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscReqData' + responses: + '200': + description: The deletion of the resource is confirmed and a resource is returned + content: + application/json: + schema: + $ref: '#/components/schemas/AppSessionContext' + '204': + description: The deletion is confirmed without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# + /app-sessions/{appSessionId}/events-subscription: + put: + summary: "creates or modifies an Events Subscription subresource" + operationId: updateEventsSubsc + tags: + - Events Subscription (Document) + parameters: + - name: appSessionId + description: string identifying the Events Subscription resource + in: path + required: true + schema: + type: string + requestBody: + description: Creation or modification of an Events Subscription resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscReqData' + responses: + '201': + description: The creation of the Events Subscription resource is confirmed and its representation is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscPutData' + headers: + Location: + description: 'Contains the URI of the created Events Subscription resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription}' + required: true + schema: + type: string + '200': + description: The modification of the Events Subscription resource is confirmed its representation is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscPutData' + '204': + description: The modification of the Events Subscription subresource is confirmed without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + eventNotification: + '{$request.body#/notifUri}/notify': + post: + requestBody: + description: Contains the information for the notification of an event occurrence in the PCF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: deletes the Events Subscription subresource + operationId: DeleteEventsSubsc + tags: + - Events Subscription (Document) + parameters: + - name: appSessionId + description: string identifying the Individual Application Session Context resource + in: path + required: true + schema: + type: string + responses: + '204': + description: The deletion of the of the Events Subscription sub-resource is confirmed without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-policyauthorization: Access to the Npcf_PolicyAuthorization API + schemas: + AppSessionContext: + description: Represents an Individual Application Session Context resource. + type: object + properties: + ascReqData: + $ref: '#/components/schemas/AppSessionContextReqData' + ascRespData: + $ref: '#/components/schemas/AppSessionContextRespData' + evsNotif: + $ref: '#/components/schemas/EventsNotification' + AppSessionContextReqData: + description: Identifies the service requirements of an Individual Application Session Context. + type: object + required: + - notifUri + - suppFeat + oneOf: + - required: [ueIpv4] + - required: [ueIpv6] + - required: [ueMac] + properties: + afAppId: + $ref: '#/components/schemas/AfAppId' + afChargId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationChargingId' + afReqData: + $ref: '#/components/schemas/AfRequestedData' + afRoutReq: + $ref: '#/components/schemas/AfRoutingRequirement' + aspId: + $ref: '#/components/schemas/AspId' + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + evSubsc: + $ref: '#/components/schemas/EventsSubscReqData' + mcpttId: + description: indication of MCPTT service request + type: string + mcVideoId: + description: indication of MCVideo service request + type: string + medComponents: + type: object + additionalProperties: + $ref: '#/components/schemas/MediaComponent' + minProperties: 1 + ipDomain: + type: string + mpsId: + description: indication of MPS service request + type: string + mcsId: + description: indication of MCS service request + type: string + preemptControlInfo: + $ref: '#/components/schemas/PreemptionControlInformation' + resPrio: + $ref: '#/components/schemas/ReservPriority' + servInfStatus: + $ref: '#/components/schemas/ServiceInfoStatus' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + servUrn: + $ref: '#/components/schemas/ServiceUrn' + sliceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + sponId: + $ref: '#/components/schemas/SponId' + sponStatus: + $ref: '#/components/schemas/SponsoringStatus' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ueIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + tsnBridgeManCont: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + minItems: 1 + AppSessionContextRespData: + description: Describes the authorization data of an Individual Application Session Context created by the PCF. + type: object + properties: + servAuthInfo: + $ref: '#/components/schemas/ServAuthInfo' + ueIds: + type: array + items: + $ref: '#/components/schemas/UeIdentityInfo' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + AppSessionContextUpdateDataPatch: + description: Identifies the modifications to an Individual Application Session Context and/or the modifications to the sub-resource Events Subscription. + type: object + properties: + ascReqData: + $ref: '#/components/schemas/AppSessionContextUpdateData' + AppSessionContextUpdateData: + description: Identifies the modifications to the "ascReqData" property of an Individual Application Session Context which may include the modifications to the sub-resource Events Subscription. + type: object + properties: + afAppId: + $ref: '#/components/schemas/AfAppId' + afRoutReq: + $ref: '#/components/schemas/AfRoutingRequirementRm' + aspId: + $ref: '#/components/schemas/AspId' + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + evSubsc: + $ref: '#/components/schemas/EventsSubscReqDataRm' + mcpttId: + description: indication of MCPTT service request + type: string + mcVideoId: + description: indication of modification of MCVideo service + type: string + medComponents: + type: object + additionalProperties: + $ref: '#/components/schemas/MediaComponentRm' + minProperties: 1 + mpsId: + description: indication of MPS service request + type: string + mcsId: + description: indication of MCS service request + type: string + preemptControlInfo: + $ref: '#/components/schemas/PreemptionControlInformationRm' + resPrio: + $ref: '#/components/schemas/ReservPriority' + servInfStatus: + $ref: '#/components/schemas/ServiceInfoStatus' + sipForkInd: + $ref: '#/components/schemas/SipForkingIndication' + sponId: + $ref: '#/components/schemas/SponId' + sponStatus: + $ref: '#/components/schemas/SponsoringStatus' + tsnBridgeManCont: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + minItems: 1 + EventsSubscReqData: + description: Identifies the events the application subscribes to. + type: object + required: + - events + properties: + events: + type: array + items: + $ref: '#/components/schemas/AfEventSubscription' + minItems: 1 + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + reqQosMonParams: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter' + minItems: 1 + qosMon: + $ref: '#/components/schemas/QosMonitoringInformation' + reqAnis: + type: array + items: + $ref: '#/components/schemas/RequiredAccessInfo' + minItems: 1 + usgThres: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + notifCorreId: + type: string + EventsSubscReqDataRm: + description: this data type is defined in the same way as the EventsSubscReqData data type, but with the OpenAPI nullable property set to true. + type: object + required: + - events + properties: + events: + type: array + items: + $ref: '#/components/schemas/AfEventSubscription' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + reqQosMonParams: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter' + minItems: 1 + qosMon: + $ref: '#/components/schemas/QosMonitoringInformationRm' + reqAnis: + type: array + items: + $ref: '#/components/schemas/RequiredAccessInfo' + minItems: 1 + usgThres: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThresholdRm' + notifCorreId: + type: string + nullable: true + MediaComponent: + description: Identifies a media component. + type: object + required: + - medCompN + properties: + afAppId: + $ref: '#/components/schemas/AfAppId' + afRoutReq: + $ref: '#/components/schemas/AfRoutingRequirement' + qosReference: + type: string + disUeNotif: + type: boolean + altSerReqs: + type: array + items: + type: string + minItems: 1 + contVer: + $ref: '#/components/schemas/ContentVersion' + codecs: + type: array + items: + $ref: '#/components/schemas/CodecData' + minItems: 1 + maxItems: 2 + desMaxLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + desMaxLoss: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + flusId: + type: string + fStatus: + $ref: '#/components/schemas/FlowStatus' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxPacketLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxPacketLossRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxSuppBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxSuppBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + medCompN: + type: integer + medSubComps: + type: object + additionalProperties: + $ref: '#/components/schemas/MediaSubComponent' + minProperties: 1 + medType: + $ref: '#/components/schemas/MediaType' + minDesBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + minDesBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + preemptCap: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionCapability' + preemptVuln: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionVulnerability' + prioSharingInd: + $ref: '#/components/schemas/PrioritySharingIndicator' + resPrio: + $ref: '#/components/schemas/ReservPriority' + rrBw: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + rsBw: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + sharingKeyDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + sharingKeyUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + tsnQos: + $ref: '#/components/schemas/TsnQosContainer' + tscaiInputDl: + $ref: '#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: '#/components/schemas/TscaiInputContainer' + MediaComponentRm: + description: This data type is defined in the same way as the MediaComponent data type, but with the OpenAPI nullable property set to true + type: object + required: + - medCompN + properties: + afAppId: + $ref: '#/components/schemas/AfAppId' + afRoutReq: + $ref: '#/components/schemas/AfRoutingRequirementRm' + qosReference: + type: string + nullable: true + altSerReqs: + type: array + items: + type: string + minItems: 1 + nullable: true + disUeNotif: + type: boolean + contVer: + $ref: '#/components/schemas/ContentVersion' + codecs: + type: array + items: + $ref: '#/components/schemas/CodecData' + minItems: 1 + maxItems: 2 + desMaxLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FloatRm' + desMaxLoss: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FloatRm' + flusId: + type: string + nullable: true + fStatus: + $ref: '#/components/schemas/FlowStatus' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxPacketLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxPacketLossRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxSuppBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxSuppBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + medCompN: + type: integer + medSubComps: + type: object + additionalProperties: + $ref: '#/components/schemas/MediaSubComponentRm' + minProperties: 1 + medType: + $ref: '#/components/schemas/MediaType' + minDesBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + minDesBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + mirBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + mirBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + preemptCap: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionCapabilityRm' + preemptVuln: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionVulnerabilityRm' + prioSharingInd: + $ref: '#/components/schemas/PrioritySharingIndicator' + resPrio: + $ref: '#/components/schemas/ReservPriority' + rrBw: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + rsBw: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + sharingKeyDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32Rm' + sharingKeyUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32Rm' + tsnQos: + $ref: '#/components/schemas/TsnQosContainerRm' + tscaiInputDl: + $ref: '#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: '#/components/schemas/TscaiInputContainer' + nullable: true + MediaSubComponent: + description: Identifies a media subcomponent + type: object + required: + - fNum + properties: + afSigProtocol: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' + ethfDescs: + type: array + items: + $ref: '#/components/schemas/EthFlowDescription' + minItems: 1 + maxItems: 2 + fNum: + type: integer + fDescs: + type: array + items: + $ref: '#/components/schemas/FlowDescription' + minItems: 1 + maxItems: 2 + fStatus: + $ref: '#/components/schemas/FlowStatus' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + tosTrCl: + $ref: '#/components/schemas/TosTrafficClass' + flowUsage: + $ref: '#/components/schemas/FlowUsage' + MediaSubComponentRm: + description: This data type is defined in the same way as the MediaSubComponent data type, but with the OpenAPI nullable property set to true. Removable attributes marBwDl and marBwUl are defined with the corresponding removable data type. + type: object + required: + - fNum + properties: + afSigProtocol: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' + ethfDescs: + type: array + items: + $ref: '#/components/schemas/EthFlowDescription' + minItems: 1 + maxItems: 2 + nullable: true + fNum: + type: integer + fDescs: + type: array + items: + $ref: '#/components/schemas/FlowDescription' + minItems: 1 + maxItems: 2 + nullable: true + fStatus: + $ref: '#/components/schemas/FlowStatus' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + tosTrCl: + $ref: '#/components/schemas/TosTrafficClassRm' + flowUsage: + $ref: '#/components/schemas/FlowUsage' + nullable: true + EventsNotification: + description: describes the notification of a matched event + type: object + required: + - evSubsUri + - evNotifs + properties: + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + addAccessInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AdditionalAccessInfo' + relAccessInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AdditionalAccessInfo' + anChargAddr: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AccNetChargingAddress' + anChargIds: + type: array + items: + $ref: '#/components/schemas/AccessNetChargingIdentifier' + minItems: 1 + anGwAddr: + $ref: '#/components/schemas/AnGwAddress' + evSubsUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + evNotifs: + type: array + items: + $ref: '#/components/schemas/AfEventNotification' + minItems: 1 + failedResourcAllocReports: + type: array + items: + $ref: '#/components/schemas/ResourcesAllocationInfo' + minItems: 1 + succResourcAllocReports: + type: array + items: + $ref: '#/components/schemas/ResourcesAllocationInfo' + minItems: 1 + noNetLocSupp: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/NetLocAccessSupport' + outOfCredReports: + type: array + items: + $ref: '#/components/schemas/OutOfCreditInformation' + minItems: 1 + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + qncReports: + type: array + items: + $ref: '#/components/schemas/QosNotificationControlInfo' + minItems: 1 + qosMonReports: + type: array + items: + $ref: '#/components/schemas/QosMonitoringReport' + minItems: 1 + ranNasRelCauses: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RanNasRelCause' + minItems: 1 + description: Contains the RAN and/or NAS release cause. + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ueLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + usgRep: + $ref: 'TS29122_CommonData.yaml#/components/schemas/AccumulatedUsage' + tsnBridgeManCont: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + minItems: 1 + AfEventSubscription: + description: describes the event information delivered in the subscription + type: object + required: + - event + properties: + event: + $ref: '#/components/schemas/AfEvent' + notifMethod: + $ref: '#/components/schemas/AfNotifMethod' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + waitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + AfEventNotification: + description: describes the event information delivered in the notification + type: object + required: + - event + properties: + event: + $ref: '#/components/schemas/AfEvent' + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 + TerminationInfo: + description: indicates the cause for requesting the deletion of the Individual Application Session Context resource + type: object + required: + - termCause + - resUri + properties: + termCause: + $ref: '#/components/schemas/TerminationCause' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + AfRoutingRequirement: + description: describes the event information delivered in the subscription + type: object + properties: + appReloc: + type: boolean + routeToLocs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + spVal: + $ref: '#/components/schemas/SpatialValidity' + tempVals: + type: array + items: + $ref: '#/components/schemas/TemporalValidity' + minItems: 1 + upPathChgSub: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' + addrPreserInd: + type: boolean + SpatialValidity: + description: describes explicitly the route to an Application location + type: object + required: + - presenceInfoList + properties: + presenceInfoList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + SpatialValidityRm: + description: this data type is defined in the same way as the SpatialValidity data type, but with the OpenAPI nullable property set to true + type: object + required: + - presenceInfoList + properties: + presenceInfoList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + nullable: true + AfRoutingRequirementRm: + description: this data type is defined in the same way as the AfRoutingRequirement data type, but with the OpenAPI nullable property set to true and the spVal and tempVals attributes defined as removable. + type: object + properties: + appReloc: + type: boolean + routeToLocs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + nullable: true + spVal: + $ref: '#/components/schemas/SpatialValidityRm' + tempVals: + type: array + items: + $ref: '#/components/schemas/TemporalValidity' + minItems: 1 + nullable: true + upPathChgSub: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' + addrPreserInd: + type: boolean + nullable: true + nullable: true + AnGwAddress: + description: describes the address of the access network gateway control node + type: object +# anyOf: +# - required: [anGwIpv4Addr] +# - required: [anGwIpv6Addr] + properties: + anGwIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + anGwIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + Flows: + description: Identifies the flows + type: object + required: + - medCompN + properties: + contVers: + type: array + items: + $ref: '#/components/schemas/ContentVersion' + minItems: 1 + fNums: + type: array + items: + type: integer + minItems: 1 + medCompN: + type: integer + EthFlowDescription: + description: Identifies an Ethernet flow + type: object + required: + - ethType + properties: + destMacAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + ethType: + type: string + fDesc: + $ref: '#/components/schemas/FlowDescription' + fDir: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowDirection' + sourceMacAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + vlanTags: + type: array + items: + type: string + minItems: 1 + maxItems: 2 + srcMacAddrEnd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + destMacAddrEnd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + + + ResourcesAllocationInfo: + description: describes the status of the PCC rule(s) related to certain media components. + type: object + properties: + mcResourcStatus: + $ref: '#/components/schemas/MediaComponentResourcesStatus' + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 + altSerReq: + type: string + TemporalValidity: + description: Indicates the time interval(s) during which the AF request is to be applied + type: object + properties: + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + stopTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' +# + QosNotificationControlInfo: + description: Indicates whether the QoS targets for a GRB flow are not guaranteed or guaranteed again + type: object + required: + - notifType + properties: + notifType: + $ref: '#/components/schemas/QosNotifType' + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 + altSerReq: + type: string +# + AcceptableServiceInfo: + description: Indicates the maximum bandwidth that shall be authorized by the PCF. + type: object + properties: + accBwMedComps: + type: object + additionalProperties: + $ref: '#/components/schemas/MediaComponent' + minProperties: 1 + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + + UeIdentityInfo: + description: Represents 5GS-Level UE identities. + type: object +# anyOf: +# - required: [gpsi] +# - required: [pei] +# - required: [supi] + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' +# + AccessNetChargingIdentifier: + description: Describes the access network charging identifier. + type: object + required: + - accNetChaIdValue + properties: + accNetChaIdValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 +# + OutOfCreditInformation: + description: Indicates the SDFs without available credit and the corresponding termination action. + type: object + required: + - finUnitAct + properties: + finUnitAct: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/FinalUnitAction' + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 +# + QosMonitoringInformation: + description: Indicates the QoS Monitoring information to report, i.e. UL and/or DL and or round trip delay. + type: object + properties: + repThreshDl: + type: integer + repThreshUl: + type: integer + repThreshRp: + type: integer +# +# + PduSessionTsnBridge: + description: Contains the new 5GS Bridge information and may contain the DS-TT port and/or NW-TT port management information. + type: object + required: + - tsnBridgeInfo + properties: + tsnBridgeInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/TsnBridgeInfo' + tsnBridgeManCont: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + minItems: 1 + +# + QosMonitoringInformationRm: + description: this data type is defined in the same way as the QosMonitoringInformation data type, but with the OpenAPI nullable property set to true. + type: object + properties: + repThreshDl: + type: integer + repThreshUl: + type: integer + repThreshRp: + type: integer + nullable: true +# + PcscfRestorationRequestData: + description: Indicates P-CSCF restoration. + type: object + oneOf: + - required: [ueIpv4] + - required: [ueIpv6] + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + ipDomain: + type: string + sliceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + ueIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + +# +# + QosMonitoringReport: + description: QoS Monitoring reporting information + type: object + properties: + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 + ulDelays: + type: array + items: + type: integer + minItems: 1 + dlDelays: + type: array + items: + type: integer + minItems: 1 + rtDelays: + type: array + items: + type: integer + minItems: 1 +# + TsnQosContainer: + description: Indicates TSC Traffic QoS. + type: object + properties: + maxTscBurstSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVol' + tscPackDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + tscPrioLevel: + $ref: '#/components/schemas/TscPriorityLevel' +# +# + TsnQosContainerRm: + description: Indicates removable TSC Traffic QoS. + type: object + properties: + maxTscBurstSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' + tscPackDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudgetRm' + tscPrioLevel: + $ref: '#/components/schemas/TscPriorityLevelRm' + nullable: true +# + TscaiInputContainer: + description: Indicates TSC Traffic pattern. + type: object + properties: + periodicity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + burstArrivalTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + nullable: true +# +# + EventsSubscPutData: + description: Identifies the events the application subscribes to within an Events Subscription sub-resource data. It may contain the notification of the already met events + anyOf: + - $ref: '#/components/schemas/EventsSubscReqData' + - $ref: '#/components/schemas/EventsNotification' +# +# EXTENDED PROBLEMDETAILS +# + ExtendedProblemDetails: + description: Extends ProblemDetails to also include the acceptable service info. + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - type: object + properties: + acceptableServInfo: + $ref: '#/components/schemas/AcceptableServiceInfo' + +# +# SIMPLE DATA TYPES +# + AfAppId: + description: Contains an AF application identifier. + type: string + AspId: + description: Contains an identity of an application service provider. + type: string + CodecData: + description: Contains codec related information. + type: string + ContentVersion: + description: Represents the content version of some content. + type: integer + FlowDescription: + description: Defines a packet filter of an IP flow. + type: string + SponId: + description: Contains an identity of a sponsor. + type: string + ServiceUrn: + description: Contains values of the service URN and may include subservices. + type: string + TosTrafficClass: + description: 2-octet string, where each octet is encoded in hexadecimal representation. The first octet contains the IPv4 Type-of-Service or the IPv6 Traffic-Class field and the second octet contains the ToS/Traffic Class mask field. + type: string + TosTrafficClassRm: + description: this data type is defined in the same way as the TosTrafficClass data type, but with the OpenAPI nullable property set to true + type: string + nullable: true + TscPriorityLevel: + type: integer + minimum: 1 + maximum: 8 + TscPriorityLevelRm: + type: integer + minimum: 1 + maximum: 8 + nullable: true +# +# ENUMERATIONS DATA TYPES +# + MediaType: +# anyOf: +# - type: string + type: string + enum: + - AUDIO + - VIDEO + - DATA + - APPLICATION + - CONTROL + - TEXT + - MESSAGE + - OTHER +# - type: string +# + ReservPriority: +# anyOf: +# - type: string + type: string + enum: + - PRIO_1 + - PRIO_2 + - PRIO_3 + - PRIO_4 + - PRIO_5 + - PRIO_6 + - PRIO_7 + - PRIO_8 + - PRIO_9 + - PRIO_10 + - PRIO_11 + - PRIO_12 + - PRIO_13 + - PRIO_14 + - PRIO_15 + - PRIO_16 +# - type: string +# + ServAuthInfo: +# anyOf: +# - type: string + type: string + enum: + - TP_NOT_KNOWN + - TP_EXPIRED + - TP_NOT_YET_OCURRED +# - type: string +# + SponsoringStatus: +# anyOf: +# - type: string + type: string + enum: + - SPONSOR_DISABLED + - SPONSOR_ENABLED +# - type: string +# + AfEvent: +# anyOf: +# - type: string + type: string + enum: + - ACCESS_TYPE_CHANGE + - ANI_REPORT + - CHARGING_CORRELATION + - EPS_FALLBACK + - FAILED_RESOURCES_ALLOCATION + - OUT_OF_CREDIT + - PLMN_CHG + - QOS_MONITORING + - QOS_NOTIF + - RAN_NAS_CAUSE + - REALLOCATION_OF_CREDIT + - SUCCESSFUL_RESOURCES_ALLOCATION + - TSN_BRIDGE_INFO + - USAGE_REPORT +# - type: string +# + AfNotifMethod: +# anyOf: +# - type: string + type: string + enum: + - EVENT_DETECTION + - ONE_TIME + - PERIODIC + - PDU_SESSION_RELEASE +# - type: string +# + QosNotifType: +# anyOf: +# - type: string + type: string + enum: + - GUARANTEED + - NOT_GUARANTEED +# - type: string +# + TerminationCause: +# anyOf: +# - type: string + type: string + enum: + - ALL_SDF_DEACTIVATION + - PDU_SESSION_TERMINATION + - PS_TO_CS_HO +# - type: string +# + MediaComponentResourcesStatus: +# anyOf: +# - type: string + type: string + enum: + - ACTIVE + - INACTIVE +# - type: string +# +# + FlowUsage: +# anyOf: +# - type: string + type: string + enum: + - NO_INFO + - RTCP + - AF_SIGNALLING +# - type: string + + + FlowStatus: +# anyOf: +# - type: string + type: string + enum: + - ENABLED-UPLINK + - ENABLED-DOWNLINK + - ENABLED + - DISABLED + - REMOVED +# - type: string +# + RequiredAccessInfo: +# anyOf: +# - type: string + type: string + enum: + - USER_LOCATION + - UE_TIME_ZONE +# - type: string +# + SipForkingIndication: +# anyOf: +# - type: string + type: string + enum: + - SINGLE_DIALOGUE + - SEVERAL_DIALOGUES +# - type: string +# + AfRequestedData: +# anyOf: +# - type: string + type: string + enum: + - UE_IDENTITY +# - type: string +# + ServiceInfoStatus: +# anyOf: +# - type: string + type: string + enum: + - FINAL + - PRELIMINARY +# - type: string +# + PreemptionControlInformation: +# anyOf: +# - type: string + type: string + enum: + - MOST_RECENT + - LEAST_RECENT + - HIGHEST_BW +# - type: string +# + PrioritySharingIndicator: +# anyOf: +# - type: string + type: string + enum: + - ENABLED + - DISABLED +# - type: string +# + PreemptionControlInformationRm: + anyOf: + - $ref: '#/components/schemas/PreemptionControlInformation' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29517_Naf_EventExposure.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29517_Naf_EventExposure.yaml new file mode 100644 index 000000000..c9710929f --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29517_Naf_EventExposure.yaml @@ -0,0 +1,503 @@ +openapi: 3.0.0 +info: + version: 1.0.3 + title: Naf_EventExposure + description: | + AF Event Exposure Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.517 V16.5.0; 5G System; Application Function Event Exposure Service; Stage 3. + url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.517/ + +servers: + - url: '{apiRoot}/naf-eventexposure/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + + +paths: + /subscriptions: + post: + summary: Creates a new Individual Application Event Exposure Subscription resource + operationId: PostAfEventExposureSubsc + tags: + - Application Event Subscription (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureSubsc' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureSubsc' + headers: + Location: + description: 'Contains the URI of the created individual application event subscription resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + AfEventExposureNotif: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureNotif' + responses: + '204': + description: No Content, Notification was successful + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscriptions/{subscriptionId}: + get: + summary: "Reads an existing Individual Application Event Subscription" + operationId: GetAfEventExposureSubsc + tags: + - Individual Application Event Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Application Event Subscription ID + required: true + schema: + type: string + - name: supp-feat + in: query + description: Features supported by the NF service consumer + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureSubsc' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: "Modifies an existing Individual Application Event Subscription " + operationId: PutAfEventExposureSubsc + tags: + - Individual Application Event Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureSubsc' + parameters: + - name: subscriptionId + in: path + description: Application Event Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource was successfully modified and representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureSubsc' + '204': + description: No Content. Resource was successfully modified + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: "Cancels an existing Individual Application Event Subscription " + operationId: DeleteAfEventExposureSubsc + tags: + - Individual Application Event Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Application Event Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was successfully deleted + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUri}' + scopes: {} + description: for trusted AF, the 'naf-eventexposure' shall be used as 'scopes' and '{nrfApiRoot}/oauth2/token' shall be used as 'tokenUri'. + + schemas: + AfEventExposureNotif: + type: object + properties: + notifId: + type: string + eventNotifs: + type: array + items: + $ref: '#/components/schemas/AfEventNotification' + minItems: 1 + required: + - notifId + - eventNotifs + AfEventExposureSubsc: + type: object + properties: + eventsSubs: + type: array + items: + $ref: '#/components/schemas/EventsSubs' + minItems: 1 + eventsRepInfo: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifId: + type: string + eventNotifs: + type: array + items: + $ref: '#/components/schemas/AfEventNotification' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - eventsSubs + - eventsRepInfo + - notifId + - notifUri + AfEventNotification: + type: object + properties: + event: + $ref: '#/components/schemas/AfEvent' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + svcExprcInfos: + type: array + items: + $ref: '#/components/schemas/ServiceExperienceInfoPerApp' + minItems: 1 + ueMobilityInfos: + type: array + items: + $ref: '#/components/schemas/UeMobilityCollection' + minItems: 1 + ueCommInfos: + type: array + items: + $ref: '#/components/schemas/UeCommunicationCollection' + minItems: 1 + excepInfos: + type: array + items: + $ref: '#/components/schemas/ExceptionInfo' + minItems: 1 + required: + - event + - timeStamp + EventsSubs: + type: object + properties: + event: + $ref: '#/components/schemas/AfEvent' + eventFilter: + $ref: '#/components/schemas/EventFilter' + required: + - event + - eventFilter + EventFilter: + type: object + properties: + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + exterGroupIds: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + minItems: 1 + interGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + anyUeInd: + type: boolean + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + ServiceExperienceInfoPerApp: + type: object + properties: + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + svcExpPerFlows: + type: array + items: + $ref: '#/components/schemas/ServiceExperienceInfoPerFlow' + minItems: 1 + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + required: + - svcExpPerFlows + ServiceExperienceInfoPerFlow: + type: object + properties: + svcExprc: + $ref: '#/components/schemas/SvcExperience' + timeIntev: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + ipTrafficFilter: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + ethTrafficFilter: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + SvcExperience: + type: object + properties: + mos: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + upperRange: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + lowerRange: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + UeMobilityCollection: + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + ueTrajs: + type: array + items: + $ref: '#/components/schemas/UeTrajectoryCollection' + minItems: 1 + required: + - appId + - ueTrajs + UeCommunicationCollection: + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + exterGroupId: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + comms: + type: array + items: + $ref: '#/components/schemas/CommunicationCollection' + minItems: 1 + required: + - appId + - comms + UeTrajectoryCollection: + type: object + properties: + ts: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + required: + - ts + - locArea + CommunicationCollection: + type: object + properties: + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ulVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + dlVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + required: + - startTime + - endTime + - ulVol + - dlVol + ExceptionInfo: + type: object + properties: + ipTrafficFilter: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + ethTrafficFilter: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + exceps: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Exception' + minItems: 1 + +# Simple data types and Enumerations + + AfEvent: +# anyOf: +# - type: string + type: string + enum: + - SVC_EXPERIENCE + - UE_MOBILITY + - UE_COMM + - EXCEPTIONS +# - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29518_Namf_Communication.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29518_Namf_Communication.yaml new file mode 100644 index 000000000..b23398f35 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29518_Namf_Communication.yaml @@ -0,0 +1,3373 @@ +openapi: 3.0.0 +info: + version: 1.1.4 + title: Namf_Communication + description: | + AMF Communication Service + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +security: + - {} + - oAuth2ClientCredentials: + - namf-comm +externalDocs: + description: 3GPP TS 29.518 V16.8.0; 5G System; Access and Mobility Management Services + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' +servers: + - url: '{apiRoot}/namf-comm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501 +paths: + /ue-contexts/{ueContextId}: + put: + summary: Namf_Communication CreateUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: CreateUEContext + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextCreateData' + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + binaryDataN2InformationExt2: + type: string + format: binary + binaryDataN2InformationExt3: + type: string + format: binary + binaryDataN2InformationExt4: + type: string + format: binary + binaryDataN2InformationExt5: + type: string + format: binary + binaryDataN2InformationExt6: + type: string + format: binary + binaryDataN2InformationExt7: + type: string + format: binary + binaryDataN2InformationExt8: + type: string + format: binary + binaryDataN2InformationExt9: + type: string + format: binary + binaryDataN2InformationExt10: + type: string + format: binary + binaryDataN2InformationExt11: + type: string + format: binary + binaryDataN2InformationExt12: + type: string + format: binary + binaryDataN2InformationExt13: + type: string + format: binary + binaryDataN2InformationExt14: + type: string + format: binary + binaryDataN2InformationExt15: + type: string + format: binary + binaryDataN2InformationExt16: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt11: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt12: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt13: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt14: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt15: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt16: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + callbacks: + onN2MessageNotify: + '{$request.body#/n2NotifyUri}': + post: + summary: Namf_Communication N2 Info Notify (UE Specific) service Operation + tags: + - N2 Info Notify + operationId: N2InfoNotifyHandoverComplete + requestBody: + description: UE Specific N2 Information Notification + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationNotification' + responses: + '200': + description: N2 Information Notification Response. + content: + application/json: + schema: + $ref: '#/components/schemas/N2InfoNotificationRspData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N2InfoNotificationRspData' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + responses: + '201': + description: UE context successfully created. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//ue-contexts/{ueContextId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextCreatedData' + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + binaryDataN2InformationExt2: + type: string + format: binary + binaryDataN2InformationExt3: + type: string + format: binary + binaryDataN2InformationExt4: + type: string + format: binary + binaryDataN2InformationExt5: + type: string + format: binary + binaryDataN2InformationExt6: + type: string + format: binary + binaryDataN2InformationExt7: + type: string + format: binary + binaryDataN2InformationExt8: + type: string + format: binary + binaryDataN2InformationExt9: + type: string + format: binary + binaryDataN2InformationExt10: + type: string + format: binary + binaryDataN2InformationExt11: + type: string + format: binary + binaryDataN2InformationExt12: + type: string + format: binary + binaryDataN2InformationExt13: + type: string + format: binary + binaryDataN2InformationExt14: + type: string + format: binary + binaryDataN2InformationExt15: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt11: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt12: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt13: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt14: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt15: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreateError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreateError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Response parts + jsonData: + $ref: '#/components/schemas/UeContextCreateError' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreateError' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/release: + post: + summary: Namf_Communication ReleaseUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: ReleaseUEContext + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UEContextRelease' + required: true + responses: + '204': + description: UE Context successfully released + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/assign-ebi: + post: + summary: Namf_Communication EBI Assignment service Operation + tags: + - Individual ueContext (Document) + operationId: EBIAssignment + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiData' + required: true + responses: + '200': + description: EBI Assignment successfully performed. + content: + application/json: + schema: + $ref: '#/components/schemas/AssignedEbiData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + application/problem+json: # error originated by an SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + application/problem+json: # error originated by an SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + application/problem+json: # error originated by an SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/transfer: + post: + summary: Namf_Communication UEContextTransfer service Operation + tags: + - Individual ueContext (Document) + operationId: UEContextTransfer + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextTransferReqData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextTransferReqData' + binaryDataN1Message: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: UE context transfer successfully initiated. + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextTransferRspData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextTransferRspData' + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/transfer-update: + post: + summary: Namf_Communication RegistrationStatusUpdate service Operation + tags: + - Individual ueContext (Document) + operationId: RegistrationStatusUpdate + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeRegStatusUpdateReqData' + required: true + responses: + '200': + description: UE context transfer status successfully updated. + content: + application/json: + schema: + $ref: '#/components/schemas/UeRegStatusUpdateRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /ue-contexts/{ueContextId}/relocate: + post: + summary: Namf_Communication RelocateUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: RelocateUEContext + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextRelocateData' + binaryDataGtpcMessage: + type: string + format: binary + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + binaryDataN2InformationExt2: + type: string + format: binary + binaryDataN2InformationExt3: + type: string + format: binary + binaryDataN2InformationExt4: + type: string + format: binary + binaryDataN2InformationExt5: + type: string + format: binary + binaryDataN2InformationExt6: + type: string + format: binary + binaryDataN2InformationExt7: + type: string + format: binary + binaryDataN2InformationExt8: + type: string + format: binary + binaryDataN2InformationExt9: + type: string + format: binary + binaryDataN2InformationExt10: + type: string + format: binary + binaryDataN2InformationExt11: + type: string + format: binary + binaryDataN2InformationExt12: + type: string + format: binary + binaryDataN2InformationExt13: + type: string + format: binary + binaryDataN2InformationExt14: + type: string + format: binary + binaryDataN2InformationExt15: + type: string + format: binary + binaryDataN2InformationExt16: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataGtpcMessage: + contentType: application/vnd.3gpp.gtpc + headers: + Content-Id: + schema: + type: string + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt11: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt12: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt13: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt14: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt15: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt16: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + responses: + '201': + description: UE context successfully relocated. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//ue-contexts/{ueContextId}/relocate' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextRelocatedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /ue-contexts/{ueContextId}/cancel-relocate: + post: + summary: Namf_Communication CancelRelocateUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: CancelRelocateUEContext + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextCancelRelocateData' + binaryDataGtpcMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataGtpcMessage: + contentType: application/vnd.3gpp.gtpc + headers: + Content-Id: + schema: + type: string + required: true + responses: + '204': + description: UE Context successfully released + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/n1-n2-messages: + post: + summary: Namf_Communication N1N2 Message Transfer (UE Specific) service Operation + tags: + - n1N2Message collection (Document) + operationId: N1N2MessageTransfer + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|cid-.{1,255}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferReqData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N1N2MessageTransferReqData' + binaryDataN1Message: + type: string + format: binary + binaryDataN2Information: + type: string + format: binary + binaryMtData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryMtData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + required: true + responses: + '202': + description: N1N2 Message Transfer accepted. + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferRspData' + headers: + Location: + description: 'The URI of the resource located on the AMF to which the status of the N1N2 message transfer is held' + required: true + schema: + type: string + '200': + description: N1N2 Message Transfer successfully initiated. + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + description: Conflicts + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: Gateway Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + description: Unexpected error + callbacks: + onN1N2TransferFailure: + '{$request.body#/n1n2FailureTxfNotifURI}': + post: + summary: Namf_Communication N1N2Transfer Failure Notification service Operation + tags: + - N1N2 Transfer Failure Notification + operationId: N1N2TransferFailureNotification + requestBody: + description: N1N2Transfer Failure Notification + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MsgTxfrFailureNotification' + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /ue-contexts/{ueContextId}/n1-n2-messages/subscriptions: + post: + summary: Namf_Communication N1N2 Message Subscribe (UE Specific) service Operation + tags: + - N1N2 Subscriptions Collection for Individual UE Contexts (Document) + operationId: N1N2MessageSubscribe + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeN1N2InfoSubscriptionCreateData' + required: true + responses: + '201': + description: N1N2 Message Subscription successfully created. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//{ueContextId}/ue-contexts/n1-n2-messages/subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/UeN1N2InfoSubscriptionCreatedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onN1N2MessageNotify: + '{$request.body#/n1NotifyCallbackUri}': + post: + summary: Namf_Communication N1 Message Notify service Operation + tags: + - N1 Message Notify + operationId: N1MessageNotify + requestBody: + description: N1 Message Notification + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N1MessageNotification' + binaryDataN1Message: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '{$request.body#/n2NotifyCallbackUri}': + post: + summary: Namf_Communication N2 Info Notify (UE Specific) service Operation + tags: + - N2 Info Notify +# operationId: N2InfoNotify + requestBody: + description: UE Specific N2 Information Notification + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N2InformationNotification' + binaryDataN1Message: + type: string + format: binary + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /ue-contexts/{ueContextId}/n1-n2-messages/subscriptions/{subscriptionId}: + delete: + summary: Namf_Communication N1N2 Message UnSubscribe (UE Specific) service Operation + tags: + - N1N2 Individual Subscription (Document) + operationId: N1N2MessageUnSubscribe + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + - name: subscriptionId + in: path + description: Subscription Identifier + required: true + schema: + type: string + responses: + '204': + description: N1N2 Message Subscription successfully removed. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /non-ue-n2-messages/transfer: + post: + summary: Namf_Communication Non UE N2 Message Transfer service Operation + tags: + - Non UE N2Messages collection (Document) + operationId: NonUeN2MessageTransfer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferReqData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N2InformationTransferReqData' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: Non UE N2 Message Transfer successfully initiated. + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + description: Service Unavailable + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + description: Unexpected error + /non-ue-n2-messages/subscriptions: + post: + summary: Namf_Communication Non UE N2 Info Subscribe service Operation + tags: + - Non UE N2Messages Subscriptions collection (Document) + operationId: NonUeN2InfoSubscribe + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NonUeN2InfoSubscriptionCreateData' + required: true + responses: + '201': + description: Non UE N2 Info Subscription successfully created. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//non-ue-n2-messages/subscriptions/{n2NotifySubscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NonUeN2InfoSubscriptionCreatedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onN2InfoNotify: + '{$request.body#/n2NotifyCallbackUri}': + post: + summary: Namf_Communication Non UE N2 Info Notify service Operation + tags: + - Non UE N2 Info Notify + operationId: NonUeN2InfoNotify + requestBody: + description: Non UE N2 Information Notification + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationNotification' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N2InformationNotification' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /non-ue-n2-messages/subscriptions/{n2NotifySubscriptionId}: + delete: + summary: Namf_Communication Non UE N2 Info UnSubscribe service Operation + tags: + - Non UE N2 Message Notification Individual Subscription (Document) + operationId: NonUeN2InfoUnSubscribe + parameters: + - name: n2NotifySubscriptionId + in: path + description: N2 info Subscription Identifier + required: true + schema: + type: string + responses: + '204': + description: Non UE N2 INfo Subscription successfully removed. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /subscriptions: + post: + summary: Namf_Communication AMF Status Change Subscribe service Operation + tags: + - subscriptions collection (Document) + operationId: AMFStatusChangeSubscribe + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AMFStatusChangeSubscriptionData' + required: true + responses: + '201': + description: N1N2 Message Subscription successfully created. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/AMFStatusChangeSubscriptionData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onAmfStatusChange: + '{$request.body#/amfStatusUri}': + post: + summary: Amf Status Change Notify service Operation + tags: + - Amf Status Change Notify + operationId: AmfStatusChangeNotify + requestBody: + description: Amf Status Change Notification + content: + application/json: + schema: + $ref: '#/components/schemas/AmfStatusChangeNotification' + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /subscriptions/{subscriptionId}: + delete: + summary: Namf_Communication AMF Status Change UnSubscribe service Operation + tags: + - individual subscription (Document) + operationId: AMFStatusChangeUnSubscribe + parameters: + - name: subscriptionId + in: path + description: AMF Status Change Subscription Identifier + required: true + schema: + type: string + responses: + '204': + description: N1N2 Message Subscription successfully removed. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + put: + summary: Namf_Communication AMF Status Change Subscribe Modify service Operation + tags: + - individual subscription (Document) + operationId: AMFStatusChangeSubscribeModfy + parameters: + - name: subscriptionId + in: path + description: AMF Status Change Subscription Identifier + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AMFStatusChangeSubscriptionData' + required: true + responses: + '202': + description: N1N2 Message Subscription successfully updated. + content: + application/json: + schema: + $ref: '#/components/schemas/AMFStatusChangeSubscriptionData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + OnAmfStatusChange: + '{$request.body#/amfStatusUri}': + post: + summary: Amf Status Change Notify service Operation + tags: + - Amf Status Change Notify + operationId: AmfStatusChangeNOtify + requestBody: + description: Amf Status Change Notification + content: + application/json: + schema: + $ref: '#/components/schemas/AmfStatusChangeNotification' + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + namf-comm: Access to the Namf_Communication API + schemas: +# +# STRUCTURED DATA TYPES +# + AMFStatusChangeSubscriptionData: + type: object + properties: + amfStatusUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + required: + - amfStatusUri + AmfStatusChangeNotification: + type: object + properties: + amfStatusInfoList: + type: array + items: + $ref: '#/components/schemas/AmfStatusInfo' + minItems: 1 + required: + - amfStatusInfoList + AmfStatusInfo: + type: object + properties: + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + statusChange: + $ref: '#/components/schemas/StatusChange' + targetAmfRemoval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + targetAmfFailure: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + required: + - guamiList + - statusChange + AssignEbiData: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + arpList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + releasedEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + required: + - pduSessionId + AssignedEbiData: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + assignedEbiList: + type: array + items: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/EbiArpMapping' + minItems: 0 + failedArpList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + releasedEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + required: + - pduSessionId + - assignedEbiList + AssignEbiFailed: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + failedArpList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + required: + - pduSessionId + UEContextRelease: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + unauthenticatedSupi: + type: boolean + default: false + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + required: + - ngapCause + N2InformationTransferReqData: + type: object + properties: + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + ratSelector: + $ref: '#/components/schemas/RatSelector' + globalRanNodeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + n2Information: + $ref: '#/components/schemas/N2InfoContainer' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - n2Information + NonUeN2InfoSubscriptionCreateData: + type: object + properties: + globalRanNodeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + anTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + n2NotifyCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - n2InformationClass + - n2NotifyCallbackUri + NonUeN2InfoSubscriptionCreatedData: + type: object + properties: + n2NotifySubscriptionId: + type: string + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + required: + - n2NotifySubscriptionId + UeN1N2InfoSubscriptionCreateData: + type: object + properties: + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + n2NotifyCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + n1MessageClass: + $ref: '#/components/schemas/N1MessageClass' + n1NotifyCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + UeN1N2InfoSubscriptionCreatedData: + type: object + properties: + n1n2NotifySubscriptionId: + type: string + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - n1n2NotifySubscriptionId + N2InformationNotification: + type: object + properties: + n2NotifySubscriptionId: + type: string + n2InfoContainer: + $ref: '#/components/schemas/N2InfoContainer' + toReleaseSessionList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + lcsCorrelationId: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CorrelationID' + notifyReason: + $ref: '#/components/schemas/N2InfoNotifyReason' + smfChangeInfoList: + type: array + items: + $ref: '#/components/schemas/SmfChangeInfo' + minItems: 1 + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + initialAmfName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + anN2IPv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + anN2IPv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + notifySourceNgRan: + type: boolean + default: false + required: + - n2NotifySubscriptionId + N2InfoContainer: + type: object + properties: + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + smInfo: + $ref: '#/components/schemas/N2SmInformation' + ranInfo: + $ref: '#/components/schemas/N2RanInformation' + nrppaInfo: + $ref: '#/components/schemas/NrppaInformation' + pwsInfo: + $ref: '#/components/schemas/PwsInformation' + v2xInfo: + $ref: '#/components/schemas/V2xInformation' + required: + - n2InformationClass + N1MessageNotification: + type: object + properties: + n1NotifySubscriptionId: + type: string + n1MessageContainer: + $ref: '#/components/schemas/N1MessageContainer' + lcsCorrelationId: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CorrelationID' + registrationCtxtContainer: + $ref: '#/components/schemas/RegistrationContextContainer' + newLmfIdentification: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + cIoT5GSOptimisation: + type: boolean + default: false + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + required: + - n1MessageContainer + N1MessageContainer: + type: object + properties: + n1MessageClass: + $ref: '#/components/schemas/N1MessageClass' + n1MessageContent: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + serviceInstanceId: + type: string + required: + - n1MessageClass + - n1MessageContent + N1N2MessageTransferReqData: + type: object + properties: + n1MessageContainer: + $ref: '#/components/schemas/N1MessageContainer' + n2InfoContainer: + $ref: '#/components/schemas/N2InfoContainer' + mtData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + skipInd: + type: boolean + default: false + lastMsgIndication: + type: boolean + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + lcsCorrelationId: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CorrelationID' + ppi: + $ref: '#/components/schemas/Ppi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + n1n2FailureTxfNotifURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smfReallocationInd: + type: boolean + default: false + areaOfValidity: + $ref: '#/components/schemas/AreaOfValidity' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + maAcceptedInd: + type: boolean + default: false + extBufSupport: + type: boolean + default: false + targetAccess: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + + N1N2MessageTransferRspData: + type: object + properties: + cause: + $ref: '#/components/schemas/N1N2MessageTransferCause' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - cause + RegistrationContextContainer: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + localTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + anN2ApId: + type: integer + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + initialAmfName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + userLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + rrcEstCause: + type: string + pattern: '^[0-9a-fA-F]+$' + ueContextRequest: + type: boolean + default: false + initialAmfN2ApId: + type: integer + anN2IPv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + anN2IPv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + allowedNssai: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/AllowedNssai' + configuredNssai: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/ConfiguredSnssai' + minItems: 1 + rejectedNssaiInPlmn: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + rejectedNssaiInTa: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + selectedPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + iabNodeInd: + type: boolean + default: false + ceModeBInd: + $ref: '#/components/schemas/CeModeBInd' + lteMInd: + $ref: '#/components/schemas/LteMInd' + authenticatedInd: + type: boolean + default: false + npnAccessInfo: + $ref: '#/components/schemas/NpnAccessInfo' + required: + - ueContext + - anType + - anN2ApId + - ranNodeId + - initialAmfName + - userLocation + AreaOfValidity: + type: object + properties: + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 0 + required: + - taiList + UeContextTransferReqData: + type: object + properties: + reason: + $ref: '#/components/schemas/TransferReason' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + regRequest: + $ref: '#/components/schemas/N1MessageContainer' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - reason + - accessType + UeContextTransferRspData: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + ueRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + ueNbiotRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueContext + UeContext: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supiUnauthInd: + type: boolean + gpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + ausfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + pcfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + groupList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + drxParameter: + $ref: '#/components/schemas/DrxParameter' + subRfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + usedRfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + subUeAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + smsfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + seafData: + $ref: '#/components/schemas/SeafData' + 5gMmCapability: + $ref: '#/components/schemas/5GMmCapability' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + pcfAmpServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + pcfUepServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + pcfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + pcfAmPolicyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amPolicyReqTriggerList: + type: array + items: + $ref: '#/components/schemas/PolicyReqTrigger' + minItems: 1 + pcfUePolicyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + uePolicyReqTriggerList: + type: array + items: + $ref: '#/components/schemas/PolicyReqTrigger' + minItems: 1 + hpcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + hpcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + restrictedRatList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + forbiddenAreaList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Area' + minItems: 1 + serviceAreaRestriction: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + restrictedCoreNwTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CoreNetworkType' + minItems: 1 + eventSubscriptionList: + type: array + items: + $ref: '#/components/schemas/ExtAmfEventSubscription' + minItems: 1 + mmContextList: + type: array + items: + $ref: '#/components/schemas/MmContext' + minItems: 1 + maxItems: 2 + sessionContextList: + type: array + items: + $ref: '#/components/schemas/PduSessionContext' + minItems: 1 + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + serviceGapExpiryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + stnSr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StnSr' + cMsisdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CMsisdn' + msClassmark2: + $ref: '#/components/schemas/MSClassmark2' + supportedCodecList: + type: array + items: + $ref: '#/components/schemas/SupportedCodec' + minItems: 1 + smallDataRateStatusInfos: + type: array + items: + $ref: '#/components/schemas/SmallDataRateStatusInfo' + minItems: 1 + restrictedPrimaryRatList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + restrictedSecondaryRatList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + v2xContext: + $ref: '#/components/schemas/V2xContext' + lteCatMInd: + type: boolean + default: false + moExpDataCounter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter' + cagData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/CagData' + managementMdtInd: + type: boolean + default: false + immediateMdtConf: + $ref: '#/components/schemas/ImmediateMdtConf' + ecRestrictionDataWb: + $ref: '#/components/schemas/EcRestrictionDataWb' + ecRestrictionDataNb: + type: boolean + default: false + iabOperationAllowed: + type: boolean + + + N2SmInformation: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + n2InfoContent: + $ref: '#/components/schemas/N2InfoContent' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + homePlmnSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + iwkSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + subjectToHo: + type: boolean + required: + - pduSessionId + N2InfoContent: + type: object + properties: + ngapMessageType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + ngapIeType: + $ref: '#/components/schemas/NgapIeType' + ngapData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - ngapData + NrppaInformation: + type: object + properties: + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nrppaPdu: + $ref: '#/components/schemas/N2InfoContent' + serviceInstanceId: + type: string + required: + - nfId + - nrppaPdu + PwsInformation: + type: object + properties: + messageIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + serialNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + pwsContainer: + $ref: '#/components/schemas/N2InfoContent' + bcEmptyAreaList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + sendRanResponse: + type: boolean + default: false + omcId: + $ref: '#/components/schemas/OmcIdentifier' + required: + - messageIdentifier + - serialNumber + - pwsContainer + N1N2MsgTxfrFailureNotification: + type: object + properties: + cause: + $ref: '#/components/schemas/N1N2MessageTransferCause' + n1n2MsgDataUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - cause + - n1n2MsgDataUri + N1N2MessageTransferError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + errInfo: + $ref: '#/components/schemas/N1N2MsgTxfrErrDetail' + required: + - error + N1N2MsgTxfrErrDetail: + type: object + properties: + retryAfter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + highestPrioArp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + maxWaitingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + N2InformationTransferRspData: + type: object + properties: + result: + $ref: '#/components/schemas/N2InformationTransferResult' + pwsRspData: + $ref: '#/components/schemas/PWSResponseData' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - result + MmContext: + type: object + properties: + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + nasSecurityMode: + $ref: '#/components/schemas/NasSecurityMode' + epsNasSecurityMode: + $ref: '#/components/schemas/EpsNasSecurityMode' + nasDownlinkCount: + $ref: '#/components/schemas/NasCount' + nasUplinkCount: + $ref: '#/components/schemas/NasCount' + ueSecurityCapability: + $ref: '#/components/schemas/UeSecurityCapability' + s1UeNetworkCapability: + $ref: '#/components/schemas/S1UeNetworkCapability' + allowedNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nssaiMappingList: + type: array + items: + $ref: '#/components/schemas/NssaiMapping' + minItems: 1 + allowedHomeNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nsInstanceList: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + minItems: 1 + expectedUEbehavior: + $ref: '#/components/schemas/ExpectedUeBehavior' + ueDifferentiationInfo: + $ref: '#/components/schemas/UeDifferentiationInfo' + plmnAssiUeRadioCapId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnAssiUeRadioCapId' + manAssiUeRadioCapId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ManAssiUeRadioCapId' + ucmfDicEntryId: + type: string + n3IwfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + wagfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + tngfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + anN2ApId: + type: integer + nssaaStatusList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NssaaStatus' + minItems: 1 + pendingNssaiMappingList: + type: array + items: + $ref: '#/components/schemas/NssaiMapping' + minItems: 1 + required: + - accessType + SeafData: + type: object + properties: + ngKsi: + $ref: '#/components/schemas/NgKsi' + keyAmf: + $ref: '#/components/schemas/KeyAmf' + nh: + type: string + pattern: '^[A-Fa-f0-9]+$' + ncc: + type: integer + minimum: 0 + maximum: 7 + keyAmfChangeInd: + type: boolean + keyAmfHDerivationInd: + type: boolean + required: + - ngKsi + - keyAmf + NasSecurityMode: + type: object + properties: + integrityAlgorithm: + $ref: '#/components/schemas/IntegrityAlgorithm' + cipheringAlgorithm: + $ref: '#/components/schemas/CipheringAlgorithm' + required: + - integrityAlgorithm + - cipheringAlgorithm + PduSessionContext: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + smContextRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + selectedDnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAccessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + allocatedEbiList: + type: array + items: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/EbiArpMapping' + minItems: 1 + hsmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + hsmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + hsmfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + smfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + vsmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + vsmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + vsmfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + vsmfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + ismfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ismfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + ismfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + ismfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + nsInstance: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + smfServiceInstanceId: + type: string + maPduSession: + type: boolean + default: false + cnAssistedRanPara: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/CnAssistedRanPara' + required: + - pduSessionId + - smContextRef + - sNssai + - dnn + - accessType + NssaiMapping: + type: object + properties: + mappedSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + hSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - mappedSnssai + - hSnssai + UeRegStatusUpdateReqData: + type: object + properties: + transferStatus: + $ref: '#/components/schemas/UeContextTransferStatus' + toReleaseSessionList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + pcfReselectedInd: + type: boolean + smfChangeInfoList: + type: array + items: + $ref: '#/components/schemas/SmfChangeInfo' + minItems: 1 + required: + - transferStatus + UeRegStatusUpdateRspData: + type: object + properties: + regStatusTransferComplete: + type: boolean + required: + - regStatusTransferComplete + AssignEbiError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + failureDetails: + $ref: '#/components/schemas/AssignEbiFailed' + required: + - error + - failureDetails + UeContextCreateData: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + targetId: + $ref: '#/components/schemas/NgRanTargetId' + sourceToTargetData: + $ref: '#/components/schemas/N2InfoContent' + pduSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + n2NotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ueRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + required: + - ueContext + - targetId + - sourceToTargetData + - pduSessionList + UeContextCreatedData: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + targetToSourceData: + $ref: '#/components/schemas/N2InfoContent' + pduSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + failedSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pcfReselectedInd: + type: boolean + required: + - ueContext + - targetToSourceData + - pduSessionList + UeContextCreateError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + targetToSourceFailureData: + $ref: '#/components/schemas/N2InfoContent' + required: + - error + UeContextRelocateData: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + targetId: + $ref: '#/components/schemas/NgRanTargetId' + sourceToTargetData: + $ref: '#/components/schemas/N2InfoContent' + forwardRelocationRequest: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + pduSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + ueRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueContext + - targetId + - sourceToTargetData + - forwardRelocationRequest + UeContextRelocatedData: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + UeContextCancelRelocateData: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + relocationCancelRequest: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - relocationCancelRequest + NgRanTargetId: + type: object + properties: + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + required: + - ranNodeId + - tai + PWSResponseData: + type: object + properties: + ngapMessageType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + serialNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + messageIdentifier: + type: integer + unknownTaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + required: + - ngapMessageType + - serialNumber + - messageIdentifier + PWSErrorData: + type: object + properties: + namfCause: + type: integer + required: + - namfCause + N2InformationTransferError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + pwsErrorInfo: + $ref: '#/components/schemas/PWSErrorData' + required: + - error + NgKsi: + type: object + properties: + tsc: + $ref: '#/components/schemas/ScType' + ksi: + type: integer + minimum: 0 + maximum: 6 + required: + - tsc + - ksi + KeyAmf: + type: object + properties: + keyType: + $ref: '#/components/schemas/KeyAmfType' + keyVal: + type: string + required: + - keyType + - keyVal + ExpectedUeBehavior: + type: object + properties: + expMoveTrajectory: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + minItems: 1 + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - expMoveTrajectory + - validityTime + N2RanInformation: + type: object + properties: + n2InfoContent: + $ref: '#/components/schemas/N2InfoContent' + required: + - n2InfoContent + N2InfoNotificationRspData: + type: object + properties: + n2InfoContent: + $ref: '#/components/schemas/N2InfoContent' + SmallDataRateStatusInfo: + type: object + properties: + Snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + Dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + SmallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + required: + - Snssai + - Dnn + - SmallDataRateStatus + SmfChangeInfo: + type: object + properties: + pduSessionIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + smfChangeInd: + $ref: '#/components/schemas/SmfChangeIndication' + required: + - pduSessionIdList + - smfChangeInd + + V2xContext: + type: object + properties: + nrV2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NrV2xAuth' + lteV2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LteV2xAuth' + nrUeSidelinkAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + lteUeSidelinkAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + Pc5QoSPara: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pc5QoSPara' + + V2xInformation: + type: object + properties: + n2Pc5Pol: + $ref: '#/components/schemas/N2InfoContent' + + ImmediateMdtConf: + type: object + properties: + jobType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/JobType' + measurementLteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MeasurementLteForMdt' + minItems: 1 + measurementNrList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MeasurementNrForMdt' + minItems: 1 + reportingTriggerList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportingTrigger' + minItems: 1 + reportInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportIntervalMdt' + reportIntervalNr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportIntervalNrMdt' + reportAmount: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportAmountMdt' + eventThresholdRsrp: + type: integer + minimum: 0 + maximum: 97 + eventThresholdRsrq: + type: integer + minimum: 0 + maximum: 34 + eventThresholdRsrpNr: + type: integer + minimum: 0 + maximum: 127 + eventThresholdRsrqNr: + type: integer + minimum: 0 + maximum: 127 + collectionPeriodRmmLte: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CollectionPeriodRmmLteMdt' + collectionPeriodRmmNr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CollectionPeriodRmmNrMdt' + measurementPeriodLte: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MeasurementPeriodLteMdt' + areaScope: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaScope' + positioningMethod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PositioningMethodMdt' + addPositioningMethodList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PositioningMethodMdt' + minItems: 1 + mdtAllowedPlmnIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + maxItems: 16 + sensorMeasurementList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SensorMeasurement' + minItems: 1 + required: + - jobType + + EpsNasSecurityMode: + type: object + properties: + integrityAlgorithm: + $ref: '#/components/schemas/EpsNasIntegrityAlgorithm' + cipheringAlgorithm: + $ref: '#/components/schemas/EpsNasCipheringAlgorithm' + required: + - integrityAlgorithm + - cipheringAlgorithm + + EcRestrictionDataWb: + type: object + properties: + ecModeARestricted: + type: boolean + default: false + ecModeBRestricted: + type: boolean + required: + - ecModeBRestricted + + ExtAmfEventSubscription: + allOf: + - $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/AmfEventSubscription' + - $ref: '#/components/schemas/AmfEventSubscriptionAddInfo' + + AmfEventSubscriptionAddInfo: + type: object + properties: + bindingInfo: + type: array + items: + type: string + minItems: 1 + maxItems: 2 + subscribingNfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + + UeDifferentiationInfo: + type: object + properties: + periodicComInd: + $ref: '#/components/schemas/PeriodicCommunicationIndicator' + periodicTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + scheduledComTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTime' + stationaryInd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StationaryIndication' + trafficProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficProfile' + batteryInd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BatteryIndication' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + CeModeBInd: + description: CE-mode-B Support Indicator. + type: object + properties: + ceModeBSupportInd: + type: boolean + required: + - ceModeBSupportInd + + LteMInd: + description: LTE-M Indication. + type: object + properties: + lteCatMInd: + type: boolean + required: + - lteCatMInd + + NpnAccessInfo: + description: NPN Access Information. + type: object + properties: + cellCagInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId' + minItems: 1 + +# +# SIMPLE DATA TYPES +# + EpsBearerId: + type: integer + minimum: 0 + maximum: 15 + Ppi: + type: integer + minimum: 0 + maximum: 7 + NasCount: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + 5GMmCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + UeSecurityCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + S1UeNetworkCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + DrxParameter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + OmcIdentifier: + type: string + MSClassmark2: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + SupportedCodec: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + +# +# ENUMERATIONS +# + StatusChange: +# anyOf: +# - type: string + type: string + enum: + - AMF_UNAVAILABLE + - AMF_AVAILABLE +# - type: string + N2InformationClass: +# anyOf: +# - type: string + type: string + enum: + - SM + - NRPPa + - PWS + - PWS-BCAL + - PWS-RF + - RAN + - V2X +# - type: string + N1MessageClass: +# anyOf: +# - type: string + type: string + enum: + - 5GMM + - SM + - LPP + - SMS + - UPDP + - LCS +# - type: string + N1N2MessageTransferCause: +# anyOf: +# - type: string + type: string + enum: + - ATTEMPTING_TO_REACH_UE + - N1_N2_TRANSFER_INITIATED + - WAITING_FOR_ASYNCHRONOUS_TRANSFER + - UE_NOT_RESPONDING + - N1_MSG_NOT_TRANSFERRED + - UE_NOT_REACHABLE_FOR_SESSION + - TEMPORARY_REJECT_REGISTRATION_ONGOING + - TEMPORARY_REJECT_HANDOVER_ONGOING +# - type: string + UeContextTransferStatus: +# anyOf: +# - type: string + type: string + enum: + - TRANSFERRED + - NOT_TRANSFERRED +# - type: string + N2InformationTransferResult: +# anyOf: +# - type: string + type: string + enum: + - N2_INFO_TRANSFER_INITIATED +# - type: string + CipheringAlgorithm: +# anyOf: +# - type: string + type: string + enum: + - NEA0 + - NEA1 + - NEA2 + - NEA3 +# - type: string + IntegrityAlgorithm: +# anyOf: +# - type: string + type: string + enum: + - NIA0 + - NIA1 + - NIA2 + - NIA3 +# - type: string + SmsSupport: +# anyOf: +# - type: string + type: string + enum: + - 3GPP + - NON_3GPP + - BOTH + - NONE +# - type: string + ScType: +# anyOf: +# - type: string + type: string + enum: + - NATIVE + - MAPPED +# - type: string + KeyAmfType: +# anyOf: +# - type: string + type: string + enum: + - KAMF + - KPRIMEAMF +# - type: string + TransferReason: +# anyOf: +# - type: string + type: string + enum: + - INIT_REG + - MOBI_REG + - MOBI_REG_UE_VALIDATED +# - type: string + PolicyReqTrigger: +# anyOf: +# - type: string + type: string + enum: + - LOCATION_CHANGE + - PRA_CHANGE + - SARI_CHANGE + - RFSP_INDEX_CHANGE + - ALLOWED_NSSAI_CHANGE +# - type: string + RatSelector: +# anyOf: +# - type: string + type: string + enum: + - E-UTRA + - NR +# - type: string + NgapIeType: +# anyOf: +# - type: string + type: string + enum: + - PDU_RES_SETUP_REQ + - PDU_RES_REL_CMD + - PDU_RES_MOD_REQ + - HANDOVER_CMD + - HANDOVER_REQUIRED + - HANDOVER_PREP_FAIL + - SRC_TO_TAR_CONTAINER + - TAR_TO_SRC_CONTAINER + - TAR_TO_SRC_FAIL_CONTAINER + - RAN_STATUS_TRANS_CONTAINER + - SON_CONFIG_TRANSFER + - NRPPA_PDU + - UE_RADIO_CAPABILITY + - RIM_INFO_TRANSFER + - SECONDARY_RAT_USAGE + - PC5_QOS_PARA + - EARLY_STATUS_TRANS_CONTAINER +# - type: string + N2InfoNotifyReason: +# anyOf: +# - type: string + type: string + enum: + - HANDOVER_COMPLETED +# - type: string + SmfChangeIndication: +# anyOf: +# - type: string + type: string + enum: + - CHANGED + - REMOVED +# - type: string + SbiBindingLevel: +# anyOf: +# - type: string + type: string + enum: + - NF_INSTANCE_BINDING + - NF_SET_BINDING + - NF_SERVICE_SET_BINDING + - NF_SERVICE_INSTANCE_BINDING +# - type: string + + EpsNasCipheringAlgorithm: +# anyOf: +# - type: string + type: string + enum: + - EEA0 + - EEA1 + - EEA2 + - EEA3 +# - type: string + + EpsNasIntegrityAlgorithm: +# anyOf: +# - type: string + type: string + enum: + - EIA0 + - EIA1 + - EIA2 + - EIA3 +# - type: string + + PeriodicCommunicationIndicator: +# anyOf: +# - type: string + type: string + enum: + - PIORIODICALLY + - ON_DEMAND +# - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29518_Namf_EventExposure.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29518_Namf_EventExposure.yaml new file mode 100644 index 000000000..45efedfb4 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29518_Namf_EventExposure.yaml @@ -0,0 +1,707 @@ +openapi: 3.0.0 +info: + version: 1.1.4 + title: Namf_EventExposure + description: | + AMF Event Exposure Service + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +security: + - {} + - oAuth2ClientCredentials: + - namf-evts +externalDocs: + description: 3GPP TS 29.518 V16.8.0; 5G System; Access and Mobility Management Services + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' +servers: + - url: '{apiRoot}/namf-evts/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501 +paths: + /subscriptions: + post: + summary: Namf_EventExposure Subscribe service Operation + tags: + - Subscriptions collection (Document) + operationId: CreateSubscription + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfCreateEventSubscription' + required: true + responses: + '201': + description: Subsription Created + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-evts//subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/AmfCreatedEventSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onEventReport: + '{$request.body#/subscription/eventNotifyUri}': + post: + summary: Event Notificaiton Delivery + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfEventNotification' + required: true + responses: + '204': + description: Successful acknowledgement + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + onSubscriptionIdChangeEvtReport: + '{$request.body#/subscription/subsChangeNotifyUri}': + post: + summary: Event Notificaiton Delivery For Subscription Id Change + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfEventNotification' + required: true + responses: + '204': + description: Successful acknowledgement + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /subscriptions/{subscriptionId}: + patch: + summary: Namf_EventExposure Subscribe Modify service Operation + tags: + - Individual subscription (Document) + operationId: ModifySubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be modified + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + oneOf: + - type: array + items: + $ref: '#/components/schemas/AmfUpdateEventSubscriptionItem' + minItems: 1 + - type: array + items: + $ref: '#/components/schemas/AmfUpdateEventOptionItem' + minItems: 1 + maxItems: 1 + required: true + responses: + '200': + description: Subsription modified successfully + content: + application/json: + schema: + $ref: '#/components/schemas/AmfUpdatedEventSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: Namf_EventExposure Unsubscribe service Operation + tags: + - Individual subscription (Document) + operationId: DeleteSubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be deleted + schema: + type: string + responses: + '204': + description: Subsription deleted successfully + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + namf-evts: Access to the Namf_EventExposure API + schemas: + AmfEventSubscription: + type: object + properties: + eventList: + type: array + items: + $ref: '#/components/schemas/AmfEvent' + minItems: 1 + eventNotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorrelationId: + type: string + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subsChangeNotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + subsChangeNotifyCorrelationId: + type: string + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + anyUE: + type: boolean + options: + $ref: '#/components/schemas/AmfEventMode' + sourceNfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + required: + - eventList + - eventNotifyUri + - notifyCorrelationId + - nfId + AmfEvent: + type: object + properties: + type: + $ref: '#/components/schemas/AmfEventType' + immediateFlag: + type: boolean + default: false + areaList: + type: array + items: + $ref: '#/components/schemas/AmfEventArea' + minItems: 1 + locationFilterList: + type: array + items: + $ref: '#/components/schemas/LocationFilter' + minItems: 1 + refId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + trafficDescriptorList: + type: array + items: + $ref: '#/components/schemas/TrafficDescriptor' + minItems: 1 + reportUeReachable: + type: boolean + default: false + reachabilityFilter: + $ref: '#/components/schemas/ReachabilityFilter' + maxReports: + type: integer + maxResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - type + AmfEventNotification: + type: object + properties: + notifyCorrelationId: + type: string + subsChangeNotifyCorrelationId: + type: string + reportList: + type: array + items: + $ref: '#/components/schemas/AmfEventReport' + minItems: 1 + eventSubsSyncInfo: + $ref: '#/components/schemas/AmfEventSubsSyncInfo' + AmfEventReport: + type: object + properties: + type: + $ref: '#/components/schemas/AmfEventType' + state: + $ref: '#/components/schemas/AmfEventState' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + anyUe: + type: boolean + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + areaList: + type: array + items: + $ref: '#/components/schemas/AmfEventArea' + minItems: 1 + refId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + location: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + additionalLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + timezone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + accessTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + rmInfoList: + type: array + items: + $ref: '#/components/schemas/RmInfo' + minItems: 1 + cmInfoList: + type: array + items: + $ref: '#/components/schemas/CmInfo' + minItems: 1 + reachability: + $ref: '#/components/schemas/UeReachability' + commFailure: + $ref: '#/components/schemas/CommunicationFailure' + lossOfConnectReason: + $ref: '#/components/schemas/LossOfConnectivityReason' + numberOfUes: + type: integer + 5gsUserStateList: + type: array + items: + $ref: '#/components/schemas/5GsUserStateInfo' + minItems: 1 + typeCode: + type: string + pattern: '^imeitac-[0-9]{8}$' + registrationNumber: + type: integer + maxAvailabilityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueIdExt: + type: array + items: + $ref: '#/components/schemas/UEIdExt' + minItems: 1 + required: + - type + - state + - timeStamp + AmfEventMode: + type: object + properties: + trigger: + $ref: '#/components/schemas/AmfEventTrigger' + maxReports: + type: integer + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + sampRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + required: + - trigger + AmfEventState: + type: object + properties: + active: + type: boolean + remainReports: + type: integer + remainDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - active + RmInfo: + type: object + properties: + rmState: + $ref: '#/components/schemas/RmState' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - rmState + - accessType + CmInfo: + type: object + properties: + cmState: + $ref: '#/components/schemas/CmState' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - cmState + - accessType + CommunicationFailure: + type: object + properties: + nasReleaseCode: + type: string + ranReleaseCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + AmfCreateEventSubscription: + type: object + properties: + subscription: + $ref: '#/components/schemas/AmfEventSubscription' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + required: + - subscription + AmfCreatedEventSubscription: + type: object + properties: + subscription: + $ref: '#/components/schemas/AmfEventSubscription' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + reportList: + type: array + items: + $ref: '#/components/schemas/AmfEventReport' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - subscription + - subscriptionId + AmfUpdateEventSubscriptionItem: + type: object + properties: + op: + type: string + enum: + - add + - remove + - replace + path: + type: string + pattern: '\/eventList\/[0-]$|\/eventList\/[1-9][0-9]*$' + value: + $ref: '#/components/schemas/AmfEvent' + required: + - op + - path + AmfUpdateEventOptionItem: + type: object + properties: + op: + type: string + enum: + - replace + path: + type: string + pattern: '\/options\/expiry$' + value: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - op + - path + - value + AmfUpdatedEventSubscription: + type: object + properties: + subscription: + $ref: '#/components/schemas/AmfEventSubscription' + reportList: + type: array + items: + $ref: '#/components/schemas/AmfEventReport' + minItems: 1 + required: + - subscription + AmfEventArea: + type: object + properties: + presenceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + ladnInfo: + $ref: '#/components/schemas/LadnInfo' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiId: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + LadnInfo: + type: object + properties: + ladn: + type: string + presence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + required: + - ladn + 5GsUserStateInfo: + type: object + properties: + 5gsUserState: + $ref: '#/components/schemas/5GsUserState' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - 5gsUserState + - accessType + TrafficDescriptor: + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dddTrafficDescriptorList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + UEIdExt: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + + AmfEventSubsSyncInfo: + type: object + properties: + subscriptionList: + type: array + items: + $ref: '#/components/schemas/AmfEventSubscriptionInfo' + minItems: 1 + required: + - subscriptionList + + AmfEventSubscriptionInfo: + type: object + properties: + subId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorrelationId: + type: string + refIdList: + type: array + items: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + minItems: 1 + oldSubId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - subId + - refIdList + + AmfEventType: + anyOf: + - type: string + enum: + - LOCATION_REPORT + - PRESENCE_IN_AOI_REPORT + - TIMEZONE_REPORT + - ACCESS_TYPE_REPORT + - REGISTRATION_STATE_REPORT + - CONNECTIVITY_STATE_REPORT + - REACHABILITY_REPORT + - COMMUNICATION_FAILURE_REPORT + - UES_IN_AREA_REPORT + - SUBSCRIPTION_ID_CHANGE + - SUBSCRIPTION_ID_ADDITION + - LOSS_OF_CONNECTIVITY + - 5GS_USER_STATE_REPORT + - AVAILABILITY_AFTER_DDN_FAILURE + - TYPE_ALLOCATION_CODE_REPORT + - FREQUENT_MOBILITY_REGISTRATION_REPORT + - type: string + AmfEventTrigger: + anyOf: + - type: string + enum: + - ONE_TIME + - CONTINUOUS + - PERIODIC + - type: string + LocationFilter : + anyOf: + - type: string + enum: + - TAI + - CELL_ID + - N3IWF + - UE_IP + - UDP_PORT + - TNAP_ID + - GLI + - TWAP_ID + - type: string + UeReachability: + anyOf: + - type: string + enum: + - UNREACHABLE + - REACHABLE + - REGULATORY_ONLY + - type: string + RmState: + anyOf: + - type: string + enum: + - REGISTERED + - DEREGISTERED + - type: string + CmState: + anyOf: + - type: string + enum: + - IDLE + - CONNECTED + - type: string + 5GsUserState: + anyOf: + - type: string + enum: + - DEREGISTERED + - REGISTERED_NOT_REACHABLE_FOR_PAGING + - REGISTERED_REACHABLE_FOR_PAGING + - CONNECTED_NOT_REACHABLE_FOR_PAGING + - CONNECTED_REACHABLE_FOR_PAGING + - NOT_PROVIDED_FROM_AMF + - type: string + LossOfConnectivityReason: + anyOf: + - type: string + enum: + - DEREGISTERED + - MAX_DETECTION_TIME_EXPIRED + - PURGED + - type: string + + ReachabilityFilter: + anyOf: + - type: string + enum: + - UE_REACHABILITY_STATUS_CHANGE + - UE_REACHABLE_DL_TRAFFIC + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Application_Data.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Application_Data.yaml new file mode 100644 index 000000000..a02227807 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Application_Data.yaml @@ -0,0 +1,2008 @@ +openapi: 3.0.0 +info: + version: '-' + title: Unified Data Repository Service API file for Application Data + description: | + The API version is defined in 3GPP TS 29.504 + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.519 V16.6.0; 5G System; Usage of the Unified Data Repository Service for Policy Data, Application Data and Structured Data for Exposure. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.519/' + +paths: + /application-data/pfds: + get: + summary: Retrieve PFDs for application identifier(s) + operationId: ReadPFDData + tags: + - PFD Data (Store) + parameters: + - name: appId + in: query + description: Contains the information of the application identifier(s) for the querying PFD Data resource. If none appId is included in the URI, it applies to all application identifier(s) for the querying PFD Data resource. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + responses: + '200': + description: A representation of PFDs for request applications is returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdDataForAppExt' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/pfds/{appId}: + get: + summary: Retrieve the corresponding PFDs of the specified application identifier + operationId: ReadIndividualPFDData + tags: + - Individual PFD Data (Document) + parameters: + - name: appId + in: path + description: Indicate the application identifier for the request pfd(s). It shall apply the format of Data type ApplicationId. + required: true + schema: + type: string + responses: + '200': + description: A representation of PFDs for the request application identified by the application identifier is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete the corresponding PFDs of the specified application identifier + operationId: DeleteIndividualPFDData + tags: + - Individual PFD Data (Document) + parameters: + - name: appId + in: path + description: Indicate the application identifier for the request pfd(s). It shall apply the format of Data type ApplicationId. + required: true + schema: + type: string + responses: + '204': + description: Successful case. The Individual PFD Data resource related to the application identifier was deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create or update the corresponding PFDs for the specified application identifier + operationId: CreateOrReplaceIndividualPFDData + tags: + - Individual PFD Data (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + parameters: + - name: appId + in: path + description: Indicate the application identifier for the request pfd(s). It shall apply the format of Data type ApplicationId. + required: true + schema: + type: string + responses: + '201': + description: The creation of an Individual PFD Data resource related to the application-identifier is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//application-data/pfds/{appId}' + required: true + schema: + type: string + '200': + description: Successful case. The upgrade of an Individual PFD Data resource related to the application identifier is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/influenceData: + get: + summary: Retrieve Traffic Influence Data + operationId: ReadInfluenceData + tags: + - Influence Data (Store) + parameters: + - name: influence-Ids + in: query + description: Each element identifies a service. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: dnns + in: query + description: Each element identifies a DNN. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + - name: snssais + in: query + description: Each element identifies a slice. + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: internal-Group-Ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + - name: supp-feat + in: query + required: false + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The Traffic Influence Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrafficInfluData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/influenceData/{influenceId}: + put: + summary: Create or update an individual Influence Data resource + operationId: CreateOrReplaceIndividualInfluenceData + tags: + - Individual Influence Data (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + parameters: + - name: influenceId + in: path + description: The Identifier of an Individual Influence Data to be created or updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: The creation of an Individual Traffic Influence Data resource is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//application-data/influenceData/{influenceId}' + required: true + schema: + type: string + '200': + description: The update of an Individual Traffic Influence Data resource is confirmed and a response body containing Traffic Influence Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify part of the properties of an individual Influence Data resource + operationId: UpdateIndividualInfluenceData + tags: + - Individual Influence Data (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/TrafficInfluDataPatch' + parameters: + - name: influenceId + in: path + description: The Identifier of an Individual Influence Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: The update of an Individual Traffic Influence Data resource is confirmed and a response body containing Traffic Influence Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Influence Data resource + operationId: DeleteIndividualInfluenceData + tags: + - Individual Influence Data (Document) + parameters: + - name: influenceId + in: path + description: The Identifier of an Individual Influence Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The Individual Influence Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/influenceData/subs-to-notify: + post: + summary: Create a new Individual Influence Data Subscription resource + operationId: CreateIndividualInfluenceDataSubscription + tags: + - Influence Data Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + responses: + '201': + description: The subscription was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + trafficInfluenceDataChangeNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TrafficInfluData' + - $ref: '#/components/schemas/TrafficInfluDataNotif' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Read Influence Data Subscriptions + operationId: ReadInfluenceDataSubscriptions + tags: + - Influence Data Subscriptions (Collection) + parameters: + - name: dnn + in: query + description: Identifies a DNN. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: snssai + in: query + description: Identifies a slice. + required: false + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: internal-Group-Id + in: query + description: Identifies a group of users. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: supi + in: query + description: Identifies a user. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '200': + description: The subscription information as request in the request URI query parameter(s) are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrafficInfluSub' + minItems: 0 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/influenceData/subs-to-notify/{subscriptionId}: + get: + summary: Get an existing individual Influence Data Subscription resource + operationId: ReadIndividualInfluenceDataSubscription + tags: + - Individual Influence Data Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Individual Influence Data Subscription + required: true + schema: + type: string + responses: + '200': + description: The subscription information is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Modify an existing individual Influence Data Subscription resource + operationId: ReplaceIndividualInfluenceDataSubscription + tags: + - Individual Influence Data Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Individual Influence Data Subscription + required: true + schema: + type: string + responses: + '200': + description: The subscription was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Influence Data Subscription resource + operationId: DeleteIndividualInfluenceDataSubscription + tags: + - Individual Influence Data Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Individual Influence Data Subscription + required: true + schema: + type: string + responses: + '204': + description: The subscription was terminated successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/bdtPolicyData: + get: + summary: Retrieve applied BDT Policy Data + operationId: ReadBdtPolicyData + tags: + - BdtPolicy Data (Store) + parameters: + - name: bdt-policy-ids + in: query + description: Each element identifies a service. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: internal-group-ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + responses: + '200': + description: The applied BDT policy Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/BdtPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/bdtPolicyData/{bdtPolicyId}: + put: + summary: Create an individual applied BDT Policy Data resource + operationId: CreateIndividualAppliedBdtPolicyData + tags: + - Individual BDT Policy Data (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicyData' + parameters: + - name: bdtPolicyId + in: path + description: The Identifier of an Individual Applied BDT Policy Data to be created or updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: The creation of an Individual Applied BDT Policy Data resource is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicyData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//application-data/bdtPolicyData/{bdtPolicyId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify part of the properties of an individual Applied BDT Policy Data resource + operationId: UpdateIndividualAppliedBdtPolicyData + tags: + - Individual Applied BDT Policy Data (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/BdtPolicyDataPatch' + parameters: + - name: bdtPolicyId + in: path + description: The Identifier of an Individual Applied BDT Policy Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: The update of an Individual Applied BDT Policy Data resource is confirmed and a response body containing Applied BDT Policy Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicyData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Applied BDT Policy Data resource + operationId: DeleteIndividualAppliedBdtPolicyData + tags: + - Individual Applied BDT Policy Data (Document) + parameters: + - name: bdtPolicyId + in: path + description: The Identifier of an Individual Applied BDT Policy Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The Individual Applied BDT Policy Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/iptvConfigData: + get: + summary: Retrieve IPTV configuration Data + operationId: ReadIPTVCongifurationData + tags: + - IPTV Configuration Data (Store) + parameters: + - name: config-ids + in: query + description: Each element identifies a configuration. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: dnns + in: query + description: Each element identifies a DNN. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + - name: snssais + in: query + description: Each element identifies a slice. + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + - name: inter-group-ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + responses: + '200': + description: The IPTV configuration data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IptvConfigData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/iptvConfigData/{configurationId}: + put: + summary: Create or update an individual IPTV configuration resource + operationId: CreateOrReplaceIndividualIPTVConfigurationData + tags: + - Individual IPTV Configuration Data (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + parameters: + - name: configurationId + in: path + description: The Identifier of an Individual IPTV Configuration Data to be created or updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: The creation of an Individual IPTV Configuration Data resource is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: The update of an Individual IPTV configuration resource. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Partial update an individual IPTV configuration resource + operationId: PartialReplaceIndividualIPTVConfigurationData + tags: + - Individual IPTV Configuration Data + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: 'TS29522_IPTVConfiguration.yaml#/components/schemas/IptvConfigDataPatch' + parameters: + - name: configurationId + in: path + description: The Identifier of an Individual IPTV Configuration Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: The update of an Individual IPTV configuration resource. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual IPTV configuration resource + operationId: DeleteIndividualIPTVConfigurationData + tags: + - Individual IPTV Configuration Data (Document) + parameters: + - name: configurationId + in: path + description: The Identifier of an Individual IPTV Configuration to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/serviceParamData: + get: + summary: Retrieve Service Parameter Data + operationId: ReadServiceParameterData + tags: + - Service Parameter Data (Store) + parameters: + - name: service-param-ids + in: query + description: Each element identifies a service. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: dnns + in: query + description: Each element identifies a DNN. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + - name: snssais + in: query + description: Each element identifies a slice. + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: internal-group-ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + - name: ue-ipv4s + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + - name: ue-ipv6s + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + - name: ue-macs + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The Service Parameter Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceParameterData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/serviceParamData/{serviceParamId}: + put: + summary: Create or update an individual Service Parameter Data resource + operationId: CreateOrReplaceServiceParameterData + tags: + - Individual Service Parameter Data (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + parameters: + - name: serviceParamId + in: path + description: The Identifier of an Individual Service Parameter Data to be created or updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: The creation of an Individual Service Parameter Data resource is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//application-data/serviceParamData/{serviceParamId}' + required: true + schema: + type: string + '200': + description: The update of an Individual Service Parameter Data resource is confirmed and a response body containing Service Parameter Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify part of the properties of an individual Service Parameter Data resource + operationId: UpdateIndividualServiceParameterData + tags: + - Individual Service Parameter Data (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ServiceParameterDataPatch' + parameters: + - name: serviceParamId + in: path + description: The Identifier of an Individual Service Parameter Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: The update of an Individual Service Parameter Data resource is confirmed and a response body containing Service Parameter Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Service Parameter Data resource + operationId: DeleteIndividualServiceParameterData + tags: + - Individual Service Parameter Data (Document) + parameters: + - name: serviceParamId + in: path + description: The Identifier of an Individual Service Parameter Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The Individual Service Parameter Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/subs-to-notify: + post: + summary: Create a subscription to receive notification of application data changes + operationId: CreateIndividualApplicationDataSubscription + tags: + - ApplicationDataSubscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + responses: + '201': + description: Upon success, a response body containing a representation of each Individual subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + applicationDataChangeNotif: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ApplicationDataChangeNotif' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Read Application Data change Subscriptions + operationId: ReadApplicationDataChangeSubscriptions + tags: + - ApplicationDataSubscriptions (Collection) + parameters: + - name: data-filter + in: query + description: The data filter for the query. + required: false + schema: + $ref: '#/components/schemas/DataFilter' + responses: + '200': + description: The subscription information as request in the request URI query parameter(s) are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ApplicationDataSubs' + minItems: 0 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/subs-to-notify/{subsId}: + parameters: + - name: subsId + in: path + required: true + schema: + type: string + put: + summary: Modify a subscription to receive notification of application data changes + operationId: ReplaceIndividualApplicationDataSubscription + tags: + - IndividualApplicationDataSubscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + responses: + '200': + description: The individual subscription resource was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + '204': + description: The individual subscription resource was updated successfully and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete the individual Application Data subscription + operationId: DeleteIndividualApplicationDataSubscription + tags: + - IndividualApplicationDataSubscription (Document) + responses: + '204': + description: Upon success, an empty response body shall be returned. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Get an existing individual Application Data Subscription resource + operationId: ReadIndividualApplicationDataSubscription + tags: + - IndividualApplicationDataSubscription (Document) + parameters: + - name: subsId + in: path + description: String identifying a subscription to the Individual Application Data Subscription + required: true + schema: + type: string + responses: + '200': + description: The subscription information is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + TrafficInfluData: + type: object + properties: + upPathChgNotifCorreId: + type: string + description: Contains the Notification Correlation Id allocated by the NEF for the UP path change notification. + appReloInd: + type: boolean + description: Identifies whether an application can be relocated once a location of the application has been selected. + afAppId: + type: string + description: Identifies an application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet filters. Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable. + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + description: Identifies a group of users. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Identifies IP packet filters. Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + traffCorreInd: + type: boolean + validStartTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + validEndTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + minItems: 1 + description: Identifies the temporal validities for the N6 traffic routing requirement. + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + upPathChgNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + headers: + type: array + items: + type: string + minItems: 1 + subscribedEvents: + type: array + items: + $ref: 'TS29522_TrafficInfluence.yaml#/components/schemas/SubscribedEvent' + minItems: 1 + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + afAckInd: + type: boolean + addrPreserInd: + type: boolean + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + allOf: + - oneOf: + - required: [afAppId] + - required: [trafficFilters] + - required: [ethTrafficFilters] + - oneOf: + - required: [supi] + - required: [interGroupId] + TrafficInfluDataPatch: + type: object + properties: + upPathChgNotifCorreId: + type: string + description: Contains the Notification Correlation Id allocated by the NEF for the UP path change notification. + appReloInd: + type: boolean + description: Identifies whether an application can be relocated once a location of the application has been selected. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet filters. Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable. + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + internalGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + description: Identifies a group of users. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Identifies IP packet filters. Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + traffCorreInd: + type: boolean + validStartTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + validEndTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + minItems: 1 + nullable: true + description: Identifies the temporal validities for the N6 traffic routing requirement. + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + upPathChgNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + headers: + type: array + items: + type: string + minItems: 1 + afAckInd: + type: boolean + addrPreserInd: + type: boolean + TrafficInfluSub: + type: object + properties: + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: Each element identifies a DNN. + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Each element identifies a slice. + internalGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + description: Each element identifies a group of users. + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + description: Each element identifies the user. + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + oneOf: + - required: [dnns] + - required: [snssais] + - required: [internalGroupIds] + - required: [supis] + TrafficInfluDataNotif: + type: object + properties: + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + trafficInfluData: + $ref: '#/components/schemas/TrafficInfluData' + required: + - resUri + PfdDataForAppExt: + allOf: + - $ref: 'TS29551_Nnef_PFDmanagement.yaml#/components/schemas/PfdDataForApp' + - type: object + properties: + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + BdtPolicyData: + type: object + properties: + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + description: Identifies a group of users. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - bdtRefId + BdtPolicyDataPatch: + type: object + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + required: + - bdtRefId + IptvConfigData: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + description: Identifies a group of users. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + afAppId: + type: string + multiAccCtrls: + type: object + additionalProperties: + $ref: 'TS29522_IPTVConfiguration.yaml#/components/schemas/MulticastAccessControl' + minProperties: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - afAppId + - multiAccCtrls + oneOf: + - required: [interGroupId] + - required: [supi] + ServiceParameterData: + type: object + properties: + appId: + type: string + description: Identifies an application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + description: Identifies a group of users. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + ueIpv4: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + anyUeInd: + type: boolean + paramOverPc5: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParameterOverPc5' + paramOverUu: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParameterOverUu' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ApplicationDataSubs: + description: Identifies a subscription to application data change notification. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + dataFilters: + type: array + items: + $ref: '#/components/schemas/DataFilter' + minItems: 1 + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + ApplicationDataChangeNotif: + description: Contains changed application data for which notification was requested. + type: object + properties: + iptvConfigData: + $ref: '#/components/schemas/IptvConfigData' + pfdData: + $ref: 'TS29551_Nnef_PFDmanagement.yaml#/components/schemas/PfdChangeNotification' + bdtPolicyData: + $ref: '#/components/schemas/BdtPolicyData' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + serParamData: + $ref: '#/components/schemas/ServiceParameterData' + required: + - resUri + DataFilter: + description: Identifies a data filter. + type: object + properties: + dataInd: + $ref: '#/components/schemas/DataInd' + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + internalGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + ueIpv4s: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ueIpv6s: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + ueMacs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + required: + - dataInd + DataInd: + anyOf: + - type: string + enum: + - PFD + - IPTV + - BDT + - SVC_PARAM + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - PFD + - IPTV + - BDT + - SVC_PARAM diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Exposure_Data.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Exposure_Data.yaml new file mode 100644 index 000000000..1f1e45c40 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Exposure_Data.yaml @@ -0,0 +1,684 @@ +openapi: 3.0.0 +info: + version: '-' + title: Unified Data Repository Service API file for structured data for exposure + description: | + The API version is defined in 3GPP TS 29.504 + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.519 V16.7.0; 5G System; Usage of the Unified Data Repository Service for Policy Data, Application Data and Structured Data for Exposure. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.519/' + +paths: + /exposure-data/{ueId}/access-and-mobility-data: + put: + summary: Creates and updates the access and mobility exposure data for a UE + operationId: CreateOrReplaceAccessAndMobilityData + tags: + - AccessAndMobilityData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + responses: + '201': + description: Successful case. The resource has been successfully created and a response body containing a representation of the access and mobility data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: Successful case. The resource has been successfully updated and a response body containing a representation of the access and mobility data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Retrieves the access and mobility exposure data for a UE + operationId: QueryAccessAndMobilityData + tags: + - AccessAndMobilityData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The response body contains the access and mobility data + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes the access and mobility exposure data for a UE + operationId: DeleteAccessAndMobilityData + tags: + - AccessAndMobilityData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Updates the access and mobility exposure data for a UE + operationId: UpdateAccessAndMobilityData + tags: + - AccessAndMobilityData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + responses: + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /exposure-data/{ueId}/session-management-data/{pduSessionId}: + put: + summary: Creates and updates the session management data for a UE and for an individual PDU session + operationId: CreateOrReplaceSessionManagementData + tags: + - PduSessionManagementData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionManagementData' + responses: + '201': + description: Successful case. The resource has been successfully created and a response body containing a representation of the access and mobility data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionManagementData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: Successful case. The resource has been successfully updated and a response body containing a representation of the access and mobility data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Retrieves the session management data for a UE and for an individual PDU session + operationId: QuerySessionManagementData + tags: + - PduSessionManagementData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + - name: ipv4-addr + in: query + description: IPv4 Address of the UE + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ipv6-prefix + in: query + description: IPv6 Address Prefix of the UE + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: dnn + in: query + description: DNN of the UE + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The response body contains the session management data + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionManagementData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes the session management data for a UE and for an individual PDU session + operationId: DeleteSessionManagementData + tags: + - PduSessionManagementData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /exposure-data/subs-to-notify: + post: + summary: Create a subscription to receive notification of exposure data changes + operationId: CreateIndividualExposureDataSubscription + tags: + - ExposureDataSubscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + exposureDataChangeNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ExposureDataChangeNotification' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /exposure-data/subs-to-notify/{subId}: + put: + summary: updates a subscription to receive notifications of exposure data changes + operationId: ReplaceIndividualExposureDataSubscription + tags: + - IndividualExposureDataSubscription (Document) + parameters: + - name: subId + in: path + description: Subscription id + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + responses: + '200': + description: Resource was successfully modified and a body with the modified subscription to notifications about exposure data is returned.. + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + '204': + description: The individual subscription resource was successfully modified. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes the individual Exposure Data subscription + operationId: DeleteIndividualExposureDataSubscription + tags: + - IndividualExposureDataSubscription (Document) + parameters: + - name: subId + in: path + description: Subscription id + required: true + schema: + type: string + responses: + '204': + description: Resource was successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + schemas: + AccessAndMobilityData: + type: object + properties: + location: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + locationTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + timeZoneTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + regStates: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/RmInfo' + regStatesTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + connStates: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmInfo' + connStatesTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + reachabilityStatus: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/UeReachability' + reachabilityStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + smsOverNasStatus: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/SmsSupport' + smsOverNasStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + roamingStatus: + type: boolean + description: True The serving PLMN of the UE is different from the HPLMN of the UE; False The serving PLMN of the UE is the HPLMN of the UE. + roamingStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + currentPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + currentPlmnTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ratType: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ratTypesTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + PduSessionManagementData: + type: object + properties: + pduSessionStatus: + $ref: '#/components/schemas/PduSessionStatus' + pduSessionStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + dnaiTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + n6TrafficRoutingInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + n6TrafficRoutingInfoTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Prefix: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + description: UE IPv6 prefix. + ipv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + pduSessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + ipAddrTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ExposureDataSubscription: + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + - monitoredResourceUris + ExposureDataChangeNotification: + type: object + properties: + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + accessAndMobilityData: + $ref: '#/components/schemas/AccessAndMobilityData' + pduSessionManagementData: + type: array + items: + $ref: '#/components/schemas/PduSessionManagementData' + minItems: 1 + delResources: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + PduSessionStatus: + anyOf: + - type: string + enum: + - "ACTIVE" + - "RELEASED" + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - "ACTIVE" + - "RELEASED" diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Policy_Data.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Policy_Data.yaml new file mode 100644 index 000000000..3e419892c --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29519_Policy_Data.yaml @@ -0,0 +1,1624 @@ +openapi: 3.0.0 +info: + version: '-' + title: Unified Data Repository Service API file for policy data + description: | + The API version is defined in 3GPP TS 29.504 + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.519 V16.7.0; 5G System; Usage of the Unified Data Repository Service for Policy Data, Application Data and Structured Data for Exposure. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.519/' + +paths: + /policy-data/ues/{ueId}/am-data: + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + get: + summary: Retrieves the access and mobility policy data for a subscriber + operationId: ReadAccessAndMobilityPolicyData + tags: + - AccessAndMobilityPolicyData (Document) + responses: + '200': + description: Upon success, a response body containing access and mobility policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AmPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/ue-policy-set: + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + get: + summary: Retrieves the UE policy set data for a subscriber + operationId: ReadUEPolicySet + tags: + - UEPolicySet (Document) + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing UE policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create or modify the UE policy set data for a subscriber + operationId: CreateOrReplaceUEPolicySet + tags: + - UEPolicySet (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + responses: + '201': + description: Successful case. The resource has been successfully created and a response body containing a representation of the created UEPolicySet resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: Successful case. The resource has been successfully created and a response body containing UE policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify the UE policy set data for a subscriber + operationId: UpdateUEPolicySet + tags: + - UEPolicySet (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/UePolicySetPatch' + responses: + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/sm-data: + get: + summary: Retrieves the session management policy data for a subscriber + operationId: ReadSessionManagementPolicyData + tags: + - SessionManagementPolicyData (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: snssai + in: query + required: false + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing SmPolicyData shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify the session management policy data for a subscriber + operationId: UpdateSessionManagementPolicyData + tags: + - SessionManagementPolicyData (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SmPolicyDataPatch' + responses: + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/sm-data/{usageMonId}: + get: + summary: Retrieve a usage monitoring resource + operationId: ReadUsageMonitoringInformation + tags: + - UsageMonitoringInformation (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: usageMonId + in: path + required: true + schema: + type: string + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Successful case. The usage monitoring data is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UsageMonData' + '204': + description: The resource was found but no usage monitoring data is available. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create a usage monitoring resource + operationId: CreateUsageMonitoringResource + tags: + - UsageMonitoringInformation (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: usageMonId + in: path + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UsageMonData' + responses: + '201': + description: Successful case. The resource has been successfully created and a response body is returned containing a representation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/UsageMonData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete a usage monitoring resource + operationId: DeleteUsageMonitoringInformation + tags: + - UsageMonitoringInformation (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: usageMonId + in: path + required: true + schema: + type: string + responses: + '204': + description: Successful case. The resource has been successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/sponsor-connectivity-data/{sponsorId}: + parameters: + - name: sponsorId + in: path + required: true + schema: + type: string + get: + summary: Retrieves the sponsored connectivity information for a given sponsorId + operationId: ReadSponsorConnectivityData + tags: + - SponsorConnectivityData (Document) + responses: + '200': + description: Upon success, a response body containing Sponsor Connectivity Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/SponsorConnectivityData' + '204': + description: The resource was found but no Sponsor Connectivity Data is available. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/bdt-data: + get: + summary: Retrieves the BDT data collection + operationId: ReadBdtData + tags: + - BdtData (Store) + parameters: + - name: bdt-ref-ids + in: query + description: List of the BDT reference identifiers. + required: false + schema: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + minItems: 1 + style: form + explode: false + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing the BDT data shall be returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/BdtData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/bdt-data/{bdtReferenceId}: + parameters: + - name: bdtReferenceId + in: path + required: true + schema: + type: string + get: + summary: Retrieves the BDT data information associated with a BDT reference Id + operationId: ReadIndividualBdtData + tags: + - IndividualBdtData (Document) + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing the BDT data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Creates an BDT data resource associated with an BDT reference Id + operationId: CreateIndividualBdtData + tags: + - IndividualBdtData (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + responses: + '201': + description: Successful case. The resource has been successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modifies an BDT data resource associated with an BDT reference Id + operationId: UpdateIndividualBdtData + tags: + - IndividualBdtData (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/BdtDataPatch' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes an BDT data resource associated with an BDT reference Id + operationId: DeleteIndividualBdtData + tags: + - IndividualBdtData (Document) + responses: + '204': + description: Successful case. The resource has been successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/subs-to-notify: + post: + summary: Create a subscription to receive notification of policy data changes + operationId: CreateIndividualPolicyDataSubscription + tags: + - PolicyDataSubscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + responses: + '201': + description: Upon success, a response body containing a representation of each Individual subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + policyDataChangeNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PolicyDataChangeNotification' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/subs-to-notify/{subsId}: + parameters: + - name: subsId + in: path + required: true + schema: + type: string + put: + summary: Modify a subscription to receive notification of policy data changes + operationId: ReplaceIndividualPolicyDataSubscription + tags: + - IndividualPolicyDataSubscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + responses: + '200': + description: The individual subscription resource was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + '204': + description: The individual subscription resource was updated successfully and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete the individual Policy Data subscription + operationId: DeleteIndividualPolicyDataSubscription + tags: + - IndividualPolicyDataSubscription (Document) + responses: + '204': + description: Upon success, an empty response body shall be returned. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/operator-specific-data: + get: + summary: Retrieve the operator specific policy data of an UE + operationId: ReadOperatorSpecificData + tags: + - OperatorSpecificData (Document) + parameters: + - name: ueId + in: path + description: UE Id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify the operator specific policy data of an UE + operationId: UpdateOperatorSpecificData + tags: + - OperatorSpecificData (Document) + parameters: + - name: ueId + in: path + description: UE Id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: No content. Response to successful modification. + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Modify the operator specific policy data of an UE + operationId: ReplaceOperatorSpecificData + tags: + - OperatorSpecificData (Document) + parameters: + - name: ueId + in: path + description: UE Id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/json: + schema: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + '204': + description: The resource has been successfully updated. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /policy-data/plmns/{plmnId}/ue-policy-set: + parameters: + - name: plmnId + in: path + required: true + schema: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/VarPlmnId' + get: + summary: Retrieve the UE policy set data for an H-PLMN + operationId: ReadPlmnUePolicySet + tags: + - PlmnUePolicySet (Document) + responses: + '200': + description: Upon success, a response body containing UE policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '412': + $ref: 'TS29571_CommonData.yaml#/components/responses/412' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + schemas: + AmPolicyData: + description: Contains the AM policy data for a given subscriber. + type: object + properties: + praInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + subscCats: + type: array + items: + type: string + minItems: 1 + UePolicySet: + description: Contains the UE policy data for a given subscriber. + type: object + properties: + praInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + subscCats: + type: array + items: + type: string + minItems: 1 + uePolicySections: + type: object + additionalProperties: + $ref: '#/components/schemas/UePolicySection' + minProperties: 1 + upsis: + type: array + items: + type: string + minItems: 1 + allowedRouteSelDescs: + type: object + additionalProperties: + $ref: '#/components/schemas/PlmnRouteSelectionDescriptor' + minProperties: 1 + andspInd: + type: boolean + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + osIds: + type: array + items: + $ref: '#/components/schemas/OsId' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + UePolicySetPatch: + description: Contains the UE policy set for a given subscriber. + type: object + properties: + uePolicySections: + type: object + additionalProperties: + $ref: '#/components/schemas/UePolicySection' + minProperties: 1 + upsis: + type: array + items: + type: string + minItems: 1 + andspInd: + type: boolean + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + osIds: + type: array + items: + $ref: '#/components/schemas/OsId' + minItems: 1 + UePolicySection: + description: Contains the UE policy section. + type: object + properties: + uePolicySectionInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + upsi: + type: string + required: + - uePolicySectionInfo + - upsi + SmPolicyData: + description: Contains the SM policy data for a given subscriber. + type: object + properties: + smPolicySnssaiData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicySnssaiData' + minProperties: 1 + umDataLimits: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonDataLimit' + minProperties: 1 + umData: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonData' + minProperties: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - smPolicySnssaiData + SmPolicySnssaiData: + description: Contains the SM policy data for a given subscriber and S-NSSAI. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + smPolicyDnnData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicyDnnData' + minProperties: 1 + required: + - snssai + SmPolicyDnnData: + description: Contains the SM policy data for a given DNN (and S-NSSAI). + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + allowedServices: + type: array + items: + type: string + minItems: 1 + subscCats: + type: array + items: + type: string + minItems: 1 + gbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + gbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + adcSupport: + type: boolean + subscSpendingLimits: + type: boolean + ipv4Index: + $ref: '#/components/schemas/IpIndex' + ipv6Index: + $ref: '#/components/schemas/IpIndex' + offline: + type: boolean + online: + type: boolean + chfInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ChargingInformation' + refUmDataLimitIds: + type: object + additionalProperties: + $ref: '#/components/schemas/LimitIdToMonitoringKey' + minProperties: 1 + mpsPriority: + type: boolean + mcsPriority: + type: boolean + imsSignallingPrio: + type: boolean + mpsPriorityLevel: + type: integer + mcsPriorityLevel: + type: integer + praInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + bdtRefIds: + type: object + additionalProperties: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceIdRm' + minProperties: 1 + nullable: true + locRoutNotAllowed: + type: boolean + required: + - dnn + UsageMonDataLimit: + description: Contains usage monitoring control data for a subscriber. + type: object + properties: + limitId: + type: string + scopes: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonDataScope' + minProperties: 1 + umLevel: + $ref: '#/components/schemas/UsageMonLevel' + startDate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endDate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + usageLimit: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + resetPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - limitId + UsageMonData: + description: Contains remain allowed usage data for a subscriber. + type: object + properties: + limitId: + type: string + scopes: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonDataScope' + minProperties: 1 + umLevel: + $ref: '#/components/schemas/UsageMonLevel' + allowedUsage: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + resetTime: + $ref: '#/components/schemas/TimePeriod' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - limitId + LimitIdToMonitoringKey: + description: Contains the limit identifier and the corresponding monitoring key for a given S-NSSAI and DNN. + type: object + properties: + limitId: + type: string + monkey: + type: array + items: + type: string + minItems: 1 + required: + - limitId + nullable: true + UsageMonDataScope: + description: Contains a SNSSAI and DNN combinations to which the UsageMonData instance belongs to. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + required: + - snssai + TimePeriod: + description: Contains the periodicity for the defined usage monitoring data limits. + type: object + properties: + period: + $ref: '#/components/schemas/Periodicity' + maxNumPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - period + SponsorConnectivityData: + description: Contains the sponsored data connectivity related information for a sponsor identifier. + type: object + properties: + aspIds: + type: array + items: + type: string + required: + - aspIds + BdtData: + description: Contains the background data transfer data. + type: object + properties: + aspId: + type: string + transPolicy: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/TransferPolicy' + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + numOfUes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + volPerUe: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + trafficDes: + $ref: 'TS29122_ResourceManagementOfBdt.yaml#/components/schemas/TrafficDescriptor' + bdtpStatus: + $ref: '#/components/schemas/BdtPolicyStatus' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - aspId + - transPolicy + PolicyDataSubscription: + description: Identifies a subscription to policy data change notification. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifId: + type: string + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monResItems: + type: array + items: + $ref: '#/components/schemas/ResourceItem' + minItems: 1 + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + - monitoredResourceUris + PolicyDataChangeNotification: + description: Contains changed policy data for which notification was requested. + type: object + properties: + amPolicyData: + $ref: '#/components/schemas/AmPolicyData' + uePolicySet: + $ref: '#/components/schemas/UePolicySet' + plmnUePolicySet: + $ref: '#/components/schemas/UePolicySet' + smPolicyData: + $ref: '#/components/schemas/SmPolicyData' + usageMonData: + $ref: '#/components/schemas/UsageMonData' + SponsorConnectivityData: + $ref: '#/components/schemas/SponsorConnectivityData' + bdtData: + $ref: '#/components/schemas/BdtData' + opSpecData: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + opSpecDataMap: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + minProperties: 1 + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + sponsorId: + type: string + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + usageMonId: + type: string + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + delResources: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + notifId: + type: string + reportedFragments: + type: array + items: + $ref: '#/components/schemas/NotificationItem' + minItems: 1 + PlmnRouteSelectionDescriptor: + description: Contains the route selection descriptors (combinations of SNSSAI, DNNs, PDU session types, SSC modes and ATSSS information) allowed by subscription to the UE for a serving PLMN + type: object + properties: + servingPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + snssaiRouteSelDescs: + type: array + items: + $ref: '#/components/schemas/SnssaiRouteSelectionDescriptor' + minItems: 1 + required: + - servingPlmn + SnssaiRouteSelectionDescriptor: + description: Contains the route selector parameters (DNNs, PDU session types, SSC modes and ATSSS information) per SNSSAI + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnnRouteSelDescs: + type: array + items: + $ref: '#/components/schemas/DnnRouteSelectionDescriptor' + minItems: 1 + required: + - snssai + DnnRouteSelectionDescriptor: + description: Contains the route selector parameters (PDU session types, SSC modes and ATSSS information) per DNN + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sscModes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + minItems: 1 + pduSessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + atsssInfo: + description: Indicates whether MA PDU session establishment is allowed for this DNN. When set to value true MA PDU session establishment is allowed for this DNN. + type: boolean + default: false + required: + - dnn + SmPolicyDataPatch: + description: Contains the SM policy data for a given subscriber. + type: object + properties: + umData: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonData' + minProperties: 1 + nullable: true + smPolicySnssaiData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicySnssaiDataPatch' + minProperties: 1 + SmPolicySnssaiDataPatch: + description: Contains the SM policy data for a given subscriber and S-NSSAI. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + smPolicyDnnData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicyDnnDataPatch' + minProperties: 1 + required: + - snssai + SmPolicyDnnDataPatch: + description: Contains the SM policy data for a given DNN (and S-NSSAI). + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + bdtRefIds: + type: object + additionalProperties: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceIdRm' + minProperties: 1 + nullable: true + required: + - dnn +# + ResourceItem: + description: Identifies a subscription to policy data change notification when the change occurs in a fragment (subset of resource data) of a given resource. + type: object + properties: + monResourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + items: + type: array + items: + $ref: '#/components/schemas/ItemPath' + minItems: 1 + required: + - monResourceUri + - items +# + + NotificationItem: + description: Identifies a data change notification when the change occurs in a fragment (subset of resource data) of a given resource. + type: object + properties: + resourceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifItems: + type: array + items: + $ref: '#/components/schemas/UpdatedItem' + minItems: 1 + required: + - resourceId + - notifItems +# + UpdatedItem: + description: Identifies a fragment of a resource. + type: object + properties: + item: + $ref: '#/components/schemas/ItemPath' +# value: {} + value: + type: string + required: + - item + - value +# +# + BdtDataPatch: + description: Contains the modified background data transfer data. + type: object + properties: + transPolicy: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/TransferPolicy' + bdtpStatus: + $ref: '#/components/schemas/BdtPolicyStatus' +# + + IpIndex: + type: integer + OsId: + type: string + format: uuid + UsageMonLevel: + anyOf: + - type: string + enum: + - SESSION_LEVEL + - SERVICE_LEVEL + - type: string + Periodicity: + anyOf: + - type: string + enum: + - YEARLY + - MONTHLY + - WEEKLY + - DAILY + - HOURLY + - type: string +# + + ItemPath: + description: Identifies a fragment (subset of resource data) of a given resource. + type: string +# + BdtPolicyStatus: + description: Indicates the validation status of a negotiated BDT policy. + anyOf: + - type: string + enum: + - INVALID + - VALID + - type: string +# diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29520_Nnwdaf_AnalyticsInfo.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29520_Nnwdaf_AnalyticsInfo.yaml new file mode 100644 index 000000000..e6a132697 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29520_Nnwdaf_AnalyticsInfo.yaml @@ -0,0 +1,270 @@ +openapi: 3.0.0 +info: + version: 1.1.2 + title: Nnwdaf_AnalyticsInfo + description: | + Nnwdaf_AnalyticsInfo Service API. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.520 V16.8.0; 5G System; Network Data Analytics Services. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.520/' +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-analyticsinfo +servers: + - url: '{apiRoot}/nnwdaf-analyticsinfo/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +paths: + /analytics: + get: + summary: Read a NWDAF Analytics + operationId: GetNWDAFAnalytics + tags: + - NWDAF Analytics (Document) + parameters: + - name: event-id + in: query + description: Identify the analytics. + required: true + schema: + $ref: '#/components/schemas/EventId' + - name: ana-req + in: query + description: Identifies the analytics reporting requirement information. + required: false + content: + application/json: + schema: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventReportingRequirement' + - name: event-filter + in: query + description: Identify the analytics. + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/EventFilter' + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: tgt-ue + in: query + description: Identify the target UE information. + required: false + content: + application/json: + schema: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TargetUeInformation' + responses: + '200': + description: Containing the analytics with parameters as relevant for the requesting NF service consumer. + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsData' + '204': + description: No Content (The request NWDAF Analytics data does not exist) + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: Indicates that the NWDAF Analytics resource does not exist. + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-analyticsinfo: Access to the Nnwdaf_AnalyticsInfo API + schemas: + AnalyticsData: + type: object + properties: + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeStampGen: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + sliceLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/SliceLoadLevelInformation' + minItems: 1 + description: The slices and their load level information. + nsiLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiLoadLevelInfo' + minItems: 1 + nfLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NfLoadLevelInformation' + minItems: 1 + nwPerfs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfInfo' + minItems: 1 + svcExps: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ServiceExperienceInfo' + minItems: 1 + qosSustainInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosSustainabilityInfo' + minItems: 1 + ueMobs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeMobility' + minItems: 1 + ueComms: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommunication' + minItems: 1 + userDataCongInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UserDataCongestionInfo' + minItems: 1 + abnorBehavrs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AbnormalBehaviour' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + EventFilter: + description: Represents the event filters used to identify the requested analytics. + type: object + properties: + anySlice: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnySlice' + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Identification(s) of network slice to which the subscription belongs. + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + nfInstanceIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + nfSetIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + nfTypes: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + minItems: 1 + nsiIdInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiIdInfo' + minItems: 1 + qosRequ: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosRequirement' + nwPerfTypes: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfType' + minItems: 1 + bwRequs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/BwRequirement' + minItems: 1 + excepIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExceptionId' + minItems: 1 + exptAnaType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExpectedAnalyticsType' + exptUeBehav: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + not: + required: [anySlice, snssais] + EventId: + anyOf: + - type: string + enum: + - LOAD_LEVEL_INFORMATION + - NETWORK_PERFORMANCE + - NF_LOAD + - SERVICE_EXPERIENCE + - UE_MOBILITY + - UE_COMMUNICATION + - QOS_SUSTAINABILITY + - ABNORMAL_BEHAVIOUR + - USER_DATA_CONGESTION + - NSI_LOAD_LEVEL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - LOAD_LEVEL_INFORMATION: Represent the analytics of load level information of corresponding network slice. + - NETWORK_PERFORMANCE: Represent the analytics of network performance information. + - NF_LOAD: Indicates that the event subscribed is NF Load. + - SERVICE_EXPERIENCE: Represent the analytics of service experience information of the specific applications. + - UE_MOBILITY: Represent the analytics of UE mobility. + - UE_COMMUNICATION: Represent the analytics of UE communication. + - QOS_SUSTAINABILITY: Represent the analytics of QoS sustainability information in the certain area. + - ABNORMAL_BEHAVIOUR: Indicates that the event subscribed is abnormal behaviour information. + - USER_DATA_CONGESTION: Represent the analytics of the user data congestion in the certain area. + - NSI_LOAD_LEVEL: Represent the analytics of Network Slice and the optionally associated Network Slice Instance. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29520_Nnwdaf_EventsSubscription.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29520_Nnwdaf_EventsSubscription.yaml new file mode 100644 index 000000000..b43f28b9e --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29520_Nnwdaf_EventsSubscription.yaml @@ -0,0 +1,1093 @@ +openapi: 3.0.0 +info: + version: 1.1.4 + title: Nnwdaf_EventsSubscription + description: | + Nnwdaf_EventsSubscription Service API. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.520 V16.8.0; 5G System; Network Data Analytics Services. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.520/' +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-eventssubscription +servers: + - url: '{apiRoot}/nnwdaf-eventssubscription/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +paths: + /subscriptions: + post: + summary: Create a new Individual NWDAF Events Subscription + operationId: CreateNWDAFEventsSubscription + tags: + - NWDAF Events Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + responses: + '201': + description: Create a new Individual NWDAF Event Subscription resource. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnwdaf-eventssubscription/v1/subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notificationURI}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NnwdafEventsSubscriptionNotification' + minItems: 1 + responses: + '204': + description: The receipt of the Notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscriptions/{subscriptionId}: + delete: + summary: Delete an existing Individual NWDAF Events Subscription + operationId: DeleteNWDAFEventsSubscription + tags: + - Individual NWDAF Events Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_EventsSubscription Service + required: true + schema: + type: string + responses: + '204': + description: No Content. The Individual NWDAF Event Subscription resource matching the subscriptionId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: The Individual NWDAF Event Subscription resource does not exist. + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Update an existing Individual NWDAF Events Subscription + operationId: UpdateNWDAFEventsSubscription + tags: + - Individual NWDAF Events Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_EventsSubscription Service + required: true + schema: + type: string + responses: + '200': + description: The Individual NWDAF Event Subscription resource was modified successfully and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + '204': + description: The Individual NWDAF Event Subscription resource was modified successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: The Individual NWDAF Event Subscription resource does not exist. + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-eventssubscription: Access to the Nnwdaf_EventsSubscription API + schemas: + NnwdafEventsSubscription: + type: object + properties: + eventSubscriptions: + type: array + items: + $ref: '#/components/schemas/EventSubscription' + minItems: 1 + description: Subscribed events + evtReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + eventNotifications: + type: array + items: + $ref: '#/components/schemas/EventNotification' + minItems: 1 + failEventReports: + type: array + items: + $ref: '#/components/schemas/FailureEventInfo' + minItems: 1 + required: + - eventSubscriptions + EventSubscription: + type: object + properties: + anySlice: + $ref: '#/components/schemas/AnySlice' + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + description: Identification(s) of application to which the subscription applies. + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: Identification(s) of DNN to which the subscription applies. + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + event: + $ref: '#/components/schemas/NwdafEvent' + extraReportReq: + $ref: '#/components/schemas/EventReportingRequirement' + loadLevelThreshold: + type: integer + description: Indicates that the NWDAF shall report the corresponding network slice load level to the NF service consumer where the load level of the network slice identified by snssais is reached. + notificationMethod: + $ref: '#/components/schemas/NotificationMethod' + matchingDir: + $ref: '#/components/schemas/MatchingDirection' + nfLoadLvlThds: + type: array + items: + $ref: '#/components/schemas/ThresholdLevel' + minItems: 1 + description: Shall be supplied in order to start reporting when an average load level is reached. + nfInstanceIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + nfSetIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + nfTypes: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + minItems: 1 + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + nsiIdInfos: + type: array + items: + $ref: '#/components/schemas/NsiIdInfo' + minItems: 1 + nsiLevelThrds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + qosRequ: + $ref: '#/components/schemas/QosRequirement' + qosFlowRetThds: + type: array + items: + $ref: '#/components/schemas/RetainabilityThreshold' + minItems: 1 + ranUeThrouThds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + minItems: 1 + repetitionPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + snssaia: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Identification(s) of network slice to which the subscription applies. When subscribed event is "SLICE_LOAD_LEVEL", either information about slice(s) identified by snssai, or anySlice set to "TRUE" shall be included. It corresponds to snssais in the data model definition of 3GPP TS 29.520. When subscribed is “QOS_SUSTAINABILITY”, the identifications of network slices is optional. + tgtUe: + $ref: '#/components/schemas/TargetUeInformation' + congThresholds: + type: array + items: + $ref: '#/components/schemas/ThresholdLevel' + minItems: 1 + nwPerfRequs: + type: array + items: + $ref: '#/components/schemas/NetworkPerfRequirement' + minItems: 1 + bwRequs: + type: array + items: + $ref: '#/components/schemas/BwRequirement' + minItems: 1 + excepRequs: + type: array + items: + $ref: '#/components/schemas/Exception' + minItems: 1 + exptAnaType: + $ref: '#/components/schemas/ExpectedAnalyticsType' + exptUeBehav: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + required: + - event + NnwdafEventsSubscriptionNotification: + type: object + properties: + eventNotifications: + type: array + items: + $ref: '#/components/schemas/EventNotification' + minItems: 1 + description: Notifications about Individual Events + subscriptionId: + type: string + description: String identifying a subscription to the Nnwdaf_EventsSubscription Service + required: + - eventNotifications + - subscriptionId + EventNotification: + type: object + properties: + event: + $ref: '#/components/schemas/NwdafEvent' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeStampGen: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + nfLoadLevelInfos: + type: array + items: + $ref: '#/components/schemas/NfLoadLevelInformation' + minItems: 1 + nsiLoadLevelInfos: + type: array + items: + $ref: '#/components/schemas/NsiLoadLevelInfo' + minItems: 1 + sliceLoadLevelInfo: + $ref: '#/components/schemas/SliceLoadLevelInformation' + svcExps: + type: array + items: + $ref: '#/components/schemas/ServiceExperienceInfo' + minItems: 1 + qosSustainInfos: + type: array + items: + $ref: '#/components/schemas/QosSustainabilityInfo' + minItems: 1 + ueComms: + type: array + items: + $ref: '#/components/schemas/UeCommunication' + minItems: 1 + ueMobs: + type: array + items: + $ref: '#/components/schemas/UeMobility' + minItems: 1 + userDataCongInfos: + type: array + items: + $ref: '#/components/schemas/UserDataCongestionInfo' + minItems: 1 + abnorBehavrs: + type: array + items: + $ref: '#/components/schemas/AbnormalBehaviour' + minItems: 1 + nwPerfs: + type: array + items: + $ref: '#/components/schemas/NetworkPerfInfo' + minItems: 1 + required: + - event + ServiceExperienceInfo: + type: object + properties: + svcExprc: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/SvcExperience' + svcExprcVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + nsiId: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + required: + - svcExprc + BwRequirement: + type: object + properties: + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + required: + - appId + SliceLoadLevelInformation: + type: object + properties: + loadLevelInformation: + $ref: '#/components/schemas/LoadLevelInformation' + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Identification(s) of network slice to which the subscription applies. + required: + - loadLevelInformation + - snssais + NsiLoadLevelInfo: + description: Represents the network slice and optionally the associated network slice instance and the load level information. + type: object + properties: + loadLevelInformation: + $ref: '#/components/schemas/LoadLevelInformation' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiId: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + required: + - loadLevelInformation + - snssai + NsiIdInfo: + description: Represents the S-NSSAI and the optionally associated Network Slice Instance(s). + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiIds: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + minItems: 1 + required: + - snssai + EventReportingRequirement: + type: object + properties: + accuracy: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Accuracy' + startTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + sampRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + maxObjectNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxSupiNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + timeAnaNeeded: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + TargetUeInformation: + type: object + properties: + anyUe: + type: boolean + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + intGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + UeMobility: + type: object + properties: + ts: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + recurringTime: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + duration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + durationVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + locInfos: + type: array + items: + $ref: '#/components/schemas/LocationInfo' + minItems: 1 + required: + - duration + - locInfos + LocationInfo: + type: object + properties: + loc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - loc + UeCommunication: + type: object + properties: + commDur: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + commDurVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + perioTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + perioTimeVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + ts: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tsVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + recurringTime: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + trafChar: + $ref: '#/components/schemas/TrafficCharacterization' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - commDur + - trafChar + TrafficCharacterization: + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + fDescs: + type: array + items: + $ref: '#/components/schemas/IpEthFlowDescription' + minItems: 1 + maxItems: 2 + ulVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + ulVolVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + dlVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + dlVolVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + UserDataCongestionInfo: + type: object + properties: + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + congestionInfo: + $ref: '#/components/schemas/CongestionInfo' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + CongestionInfo: + type: object + properties: + congType: + $ref: '#/components/schemas/CongestionType' + timeIntev: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + nsi: + $ref: '#/components/schemas/ThresholdLevel' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - congType + - timeIntev + - nsi + QosSustainabilityInfo: + type: object + properties: + areaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + startTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qosFlowRetThd: + $ref: '#/components/schemas/RetainabilityThreshold' + ranUeThrouThd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + QosRequirement: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + gfbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + gfbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + resType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/QosResourceType' + pdb: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + per: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + ThresholdLevel: + type: object + properties: + congLevel: + type: integer + nfLoadLevel: + type: integer + nfCpuUsage: + type: integer + nfMemoryUsage: + type: integer + nfStorageUsage: + type: integer + NfLoadLevelInformation: + type: object + properties: + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + nfStatus: + $ref: '#/components/schemas/NfStatus' + nfCpuUsage: + type: integer + nfMemoryUsage: + type: integer + nfStorageUsage: + type: integer + nfLoadLevelAverage: + type: integer + nfLoadLevelpeak: + type: integer + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - nfType + - nfInstanceId + NfStatus: + type: object + properties: + statusRegistered: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + statusUnregistered: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + statusUndiscoverable: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + AnySlice: + type: boolean + description: FALSE represents not applicable for all slices. TRUE represents applicable for all slices. + LoadLevelInformation: + type: integer + description: Load level information of the network slice and the optionally associated network slice instance. + AbnormalBehaviour: + type: object + properties: + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + excep: + $ref: '#/components/schemas/Exception' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + addtMeasInfo: + $ref: '#/components/schemas/AdditionalMeasurement' + required: + - excep + Exception: + type: object + properties: + excepId: + $ref: '#/components/schemas/ExceptionId' + excepLevel: + type: integer + excepTrend: + $ref: '#/components/schemas/ExceptionTrend' + required: + - excepId + AdditionalMeasurement: + type: object + properties: + unexpLoc: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + unexpFlowTeps: + type: array + items: + $ref: '#/components/schemas/IpEthFlowDescription' + minItems: 1 + unexpWakes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minItems: 1 + ddosAttack: + $ref: '#/components/schemas/AddressList' + wrgDest: + $ref: '#/components/schemas/AddressList' + circums: + type: array + items: + $ref: '#/components/schemas/CircumstanceDescription' + minItems: 1 + IpEthFlowDescription: + type: object + properties: + ipTrafficFilter: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription' + ethTrafficFilter: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + AddressList: + type: object + properties: + ipv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + CircumstanceDescription: + type: object + properties: + freq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + tm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + locArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + vol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + RetainabilityThreshold: + type: object + properties: + relFlowNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + relTimeUnit: + $ref: '#/components/schemas/TimeUnit' + relFlowRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + NetworkPerfRequirement: + type: object + properties: + nwPerfType: + $ref: '#/components/schemas/NetworkPerfType' + relativeRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + absoluteNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - nwPerfType + NetworkPerfInfo: + type: object + properties: + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + nwPerfType: + $ref: '#/components/schemas/NetworkPerfType' + relativeRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + absoluteNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - networkArea + - nwPerfType + FailureEventInfo: + type: object + properties: + event: + $ref: '#/components/schemas/NwdafEvent' + failureCode: + $ref: '#/components/schemas/NwdafFailureCode' + required: + - event + - failureCode + NotificationMethod: + anyOf: + - type: string + enum: + - PERIODIC + - THRESHOLD + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - PERIODIC: The subscribe of NWDAF Event is periodically. The periodic of the notification is identified by repetitionPeriod defined in subclause 5.1.6.2.3. + - THRESHOLD: The subscribe of NWDAF Event is upon threshold exceeded. The threshold of the notification is identified by loadLevelThreshold defined in subclause 5.1.6.2.3. + NwdafEvent: + anyOf: + - type: string + enum: + - SLICE_LOAD_LEVEL + - NETWORK_PERFORMANCE + - NF_LOAD + - SERVICE_EXPERIENCE + - UE_MOBILITY + - UE_COMMUNICATION + - QOS_SUSTAINABILITY + - ABNORMAL_BEHAVIOUR + - USER_DATA_CONGESTION + - NSI_LOAD_LEVEL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SLICE_LOAD_LEVEL: Indicates that the event subscribed is load level information of Network Slice + - NETWORK_PERFORMANCE: Indicates that the event subscribed is network performance information. + - NF_LOAD: Indicates that the event subscribed is load level and status of one or several Network Functions. + - SERVICE_EXPERIENCE: Indicates that the event subscribed is service experience. + - UE_MOBILITY: Indicates that the event subscribed is UE mobility information. + - UE_COMMUNICATION: Indicates that the event subscribed is UE communication information. + - QOS_SUSTAINABILITY: Indicates that the event subscribed is QoS sustainability. + - ABNORMAL_BEHAVIOUR: Indicates that the event subscribed is abnormal behaviour. + - USER_DATA_CONGESTION: Indicates that the event subscribed is user data congestion information. + - NSI_LOAD_LEVEL: Indicates that the event subscribed is load level information of Network Slice and the optionally associated Network Slice Instance + Accuracy: + anyOf: + - type: string + enum: + - LOW + - HIGH + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - LOW: Low accuracy. + - HIGH: High accuracy. + CongestionType: + anyOf: + - type: string + enum: + - USER_PLANE + - CONTROL_PLANE + - USER_AND_CONTROL_PLANE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - USER_PLANE: The congestion analytics type is User Plane. + - CONTROL_PLANE: The congestion analytics type is Control Plane. + - USER_AND_CONTROL_PLANE: The congestion analytics type is User Plane and Control Plane. + ExceptionId: + anyOf: + - type: string + enum: + - UNEXPECTED_UE_LOCATION + - UNEXPECTED_LONG_LIVE_FLOW + - UNEXPECTED_LARGE_RATE_FLOW + - UNEXPECTED_WAKEUP + - SUSPICION_OF_DDOS_ATTACK + - WRONG_DESTINATION_ADDRESS + - TOO_FREQUENT_SERVICE_ACCESS + - UNEXPECTED_RADIO_LINK_FAILURES + - PING_PONG_ACROSS_CELLS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UNEXPECTED_UE_LOCATION: Unexpected UE location + - UNEXPECTED_LONG_LIVE_FLOW: Unexpected long-live rate flows + - UNEXPECTED_LARGE_RATE_FLOW: Unexpected large rate flows + - UNEXPECTED_WAKEUP: Unexpected wakeup + - SUSPICION_OF_DDOS_ATTACK: Suspicion of DDoS attack + - WRONG_DESTINATION_ADDRESS: Wrong destination address + - TOO_FREQUENT_SERVICE_ACCESS: Too frequent Service Access + - UNEXPECTED_RADIO_LINK_FAILURES: Unexpected radio link failures + - PING_PONG_ACROSS_CELLS: Ping-ponging across neighbouring cells + ExceptionTrend: + anyOf: + - type: string + enum: + - UP + - DOWN + - UNKNOW + - STABLE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UP: Up trend of the exception level. + - DOWN: Down trend of the exception level. + - UNKNOW: Unknown trend of the exception level. + - STABLE: Stable trend of the exception level. + TimeUnit: + anyOf: + - type: string + enum: + - MINUTE + - HOUR + - DAY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - MINUTE: Time unit is per minute. + - HOUR: Time unit is per hour. + - DAY: Time unit is per day. + NetworkPerfType: + anyOf: + - type: string + enum: + - GNB_ACTIVE_RATIO + - GNB_COMPUTING_USAGE + - GNB_MEMORY_USAGE + - GNB_DISK_USAGE + - NUM_OF_UE + - SESS_SUCC_RATIO + - HO_SUCC_RATIO + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - GNB_ACTIVE_RATIO: Indicates that the network performance requirement is gNodeB active (i.e. up and running) rate. Indicates the ratio of gNB active (i.e. up and running) number to the total number of gNB + - GNB_COMPUTING_USAGE: Indicates gNodeB computing resource usage. + - GNB_MEMORY_USAGE: Indicates gNodeB memory usage. + - GNB_DISK_USAGE: Indicates gNodeB disk usage. + - NUM_OF_UE: Indicates number of UEs. + - SESS_SUCC_RATIO: Indicates ratio of successful setup of PDU sessions to total PDU session setup attempts. + - SESS_SUCC_RATIO: Indicates Ratio of successful handovers to the total handover attempts. + ExpectedAnalyticsType: + anyOf: + - type: string + enum: + - MOBILITY + - COMMUN + - MOBILITY_AND_COMMUN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - MOBILITY: Mobility related abnormal behaviour analytics is expected by the consumer. + - COMMUN: Communication related abnormal behaviour analytics is expected by the consumer. + - MOBILITY_AND_COMMUN: Both mobility and communication related abnormal behaviour analytics is expected by the consumer. + MatchingDirection: + anyOf: + - type: string + enum: + - ASCENDING + - DESCENDING + - CROSSED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - ASCENDING: Threshold is crossed in ascending direction. + - DESCENDING: Threshold is crossed in descending direction. + - CROSSED: Threshold is crossed either in ascending or descending direction. + NwdafFailureCode: + anyOf: + - type: string + enum: + - UNAVAILABLE_DATA + - BOTH_STAT_PRED_NOT_ALLOWED + - OTHER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UNAVAILABLE_DATA: Indicates the requested statistics information for the event is rejected since necessary data to perform the service is unavailable. + - BOTH_STAT_PRED_NOT_ALLOWED: Indicates the requested analysis information for the event is rejected since the start time is in the past and the end time is in the future, which means the NF service consumer requested both statistics and prediction for the analytics. + - OTHER: Indicates the requested analysis information for the event is rejected due to other reasons. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29521_Nbsf_Management.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29521_Nbsf_Management.yaml new file mode 100644 index 000000000..3e0474959 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29521_Nbsf_Management.yaml @@ -0,0 +1,417 @@ +openapi: 3.0.0 +info: + version: 1.1.2 + title: Nbsf_Management + description: | + Binding Support Management Service API. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.521 V16.8.0; 5G System; Binding Support Management Service. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.521/' +servers: + - url: '{apiRoot}/nbsf-management/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - nbsf-management +paths: + /pcfBindings: + post: + summary: Create a new Individual PCF binding information + operationId: CreatePCFBinding + tags: + - PCF Bindings (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + responses: + '201': + description: The creation of an individual PCF session binding. + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nbsf-management/v1/pcfBindings/{bindingId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: The existing PCF binding information stored in the BSF for the indicated combination is returned. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Read PCF Bindings information + operationId: GetPCFBindings + tags: + - PCF Bindings (Collection) + parameters: + - name: ipv4Addr + in: query + description: The IPv4 Address of the served UE. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ipv6Prefix + in: query + description: The IPv6 Address of the served UE. The NF service consumer shall append '/128' to the IPv6 address in the attribute value. E.g. '2001:db8:85a3::8a2e:370:7334/128'. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: macAddr48 + in: query + description: The MAC Address of the served UE. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + - name: dnn + in: query + description: DNN. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: supi + in: query + description: Subscription Permanent Identifier. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: gpsi + in: query + description: Generic Public Subscription Identifier + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: snssai + in: query + description: The identification of slice. + required: false + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: ipDomain + in: query + description: The IPv4 address domain identifier. + required: false + schema: + type: string + - name: supp-feat + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The individual PCF session binding session binding information resource matching the query parameter(s) is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + '204': + description: There is no PCF session binding information matching the query parameter(s). + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /pcfBindings/{bindingId}: + delete: + summary: Delete an existing Individual PCF Binding information + operationId: DeleteIndPCFBinding + tags: + - Individual PCF Binding (Document) + parameters: + - name: bindingId + in: path + description: Represents the individual PCF Session Binding. + required: true + schema: + type: string + responses: + '204': + description: No Content. The Individual PCF session binding information resource is deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Update an existing Individual PCF Binding information + operationId: UpdateIndPCFBinding + tags: + - Individual PCF Binding (Document) + parameters: + - name: bindingId + in: path + description: Represents the individual PCF Session Binding. + required: true + schema: + type: string + requestBody: + description: Parameters to update the existing session binding + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PcfBindingPatch' + responses: + '200': + description: OK (Successful update of the session binding) + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nbsf-management: Access to the Nbsf_Management API + schemas: + PcfBinding: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + addIpv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + description: The additional IPv6 Address Prefixes of the served UE. + ipDomain: + type: string + macAddr48: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + addMacAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + description: The additional MAC Addresses of the served UE. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + pcfFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + pcfIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_PolicyAuthorization service. + pcfDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + pcfDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + pcfSmFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + pcfSmIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_SMPolicyControl service. + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + paraCom: + $ref: '#/components/schemas/ParameterCombination' + bindLevel: + $ref: '#/components/schemas/BindingLevel' + ipv4FrameRouteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrMask' + minItems: 1 + ipv6FrameRouteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + required: + - dnn + - snssai + PcfBindingPatch: + type: object + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrRm' + ipDomain: + type: string + nullable: true + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6PrefixRm' + addIpv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + description: The additional IPv6 Address Prefixes of the served UE. + nullable: true + macAddr48: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48Rm' + addMacAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + description: The additional MAC Addresses of the served UE. + nullable: true + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + pcfIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_PolicyAuthorization service. + pcfDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + pcfDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + ParameterCombination: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + ExtProblemDetails: + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/BindingResp' + BindingResp: + type: object + properties: + pcfSmFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + pcfSmIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_SMPolicyControl service. + BindingLevel: +# anyOf: +# - type: string + type: string + enum: + - NF_SET + - NF_INSTANCE +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - "NF_SET" +# - "NF_INSTANCE" diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_IPTVConfiguration.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_IPTVConfiguration.yaml new file mode 100644 index 000000000..b17686528 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_IPTVConfiguration.yaml @@ -0,0 +1,400 @@ +openapi: 3.0.0 +info: + title: 3gpp-iptvconfiguration + version: 1.0.1 + description: | + API for IPTV configuration. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.7.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-iptvconfiguration/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{afId}/configurations: + get: + summary: read all of the active configurations for the AF + tags: + - IPTV Configurations + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get all of the active configurations for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IptvConfigData' + minItems: 0 + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new configuration resource + tags: + - IPTV Configurations + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new configuration creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + responses: + '201': + description: Created (Successful creation of configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/configurations/{configurationId}: + get: + summary: read an active configuration for the AF and the configuration Id + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing configuration resource + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing configuration + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + responses: + '200': + description: OK (Successful deletion of the existing configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Partial updates an existing configuration resource + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/IptvConfigDataPatch' + responses: + '200': + description: OK. The configuration was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing configuration + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing configuration) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + IptvConfigData: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + afAppId: + type: string + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + multiAccCtrls: + type: object + additionalProperties: + $ref: '#/components/schemas/MulticastAccessControl' + minProperties: 1 + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afAppId + - multiAccCtrls + - suppFeat + IptvConfigDataPatch: + type: object + properties: + multiAccCtrls: + type: object + additionalProperties: + $ref: '#/components/schemas/MulticastAccessControl' + minProperties: 1 + MulticastAccessControl: + type: object + properties: + srcIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + srcIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + multicastV4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + multicastV6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + accStatus: + $ref: '#/components/schemas/AccessRightStatus' + required: + - accStatus + AccessRightStatus: + anyOf: + - type: string + enum: + - FULLY_ALLOWED + - PREVIEW_ALLOWED + - NO_ALLOWED + - type: string + description: > + Possible values are + - FULLY_ALLOWED: The User is fully allowed to access to the channel. + - PREVIEW_ALLOWED: The User is preview allowed to access to the channel. + - NO_ALLOWED: The User is not allowed to access to the channel. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_ServiceParameter.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_ServiceParameter.yaml new file mode 100644 index 000000000..fc7c02d2c --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_ServiceParameter.yaml @@ -0,0 +1,341 @@ +openapi: 3.0.0 +info: + title: 3gpp-service-parameter + version: 1.0.2 + description: | + API for AF service paramter + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.8.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-service-parameter/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/subscriptions: + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + get: + summary: read all of the active subscriptions for the AF + tags: + - Service Parameter Subscriptions + responses: + '200': + description: OK. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceParameterData' + minItems: 0 + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new subscription resource + tags: + - Service Parameter Subscriptions + requestBody: + description: Request to create a new subscription resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + responses: + '201': + description: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/subscriptions/{subscriptionId}: + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + get: + summary: read an active subscriptions for the SCS/AS and the subscription Id + tags: + - Individual Service Parameter Subscription + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing subscription resource + tags: + - Individual Service Parameter Subscription + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates/replaces an existing subscription resource + tags: + - Individual Service Parameter Subscription + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ServiceParameterDataPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing subscription + tags: + - Individual Service Parameter Subscription + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + ServiceParameterData: + type: object + properties: + afServiceId: + type: string + description: Identifies a service on behalf of which the AF is issuing the request. + appId: + type: string + description: Identifies an application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + anyUeInd: + type: boolean + description: Identifies whether the AF request applies to any UE. This attribute shall set to "true" if applicable for any UE, otherwise, set to "false". + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ueIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + paramOverPc5: + $ref: '#/components/schemas/ParameterOverPc5' + paramOverUu: + $ref: '#/components/schemas/ParameterOverUu' + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ServiceParameterDataPatch: + type: object + properties: + paramOverPc5: + $ref: '#/components/schemas/ParameterOverPc5Rm' + paramOverUu: + $ref: '#/components/schemas/ParameterOverUuRm' + ParameterOverPc5: + type: string + ParameterOverPc5Rm: + type: string + nullable: true + ParameterOverUu: + type: string + ParameterOverUuRm: + type: string + nullable: true diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_TrafficInfluence.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_TrafficInfluence.yaml new file mode 100644 index 000000000..9c336f0b1 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29522_TrafficInfluence.yaml @@ -0,0 +1,594 @@ +openapi: 3.0.0 +info: + title: 3gpp-traffic-influence + version: 1.1.2 + description: | + API for AF traffic influence + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.7.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-traffic-influence/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/subscriptions: + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + get: + summary: read all of the active subscriptions for the AF + tags: + - Traffic Influence Subscription + responses: + '200': + description: OK. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrafficInfluSub' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new subscription resource + tags: + - Traffic Influence Subscription + requestBody: + description: Request to create a new subscription resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventNotification' + callbacks: + afAcknowledgement: + '{request.body#/afAckUri}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AfAckInfo' + responses: + '204': + description: No Content (successful acknowledgement) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '204': + description: No Content (successful notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/subscriptions/{subscriptionId}: + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + get: + summary: read an active subscriptions for the SCS/AS and the subscription Id + tags: + - Individual Traffic Influence Subscription + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing subscription resource + tags: + - Individual Traffic Influence Subscription + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates/replaces an existing subscription resource + tags: + - Individual Traffic Influence Subscription + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/TrafficInfluSubPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing subscription + tags: + - Individual Traffic Influence Subscription + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + TrafficInfluSub: + type: object + properties: + afServiceId: + type: string + description: Identifies a service on behalf of which the AF is issuing the request. + afAppId: + type: string + description: Identifies an application. + afTransId: + type: string + description: Identifies an NEF Northbound interface transaction, generated by the AF. + appReloInd: + type: boolean + description: Identifies whether an application can be relocated once a location of the application has been selected. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + anyUeInd: + type: boolean + description: Identifies whether the AF request applies to any UE. This attribute shall set to "true" if applicable for any UE, otherwise, set to "false". + subscribedEvents: + type: array + items: + $ref: '#/components/schemas/SubscribedEvent' + minItems: 1 + description: Identifies the requirement to be notified of the event(s). + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ipv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipDomain: + type: string + ipv6Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + macAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the NEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Identifies IP packet filters. + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet filters. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + tfcCorrInd: + type: boolean + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + validGeoZoneIds: + type: array + items: + type: string + minItems: 1 + description: Identifies a geographic zone that the AF request applies only to the traffic of UE(s) located in this specific zone. + afAckInd: + type: boolean + addrPreserInd: + type: boolean + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + allOf: + - oneOf: + - required: [afAppId] + - required: [trafficFilters] + - required: [ethTrafficFilters] + - oneOf: + - required: [ipv4Addr] + - required: [ipv6Addr] + - required: [macAddr] + - required: [gpsi] + - required: [externalGroupId] + - required: [anyUeInd] + anyOf: + - not: + required: [subscribedEvents] + - required: [notificationDestination] + TrafficInfluSubPatch: + type: object + properties: + appReloInd: + type: boolean + description: Identifies whether an application can be relocated once a location of the application has been selected. + nullable: true + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Identifies IP packet filters. + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet filters. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + tfcCorrInd: + type: boolean + nullable: true + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + minItems: 1 + nullable: true + validGeoZoneIds: + type: array + items: + type: string + minItems: 1 + description: Identifies a geographic zone that the AF request applies only to the traffic of UE(s) located in this specific zone. + nullable: true + afAckInd: + type: boolean + nullable: true + addrPreserInd: + type: boolean + nullable: true + EventNotification: + type: object + properties: + afTransId: + type: string + description: Identifies an NEF Northbound interface transaction, generated by the AF. + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + sourceTrafficRoute: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + subscribedEvent: + $ref: '#/components/schemas/SubscribedEvent' + targetTrafficRoute: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + sourceDnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + targetDnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + srcUeIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + srcUeIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + tgtUeIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + tgtUeIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + afAckUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + required: + - dnaiChgType + - subscribedEvent + AfResultInfo: + type: object + properties: + afStatus: + $ref: '#/components/schemas/AfResultStatus' + trafficRoute: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + required: + - afStatus + AfAckInfo: + type: object + properties: + afTransId: + type: string + ackResult: + $ref: '#/components/schemas/AfResultInfo' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + required: + - ackResult + SubscribedEvent: + anyOf: + - type: string + enum: + - UP_PATH_CHANGE + - type: string + description: > + Possible values are + - UP_PATH_CHANGE: The AF requests to be notified when the UP path changes for the PDU session. + AfResultStatus: + anyOf: + - type: string + enum: + - SUCCESS + - TEMPORARY_CONGESTION + - RELOC_NO_ALLOWED + - OTHER + - type: string + description: > + Possible values are + - SUCCESS: The application layer is ready or the relocation is completed. + - TEMPORARY_CONGESTION: The application relocation fails due to temporary congestion. + - RELOC_NO_ALLOWED: The application relocation fails because application relocation is not allowed. + - OTHER: The application relocation fails due to other reason. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29531_Nnssf_NSSelection.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29531_Nnssf_NSSelection.yaml new file mode 100644 index 000000000..23fd9d6c9 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29531_Nnssf_NSSelection.yaml @@ -0,0 +1,327 @@ +openapi: 3.0.0 + +info: + version: '2.1.2' + title: 'NSSF NS Selection' + description: | + NSSF Network Slice Selection Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +security: + - {} + - oAuth2ClientCredentials: + - nnssf-nsselection +servers: + - url: '{apiRoot}/nnssf-nsselection/v2' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +externalDocs: + description: 3GPP TS 29.531 V16.7.0; 5G System; Network Slice Selection Services; Stage 3 + url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.531/ +paths: + /network-slice-information: + get: + summary: Retrieve the Network Slice Selection Information + tags: + - Network Slice Information (Document) + operationId: NSSelectionGet + parameters: + - name: nf-type + in: query + description: NF type of the NF service consumer + required: true + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - name: nf-id + in: query + description: NF Instance ID of the NF service consumer + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: slice-info-request-for-registration + in: query + description: Requested network slice information during Registration procedure + content: + application/json: + schema: + $ref: '#/components/schemas/SliceInfoForRegistration' + - name: slice-info-request-for-pdu-session + in: query + description: Requested network slice information during PDU session establishment procedure + content: + application/json: + schema: + $ref: '#/components/schemas/SliceInfoForPDUSession' + - name: slice-info-request-for-ue-cu + in: query + description: Requested network slice information during UE confuguration update procedure + content: + application/json: + schema: + $ref: '#/components/schemas/SliceInfoForUEConfigurationUpdate' + - name: home-plmn-id + in: query + description: PLMN ID of the HPLMN + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: tai + in: query + description: TAI of the UE + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + - name: supported-features + in: query + description: Features required to be supported by the NFs in the target slice instance + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + responses: + '200': + description: OK (Successful Network Slice Selection) + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizedNetworkSliceInfo' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnssf-nsselection: Access to the Nnssf_NSSelection API + schemas: + AuthorizedNetworkSliceInfo: + type: object + properties: + allowedNssaiList: + type: array + items: + $ref: '#/components/schemas/AllowedNssai' + minItems: 1 + configuredNssai: + type: array + items: + $ref: '#/components/schemas/ConfiguredSnssai' + minItems: 1 + targetAmfSet: + type: string + pattern: '^[0-9]{3}-[0-9]{2-3}-[A-Fa-f0-9]{2}-[0-3][A-Fa-f0-9]{2}$' + candidateAmfList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + rejectedNssaiInPlmn: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + rejectedNssaiInTa: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nsiInformation: + $ref: '#/components/schemas/NsiInformation' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nrfAmfSet: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfAmfSetNfMgtUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfAmfSetAccessTokenUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + targetAmfServiceSet: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + + SubscribedSnssai: + type: object + required: + - subscribedSnssai + properties: + subscribedSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + defaultIndication: + type: boolean + + + AllowedSnssai: + type: object + required: + - allowedSnssai + properties: + allowedSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiInformationList: + type: array + items: + $ref: '#/components/schemas/NsiInformation' + minItems: 1 + mappedHomeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + AllowedNssai: + type: object + required: + - allowedSnssaiList + - accessType + properties: + allowedSnssaiList: + type: array + items: + $ref: '#/components/schemas/AllowedSnssai' + minItems: 1 + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + + NsiInformation: + type: object + required: + - nrfId + properties: + nrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nsiId: + $ref: '#/components/schemas/NsiId' + nrfNfMgtUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfAccessTokenUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + MappingOfSnssai: + type: object + required: + - servingSnssai + - homeSnssai + properties: + servingSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + homeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + + SliceInfoForRegistration: + type: object + properties: + subscribedNssai: + type: array + items: + $ref: '#/components/schemas/SubscribedSnssai' + minItems: 1 + allowedNssaiCurrentAccess: + $ref: '#/components/schemas/AllowedNssai' + allowedNssaiOtherAccess: + $ref: '#/components/schemas/AllowedNssai' + sNssaiForMapping: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + requestedNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + defaultConfiguredSnssaiInd: + type: boolean + mappingOfNssai: + type: array + items: + $ref: '#/components/schemas/MappingOfSnssai' + minItems: 1 + requestMapping: + type: boolean + + SliceInfoForPDUSession: + type: object + required: + - sNssai + - roamingIndication + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + roamingIndication: + $ref: '#/components/schemas/RoamingIndication' + homeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + SliceInfoForUEConfigurationUpdate: + type: object + properties: + subscribedNssai: + type: array + items: + $ref: '#/components/schemas/SubscribedSnssai' + minItems: 1 + allowedNssaiCurrentAccess: + $ref: '#/components/schemas/AllowedNssai' + allowedNssaiOtherAccess: + $ref: '#/components/schemas/AllowedNssai' + defaultConfiguredSnssaiInd: + type: boolean + requestedNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + mappingOfNssai: + type: array + items: + $ref: '#/components/schemas/MappingOfSnssai' + minItems: 1 + + ConfiguredSnssai: + type: object + required: + - configuredSnssai + properties: + configuredSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + mappedHomeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + + RoamingIndication: +# anyOf: +# - type: string + type: string + enum: + - NON_ROAMING + - LOCAL_BREAKOUT + - HOME_ROUTED_ROAMING +# - type: string + NsiId: + type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29544_Nspaf_SecuredPacket.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29544_Nspaf_SecuredPacket.yaml new file mode 100644 index 000000000..89c8b9900 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29544_Nspaf_SecuredPacket.yaml @@ -0,0 +1,94 @@ +openapi: 3.0.0 +info: + title: 'Nspaf_SecuredPacket' + version: '1.0.1' + description: | + Nspaf Secured Packet Service. + 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.544, SP-AF Services, version V16.2.0 + url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.544/ +servers: + - url: '{apiRoot}/nspaf-secured-packet/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nspaf-secured-packet +paths: + /{supi}/provide-secured-packet: + post: + summary: request generation of a secured packet + operationId: ProvideSecuredPacket + tags: + - SecuredPacket Generation (Custom Operation) + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UiccConfigurationParameter' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SecuredPacket' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nspaf-secured-packet: Access to the nspaf-secured-packet API + schemas: + +# COMPLEX TYPES: + + UiccConfigurationParameter: + type: object + oneOf: + - required: [routingId ] + - required: [steeringContainer ] + properties: + routingId: + $ref: '#/components/schemas/RoutingId' + steeringContainer: + type: array + items: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SteeringInfo' + minItems: 1 + +# SIMPLE TYPES: + + RoutingId: + type: string + pattern: '^[0-9]{1,4}$' + +# ENUMS: + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29551_Nnef_PFDmanagement.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29551_Nnef_PFDmanagement.yaml new file mode 100644 index 000000000..00296d5d2 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29551_Nnef_PFDmanagement.yaml @@ -0,0 +1,417 @@ +openapi: 3.0.0 +info: + title: Nnef_PFDmanagement Service API + version: 1.1.2 + description: | + Packet Flow Description Management Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +# +externalDocs: + description: 3GPP TS 29.551 v16.8.0, 5G System; Packet Flow Description Management Service + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.551/' +# +servers: + - url: '{apiRoot}/nnef-pfdmanagement/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nnef-pfdmanagement +paths: + /applications: + get: + summary: Retrieve PFDs for all applications or for one or multiple applications with query parameter. + tags: + - PFD of applications + operationId: Nnef_PFDmanagement_AllFetch + parameters: + - name: application-ids + description: The required application identifier(s) for the returned PFDs. + in: query + required: true + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The PFDs for one or more application identifier(s) in the request URI are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdDataForApp' + minItems: 0 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + /applications/{appId}: + get: + summary: Retrieve the PFD for an application. + tags: + - Individual application PFD + operationId: Nnef_PFDmanagement_IndAppFetch + parameters: + - name: appId + description: The required application identifier(s) for the returned PFDs. + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: A representation of PFDs for an application in the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForApp' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + /subscriptions: + post: + summary: Subscribe the notification of PFD changes. + tags: + - PFD subscriptions + operationId: Nnef_PFDmanagement_CreateSubscr + requestBody: + description: a PfdSubscription resource to be created. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + callbacks: + PfdChangeNotification: + '{request.body#/notifyUri}': + post: + summary: Notification of PFD change. + tags: + - PfdChangeNotification data + operationId: Nnef_PFDmanagement_Notify + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdChangeNotification' + minItems: 1 + responses: + '200': + description: The PFD operation in the notification is performed and the PfdChangeReport indicates failure reason. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdChangeReport' + minItems: 1 + '204': + description: The PFD operation in the notification is performed successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + + responses: + '201': + description: The creation of a PfdSubscription resource is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnef-pfdmanagement/v1/subscriptions/{subscriptionId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + /subscriptions/{subscriptionId}: + put: + summary: Updates/replaces an existing subscription resource + tags: + - Individual PFD subscription + operationId: Nnef_PFDmanagement_ModifySubscr + parameters: + - name: subscriptionId + description: Identify the subscription. + in: path + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete a subscription of PFD change notification. + tags: + - Individual PFD subscription + operationId: Nnef_PFDmanagement_Unsubscribe + parameters: + - name: subscriptionId + description: Identify the subscription. + in: path + required: true + schema: + type: string + responses: + '204': + description: The PfdSubscription resource matching the subscriptionId was deleted successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnef-pfdmanagement: Access to the Nnef_PFDmanagement API + schemas: +# +# STRUCTURED DATA TYPES +# + PfdContent: + type: object + properties: + pfdId: + type: string + description: Identifies a PDF of an application identifier. + flowDescriptions: + type: array + items: + type: string + minItems: 1 + description: Represents a 3-tuple with protocol, server ip and server port for UL/DL application traffic. + urls: + type: array + items: + type: string + minItems: 1 + description: Indicates a URL or a regular expression which is used to match the significant parts of the URL. + domainNames: + type: array + items: + type: string + minItems: 1 + description: Indicates an FQDN or a regular expression as a domain name matching criteria. + dnProtocol: + $ref: 'TS29122_PfdManagement.yaml#/components/schemas/DomainNameProtocol' + + + PfdDataForApp: + type: object + properties: + applicationId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + pfds: + type: array + items: + $ref: '#/components/schemas/PfdContent' + minItems: 1 + cachingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - applicationId + - pfds + + PfdSubscription: + type: object + properties: + applicationIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notifyUri + - supportedFeatures + + PfdChangeNotification: + type: object + properties: + applicationId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + removalFlag: + type: boolean + default: false + partialFlag: + type: boolean + default: false + pfds: + type: array + items: + $ref: '#/components/schemas/PfdContent' + minItems: 1 + required: + - applicationId + + PfdChangeReport: + type: object + properties: + pfdError: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + applicationId: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + required: + - pfdError + - applicationId diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29554_Npcf_BDTPolicyControl.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29554_Npcf_BDTPolicyControl.yaml new file mode 100644 index 000000000..17c6f1e62 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29554_Npcf_BDTPolicyControl.yaml @@ -0,0 +1,423 @@ +openapi: 3.0.0 +info: + title: Npcf_BDTPolicyControl Service API + version: 1.1.3 + description: | + PCF BDT Policy Control Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +# +externalDocs: + description: 3GPP TS 29.554 V16.7.0; 5G System; Background Data Transfer Policy Control Service. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.554/' +# +servers: + - url: '{apiRoot}/npcf-bdtpolicycontrol/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - npcf-bdtpolicycontrol +paths: + /bdtpolicies: + post: + summary: Create a new Individual BDT policy + operationId: CreateBDTPolicy + tags: + - BDT policies (Collection) + requestBody: + description: Contains information for the creation of a new Individual BDT policy resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BdtReqData' + responses: + '201': + description: Background data transfer policies offered to an ASP. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicy' + headers: + Location: + description: 'Contains the URI of the created individual BDT policy resource, according to the structure: {apiRoot}/npcf-bdtpolicycontrol/v1/bdtpolicies/{bdtPolicyId}' + required: true + schema: + type: string +# +# Error scenarios POST +# + '303': + description: See Other. The result of the POST request would be equivalent to the existing Individual BDT policy resource. + headers: + Location: + description: 'Contains the URI of the existing individual BDT policy resource.' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +# End error scenarios POST +# + callbacks: + BdtNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Notification' + responses: + '204': + description: No Content, a reception of the BDT notification was successful. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# + /bdtpolicies/{bdtPolicyId}: + get: + summary: Read an Individual BDT policy + operationId: GetBDTPolicy + tags: + - Individual BDT policy (Document) + parameters: + - name: bdtPolicyId + description: String identifying the individual BDT policy resource in the PCF. + in: path + required: true + schema: + type: string + responses: + '200': + description: Background data transfer policies offered to and selected by an ASP. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicy' +# +# Redirection scenarios GET +# + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' +# +# Error scenarios GET +# + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +# End error scenarios GET +# + patch: + summary: Update an Individual BDT policy + operationId: UpdateBDTPolicy + tags: + - Individual BDT policy (Document) + parameters: + - name: bdtPolicyId + description: String identifying the individual BDT policy resource in the PCF. + in: path + required: true + schema: + type: string + requestBody: + description: Contains modification instruction to be performed on the BdtPolicy data structure to select a transfer policy and in addition, may indicate whether the BDT warning notification is enabled or disabled. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PatchBdtPolicy' + responses: + '200': + description: The Individual BDT Policy resource is modified and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicy' + '204': + description: The Individual BDT Policy resource is modified. +# +# Redirection scenarios PATCH +# + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' +# +# Error scenarios PATCH +# + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +# End error scenarios PATCH +# +# +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-bdtpolicycontrol: Access to the Npcf_BDTPolicyControl API + schemas: +# +# Structured data types +# + BdtPolicy: + description: Represents an Individual BDT policy resource. + type: object + properties: + bdtPolData: + $ref: '#/components/schemas/BdtPolicyData' + bdtReqData: + $ref: '#/components/schemas/BdtReqData' +# + BdtReqData: + description: Contains service requirements for creation a new Individual BDT policy resource. + type: object + required: + - aspId + - desTimeInt + - numOfUes + - volPerUe + properties: + aspId: + $ref: '#/components/schemas/AspId' + desTimeInt: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nwAreaInfo: + $ref: '#/components/schemas/NetworkAreaInfo' + numOfUes: + description: Indicates a number of UEs. + type: integer + volPerUe: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + trafficDes: + $ref: 'TS29122_ResourceManagementOfBdt.yaml#/components/schemas/TrafficDescriptor' + warnNotifReq: + description: Indicates whether the BDT warning notification is enabled or disabled. + type: boolean + default: false +# + BdtPolicyData: + description: Describes the authorization data of an Individual BDT policy resource. + type: object + required: + - bdtRefId + - transfPolicies + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + transfPolicies: + description: Contains transfer policies. + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + selTransPolicyId: + description: Contains an identity of the selected transfer policy. + type: integer + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' +# + PatchBdtPolicy: + description: Describes the updates in authorization data of an Individual BDT Policy created by the PCF. + type: object + properties: + bdtPolData: + $ref: '#/components/schemas/BdtPolicyDataPatch' + bdtReqData: + $ref: '#/components/schemas/BdtReqDataPatch' +# + BdtPolicyDataPatch: + description: A JSON Merge Patch body schema containing modification instruction to be performed on the bdtPolData attribute of the BdtPolicy data structure to select a transfer policy. Adds selTransPolicyId to BdtPolicyData data structure. + type: object + required: + - selTransPolicyId + properties: + selTransPolicyId: + description: Contains an identity (i.e. transPolicyId value) of the selected transfer policy. If the BdtNotification_5G feature is supported value 0 indicates that no transfer policy is selected. + type: integer +# + BdtReqDataPatch: + description: A JSON Merge Patch body schema containing modification instruction to be performed on the bdtReqData attribute of the BdtPolicy data structure to indicate whether the BDT warning notification is enabled or disabled. Modifies warnNotifReq from BdtReqData data structure. + type: object + properties: + warnNotifReq: + description: Indicates whether the BDT warning notification is enabled or disabled. + type: boolean +# + TransferPolicy: + description: Describes a transfer policy. + type: object + required: + - ratingGroup + - recTimeInt + - transPolicyId + properties: + maxBitRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxBitRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ratingGroup: + description: Indicates a rating group for the recommended time window. + type: integer + recTimeInt: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + transPolicyId: + description: Contains an identity of a transfer policy. + type: integer + NetworkAreaInfo: + description: Describes a network area information in which the NF service consumer requests the number of UEs. + type: object + properties: + ecgis: + description: Contains a list of E-UTRA cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + minItems: 1 + ncgis: + description: Contains a list of NR cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + minItems: 1 + gRanNodeIds: + description: Contains a list of NG RAN nodes. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + tais: + description: Contains a list of tracking area identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 +# + Notification: + description: Describes a BDT notification. + type: object + required: + - bdtRefId + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + candPolicies: + description: Contains a list of the candidate transfer policies from which the AF may select a new transfer policy due to a network performance is below the criteria set by the operator. + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + nwAreaInfo: + $ref: '#/components/schemas/NetworkAreaInfo' + timeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' +# +# Simple data types +# + AspId: + description: Contains an identity of an application service provider. + type: string +# +# diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29571_CommonData.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29571_CommonData.yaml new file mode 100644 index 000000000..61ca780c6 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29571_CommonData.yaml @@ -0,0 +1,2882 @@ +openapi: 3.0.0 + +info: + version: '1.2.4' + title: 'Common Data Types' + description: | + Common Data Types for Service Based Interfaces. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.571 Common Data Types for Service Based Interfaces, version 16.8.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.571/' + +paths: {} +components: + schemas: + +# +# Common Data Types for Generic usage definitiones as defined in clause 5.2 +# + +# +# COMMON SIMPLE DATA TYPES +# + Binary: + format: binary + type: string + BinaryRm: + format: binary + type: string + nullable: true + Bytes: + format: byte + type: string + BytesRm: + format: byte + type: string + nullable: true + Date: + format: date + type: string + DateRm: + format: date + type: string + nullable: true + DateTime: + format: date-time + type: string + DateTimeRm: + format: date-time + type: string + nullable: true + DiameterIdentity: + type: string + pattern: '^([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}$' + DiameterIdentityRm: + type: string + pattern: '^([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}$' + nullable: true + Double: + format: double + type: number + DoubleRm: + format: double + type: number + nullable: true + DurationSec: + type: integer + DurationSecRm: + type: integer + nullable: true + Float: + format: float + type: number + FloatRm: + format: float + type: number + nullable: true + Int32: + format: int32 + type: integer + Int32Rm: + format: int32 + type: integer + nullable: true + Int64: + type: integer + format: int64 + Int64Rm: + format: int64 + type: integer + nullable: true + 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' + Ipv4AddrRm: + 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' + nullable: true + Ipv4AddrMask: + 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])(\/([0-9]|[1-2][0-9]|3[0-2]))$' + example: '198.51.0.0/16' + Ipv4AddrMaskRm: + 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])(\/([0-9]|[1-2][0-9]|3[0-2]))$' + example: '198.51.0.0/16' + nullable: true + 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' + Ipv6AddrRm: + 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' + nullable: true + 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' + Ipv6PrefixRm: + 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}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$' +# nullable: true + MacAddr48: + type: string + pattern: '^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$' + MacAddr48Rm: + type: string + pattern: '^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$' + nullable: true + SupportedFeatures: + type: string + pattern: '^[A-Fa-f0-9]*$' + Uinteger: + type: integer + minimum: 0 + UintegerRm: + type: integer + minimum: 0 + nullable: true + Uint16: + type: integer + minimum: 0 + maximum: 65535 + Uint16Rm: + type: integer + minimum: 0 + maximum: 65535 + nullable: true + Uint32: + type: integer + minimum: 0 + maximum: 4294967295 #(2^32)-1 + Uint32Rm: + format: int32 + type: integer + minimum: 0 + maximum: 4294967295 #(2^32)-1 + nullable: true + Uint64: + type: integer + minimum: 0 + maximum: 18446744073709551615 #(2^64)-1 + Uint64Rm: + type: integer + minimum: 0 + maximum: 18446744073709551615 #(2^64)-1 + nullable: true + Uri: + type: string + UriRm: + type: string + nullable: true + VarUeId: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|gci-.+|gli-.+|.+)$' + VarUeIdRm: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|gci-.+|gli-.+|.+)$' + nullable: true + TimeZone: + type: string + TimeZoneRm: + type: string + nullable: true + StnSr: + type: string + StnSrRm: + type: string + nullable: true + CMsisdn: + type: string + pattern: '^[0-9]{5,15}$' + CMsisdnRm: + type: string + pattern: '^[0-9]{5,15}$' + nullable: true + DayOfWeek: + type: integer + minimum: 1 + maximum: 7 + description: integer between and including 1 and 7 denoting a weekday. 1 shall indicate Monday, and the subsequent weekdays shall be indicated with the next higher numbers. 7 shall indicate Sunday. + TimeOfDay: + type: string + description: String with format partial-time or full-time as defined in clause 5.6 of IETF RFC 3339. Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). +# +# COMMON ENUMERATED DATA TYPES +# + + PatchOperation: +# anyOf: +# - type: string + type: string + enum: + - add + - copy + - move + - remove + - replace + - test +# - type: string + UriScheme: +# anyOf: +# - type: string + type: string + enum: + - http + - https +# - type: string + ChangeType: +# anyOf: +# - type: string + type: string + enum: + - ADD + - MOVE + - REMOVE + - REPLACE +# - type: string + HttpMethod: +# anyOf: +# - type: string + type: string + enum: + - GET + - POST + - PUT + - DELETE + - PATCH + - OPTIONS + - HEAD + - CONNECT + - TRACE +# - type: string + NullValue: + enum: + - null + +# +# COMMON STRUCTURED DATA TYPES +# + + ProblemDetails: + type: object + properties: + type: + $ref: '#/components/schemas/Uri' + title: + type: string + status: + type: integer + detail: + type: string + instance: + $ref: '#/components/schemas/Uri' + cause: + type: string + invalidParams: + type: array + items: + $ref: '#/components/schemas/InvalidParam' + minItems: 1 + supportedFeatures: + $ref: '#/components/schemas/SupportedFeatures' + accessTokenError: + $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenErr' + accessTokenRequest: + $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenReq' + nrfId: + type: string + Link: + type: object + properties: + href: + $ref: '#/components/schemas/Uri' + LinkRm: + type: object + properties: + href: + $ref: '#/components/schemas/Uri' + nullable: true + PatchItem: + type: object + properties: + op: + $ref: '#/components/schemas/PatchOperation' + path: + type: string + from: + type: string + value: {} + required: + - op + - path + LinksValueSchema: + oneOf: + - type: array + items: + $ref: '#/components/schemas/Link' + minItems: 1 + - $ref: '#/components/schemas/Link' + SelfLink: + type: object + properties: + self: + $ref: '#/components/schemas/Link' + required: + - self + InvalidParam: + type: object + properties: + param: + type: string + reason: + type: string + required: + - param + ChangeItem: + type: object + properties: + op: + $ref: '#/components/schemas/ChangeType' + path: + type: string + from: + type: string + origValue: {} + newValue: {} + required: + - op + - path + NotifyItem: + type: object + required: + - resourceId + - changes + properties: + resourceId: + $ref: '#/components/schemas/Uri' + changes: + type: array + items: + $ref: '#/components/schemas/ChangeItem' + minItems: 1 + ComplexQuery: + oneOf: + - $ref: '#/components/schemas/Cnf' + - $ref: '#/components/schemas/Dnf' + Cnf: + type: object + required: + - cnfUnits + properties: + cnfUnits: + type: array + items: + $ref: '#/components/schemas/CnfUnit' + minItems: 1 + Dnf: + type: object + required: + - dnfUnits + properties: + dnfUnits: + type: array + items: + $ref: '#/components/schemas/DnfUnit' + minItems: 1 + CnfUnit: + type: object + required: + - cnfUnit + properties: + cnfUnit: + type: array + items: + $ref: '#/components/schemas/Atom' + minItems: 1 + DnfUnit: + type: object + required: + - dnfUnit + properties: + dnfUnit: + type: array + items: + $ref: '#/components/schemas/Atom' + minItems: 1 + Atom: + type: object + required: + - attr + - value + properties: + attr: + type: string +# value: {} + value: + type: string + negative: + type: boolean + PatchResult: + type: object + required: + - report + properties: + report: + type: array + items: + $ref: '#/components/schemas/ReportItem' + minItems: 1 + ReportItem: + type: object + required: + - path + properties: + path: + type: string + HalTemplate: + type: object + required: + - method + properties: + title: + type: string + method: + $ref: '#/components/schemas/HttpMethod' + contentType: + type: string + properties: + type: array + items: + $ref: '#/components/schemas/Property' + minItems: 1 + Property: + type: object + required: + - name + properties: + name: + type: string + required: + type: boolean + regex: + type: string + value: + type: string + RedirectResponse: + type: object + properties: + cause: + type: string + targetScp: + $ref: '#/components/schemas/Uri' + + + + +# +# Data Types related to Subscription, Identification and Numbering as defined in clause 5.3 +# + +# +# SIMPLE DATA TYPES +# + Dnn: + type: string + DnnRm: + type: string + nullable: true + WildcardDnn: + type: string + pattern: '^[*]$' + WildcardDnnRm: + type: string + pattern: '^[*]$' + nullable: true + Gpsi: + type: string + pattern: '^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$' + GpsiRm: + type: string + pattern: '^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$' + nullable: true + GroupId: + type: string + pattern: '^[A-Fa-f0-9]{8}-[0-9]{3}-[0-9]{2,3}-([A-Fa-f0-9][A-Fa-f0-9]){1,10}$' + GroupIdRm: + type: string + pattern: '^[A-Fa-f0-9]{8}-[0-9]{3}-[0-9]{2,3}-([A-Fa-f0-9][A-Fa-f0-9]){1,10}$' + nullable: true + ExternalGroupId: + type: string + pattern: '^extgroupid-[^@]+@[^@]+$' + ExternalGroupIdRm: + type: string + pattern: '^extgroupid-[^@]+@[^@]+$' + nullable: true + Pei: + type: string + pattern: '^(imei-[0-9]{15}|imeisv-[0-9]{16}|mac((-[0-9a-fA-F]{2}){6})(-untrusted)?|eui((-[0-9a-fA-F]{2}){8})|.+)$' + PeiRm: + type: string + pattern: '^(imei-[0-9]{15}|imeisv-[0-9]{16}|mac((-[0-9a-fA-F]{2}){6})(-untrusted)?|eui((-[0-9a-fA-F]{2}){8})|.+)$' + nullable: true + Supi: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gci-.+|gli-.+|.+)$' + SupiRm: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gci-.+|gli-.+|.+)$' + nullable: true + NfInstanceId: + type: string + format: uuid + AmfId: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + AmfRegionId: + type: string + pattern: '^[A-Fa-f0-9]{2}$' + AmfSetId: + type: string + pattern: '^[0-3][A-Fa-f0-9]{2}$' + RfspIndex: + type: integer + minimum: 1 + maximum: 256 + RfspIndexRm: + type: integer + minimum: 1 + maximum: 256 + nullable: true + NfGroupId: + type: string + MtcProviderInformation: + type: string + CagId: + type: string + pattern: '^[A-Fa-f0-9]{8}$' + SupiOrSuci: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.+|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$' + +# +# STRUCTURED DATA TYPES +# + Guami: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnIdNid' + amfId: + $ref: '#/components/schemas/AmfId' + required: + - plmnId + - amfId + GuamiRm: + anyOf: + - $ref: '#/components/schemas/Guami' + - $ref: '#/components/schemas/NullValue' + NetworkId: + type: object + properties: + mnc: + $ref: '#/components/schemas/Mnc' + mcc: + $ref: '#/components/schemas/Mcc' + + +# +# Data Types related to 5G Network as defined in clause 5.4 +# + +# +# SIMPLE DATA TYPES +# + ApplicationId: + type: string + ApplicationIdRm: + type: string + nullable: true + PduSessionId: + type: integer + minimum: 0 + maximum: 255 + Mcc: + type: string + pattern: '^\d{3}$' + MccRm: + type: string + pattern: '^\d{3}$' + nullable: true + Mnc: + type: string + pattern: '^\d{2,3}$' + MncRm: + type: string + pattern: '^\d{2,3}$' + nullable: true + Tac: + type: string + pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' + TacRm: + type: string + pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' + nullable: true + EutraCellId: + type: string + pattern: '^[A-Fa-f0-9]{7}$' + EutraCellIdRm: + type: string + pattern: '^[A-Fa-f0-9]{7}$' + nullable: true + NrCellId: + type: string + pattern: '^[A-Fa-f0-9]{9}$' + NrCellIdRm: + type: string + pattern: '^[A-Fa-f0-9]{9}$' + nullable: true + Dnai: + type: string + DnaiRm: + type: string + nullable: true + 5GMmCause: + $ref: '#/components/schemas/Uinteger' + AmfName: + type: string + AreaCode: + type: string + AreaCodeRm: + type: string + nullable: true + N3IwfId: + type: string + pattern: '^[A-Fa-f0-9]+$' + WAgfId: + type: string + pattern: '^[A-Fa-f0-9]+$' + TngfId: + type: string + pattern: '^[A-Fa-f0-9]+$' + NgeNbId: + type: string + pattern: '^(MacroNGeNB-[A-Fa-f0-9]{5}|LMacroNGeNB-[A-Fa-f0-9]{6}|SMacroNGeNB-[A-Fa-f0-9]{5})$' + Nid: + type: string + pattern: '^[A-Fa-f0-9]{11}$' + NidRm: + type: string + pattern: '^[A-Fa-f0-9]{11}$' + nullable: true + NfSetId: + type: string + NfServiceSetId: + type: string + PlmnAssiUeRadioCapId: + $ref: '#/components/schemas/Bytes' + ManAssiUeRadioCapId: + $ref: '#/components/schemas/Bytes' + TypeAllocationCode: + type: string + pattern: '^[0-9]{8}$' + HfcNId: + type: string + maxLength: 6 + HfcNIdRm: + type: string + maxLength: 6 + nullable: true + ENbId: + type: string + pattern: '^(MacroeNB-[A-Fa-f0-9]{5}|LMacroeNB-[A-Fa-f0-9]{6}|SMacroeNB-[A-Fa-f0-9]{5}|HomeeNB-[A-Fa-f0-9]{7})$' + Gli: +# $ref: '#/components/schemas/Bytes' + type: string + Gci: + type: string + +# +# ENUMERATED DATA TYPES +# + + AccessType: + type: string + enum: + - 3GPP_ACCESS + - NON_3GPP_ACCESS + AccessTypeRm: + anyOf: + - $ref: '#/components/schemas/AccessType' + - $ref: '#/components/schemas/NullValue' + RatType: +# anyOf: +# - type: string + type: string + enum: + - NR + - EUTRA + - WLAN + - VIRTUAL + - NBIOT + - WIRELINE + - WIRELINE_CABLE + - WIRELINE_BBF + - LTE-M + - NR_U + - EUTRA_U + - TRUSTED_N3GA + - TRUSTED_WLAN + - UTRA + - GERA +# - type: string + RatTypeRm: + anyOf: + - $ref: '#/components/schemas/RatType' + - $ref: '#/components/schemas/NullValue' + PduSessionType: +# anyOf: +# - type: string + type: string + enum: + - IPV4 + - IPV6 + - IPV4V6 + - UNSTRUCTURED + - ETHERNET +# - type: string + PduSessionTypeRm: + anyOf: + - $ref: '#/components/schemas/PduSessionType' + - $ref: '#/components/schemas/NullValue' + UpIntegrity: +# anyOf: +# - type: string + type: string + enum: + - REQUIRED + - PREFERRED + - NOT_NEEDED +# - type: string + UpIntegrityRm: + anyOf: + - $ref: '#/components/schemas/UpIntegrity' + - $ref: '#/components/schemas/NullValue' + UpConfidentiality: +# anyOf: +# - type: string + type: string + enum: + - REQUIRED + - PREFERRED + - NOT_NEEDED +# - type: string + UpConfidentialityRm: + anyOf: + - $ref: '#/components/schemas/UpConfidentiality' + - $ref: '#/components/schemas/NullValue' + SscMode: +# anyOf: +# - type: string + enum: + - SSC_MODE_1 + - SSC_MODE_2 + - SSC_MODE_3 +# - type: string + SscModeRm: + anyOf: + - $ref: '#/components/schemas/SscMode' + - $ref: '#/components/schemas/NullValue' + DnaiChangeType: +# anyOf: +# - type: string + type: string + enum: + - EARLY + - EARLY_LATE + - LATE +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - EARLY: Early notification of UP path reconfiguration. +# - EARLY_LATE: Early and late notification of UP path reconfiguration. This value shall only be present in the subscription to the DNAI change event. +# - LATE: Late notification of UP path reconfiguration. + DnaiChangeTypeRm: + anyOf: + - $ref: '#/components/schemas/DnaiChangeType' + - $ref: '#/components/schemas/NullValue' + RestrictionType: +# anyOf: +# - type: string + type: string + enum: + - ALLOWED_AREAS + - NOT_ALLOWED_AREAS +# - type: string + RestrictionTypeRm: + anyOf: + - $ref: '#/components/schemas/RestrictionType' + - $ref: '#/components/schemas/NullValue' + CoreNetworkType: +# anyOf: +# - type: string + type: string + enum: + - 5GC + - EPC +# - type: string + CoreNetworkTypeRm: + anyOf: + - $ref: '#/components/schemas/CoreNetworkType' + - $ref: '#/components/schemas/NullValue' + PresenceState: +# anyOf: +# - type: string + type: string + enum: + - IN_AREA + - OUT_OF_AREA + - UNKNOWN + - INACTIVE +# - type: string + StationaryIndication: +# anyOf: +# - type: string + type: string + enum: + - STATIONARY + - MOBILE +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - STATIONARY: Identifies the UE is stationary +# - MOBILE: Identifies the UE is mobile + StationaryIndicationRm: + anyOf: + - $ref: '#/components/schemas/StationaryIndication' + - $ref: '#/components/schemas/NullValue' + ScheduledCommunicationType: +# anyOf: +# - type: string + type: string + enum: + - DOWNLINK_ONLY + - UPLINK_ONLY + - BIDIRECTIONAL +# - type: string + ScheduledCommunicationTypeRm: + anyOf: + - $ref: '#/components/schemas/ScheduledCommunicationType' + - $ref: '#/components/schemas/NullValue' + TrafficProfile: +# anyOf: +# - type: string + type: string + enum: + - SINGLE_TRANS_UL + - SINGLE_TRANS_DL + - DUAL_TRANS_UL_FIRST + - DUAL_TRANS_DL_FIRST + - MULTI_TRANS +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - SINGLE_TRANS_UL: Uplink single packet transmission. +# - SINGLE_TRANS_DL: Downlink single packet transmission. +# - DUAL_TRANS_UL_FIRST: Dual packet transmission, firstly uplink packet transmission with subsequent downlink packet transmission. +# - DUAL_TRANS_DL_FIRST: Dual packet transmission, firstly downlink packet transmission with subsequent uplink packet transmission. + TrafficProfileRm: + anyOf: + - $ref: '#/components/schemas/TrafficProfile' + - $ref: '#/components/schemas/NullValue' + LcsServiceAuth: +# anyOf: +# - type: string + type: string + enum: + - "LOCATION_ALLOWED_WITH_NOTIFICATION" + - "LOCATION_ALLOWED_WITHOUT_NOTIFICATION" + - "LOCATION_ALLOWED_WITHOUT_RESPONSE" + - "LOCATION_RESTRICTED_WITHOUT_RESPONSE" + - "NOTIFICATION_ONLY" + - "NOTIFICATION_AND_VERIFICATION_ONLY" +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - "LOCATION_ALLOWED_WITH_NOTIFICATION": Location allowed with notification +# - "LOCATION_ALLOWED_WITHOUT_NOTIFICATION": Location allowed without notification +# - "LOCATION_ALLOWED_WITHOUT_RESPONSE": Location with notification and privacy verification; location allowed if no response +# - "LOCATION_RESTRICTED_WITHOUT_RESPONSE": Location with notification and privacy verification; location restricted if no response +# - "NOTIFICATION_ONLY": Notification only +# - "NOTIFICATION_AND_VERIFICATION_ONLY": Notification and privacy verification only + UeAuth: +# anyOf: +# - type: string + type: string + enum: + - AUTHORIZED + - NOT_AUTHORIZED +# - type: string + DlDataDeliveryStatus: +# anyOf: +# - type: string + type: string + enum: + - BUFFERED + - TRANSMITTED + - DISCARDED +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - BUFFERED: The first downlink data is buffered with extended buffering matching the source of the downlink traffic. +# - TRANSMITTED: The first downlink data matching the source of the downlink traffic is transmitted after previous buffering or discarding of corresponding packet(s) because the UE of the PDU Session becomes ACTIVE, and buffered data can be delivered to UE. +# - DISCARDED: The first downlink data matching the source of the downlink traffic is discarded because the Extended Buffering time, as determined by the SMF, expires or the amount of downlink data to be buffered is exceeded. + DlDataDeliveryStatusRm: + anyOf: + - $ref: '#/components/schemas/DlDataDeliveryStatus' + - $ref: '#/components/schemas/NullValue' + AuthStatus: +# anyOf: +# - type: string + type: string + enum: + - EAP_SUCCESS + - EAP_FAILURE + - PENDING +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - "EAP_SUCCESS": The NSSAA status is EAP-Success. +# - "EAP_FAILURE": The NSSAA status is EAP-Failure. +# - "PENDING": The NSSAA status is Pending. + +# +# STRUCTURED DATA TYPES +# + + Snssai: + type: object + properties: + sst: + type: integer + minimum: 0 + maximum: 255 + sd: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + required: + - sst + + PlmnId: + type: object + properties: + mcc: + $ref: '#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + required: + - mcc + - mnc + PlmnIdRm: + anyOf: + - $ref: '#/components/schemas/PlmnId' + - $ref: '#/components/schemas/NullValue' + Tai: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + tac: + $ref: '#/components/schemas/Tac' + nid: + $ref: '#/components/schemas/Nid' + required: + - plmnId + - tac + TaiRm: + anyOf: + - $ref: '#/components/schemas/Tai' + - $ref: '#/components/schemas/NullValue' + Ecgi: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + # PLMN Identity + eutraCellId: + $ref: '#/components/schemas/EutraCellId' + nid: + $ref: '#/components/schemas/Nid' + required: + - plmnId + - eutraCellId + EcgiRm: + anyOf: + - $ref: '#/components/schemas/Ecgi' + - $ref: '#/components/schemas/NullValue' + Ncgi: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + nrCellId: + $ref: '#/components/schemas/NrCellId' + nid: + $ref: '#/components/schemas/Nid' + required: + - plmnId + - nrCellId + NcgiRm: + anyOf: + - $ref: '#/components/schemas/Ncgi' + - $ref: '#/components/schemas/NullValue' + UserLocation: + type: object + properties: + eutraLocation: + $ref: '#/components/schemas/EutraLocation' + nrLocation: + $ref: '#/components/schemas/NrLocation' + n3gaLocation: + $ref: '#/components/schemas/N3gaLocation' + EutraLocation: + type: object + properties: + tai: + $ref: '#/components/schemas/Tai' + ignoreTai: + type: boolean + default: false + ecgi: + $ref: '#/components/schemas/Ecgi' + ignoreEcgi: + type: boolean + default: false + ageOfLocationInformation: + type: integer + minimum: 0 + maximum: 32767 + ueLocationTimestamp: + $ref: '#/components/schemas/DateTime' + geographicalInformation: + type: string + pattern: '^[0-9A-F]{16}$' + geodeticInformation: + type: string + pattern: '^[0-9A-F]{20}$' + globalNgenbId: + $ref: '#/components/schemas/GlobalRanNodeId' + globalENbId: + $ref: '#/components/schemas/GlobalRanNodeId' + required: + - tai + - ecgi + EutraLocationRm: + anyOf: + - $ref: '#/components/schemas/EutraLocation' + - $ref: '#/components/schemas/NullValue' + NrLocation: + type: object + properties: + tai: + $ref: '#/components/schemas/Tai' + ncgi: + $ref: '#/components/schemas/Ncgi' + ageOfLocationInformation: + type: integer + minimum: 0 + maximum: 32767 + ueLocationTimestamp: + $ref: '#/components/schemas/DateTime' + geographicalInformation: + type: string + pattern: '^[0-9A-F]{16}$' + geodeticInformation: + type: string + pattern: '^[0-9A-F]{20}$' + globalGnbId: + $ref: '#/components/schemas/GlobalRanNodeId' + required: + - tai + - ncgi + NrLocationRm: + anyOf: + - $ref: '#/components/schemas/NrLocation' + - $ref: '#/components/schemas/NullValue' + N3gaLocation: + type: object + properties: + n3gppTai: + $ref: '#/components/schemas/Tai' + n3IwfId: + type: string + pattern: '^[A-Fa-f0-9]+$' + ueIpv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + ueIpv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + portNumber: + $ref: '#/components/schemas/Uinteger' + tnapId: + $ref: '#/components/schemas/TnapId' + twapId: + $ref: '#/components/schemas/TwapId' + hfcNodeId: + $ref: '#/components/schemas/HfcNodeId' + gli: + $ref: '#/components/schemas/Gli' + w5gbanLineType: + $ref: '#/components/schemas/LineType' + gci: + $ref: '#/components/schemas/Gci' + UpSecurity: + type: object + properties: + upIntegr: + $ref: '#/components/schemas/UpIntegrity' + upConfid: + $ref: '#/components/schemas/UpConfidentiality' + required: + - upIntegr + - upConfid + UpSecurityRm: + anyOf: + - $ref: '#/components/schemas/UpSecurity' + - $ref: '#/components/schemas/NullValue' + NgApCause: + type: object + properties: + group: + $ref: '#/components/schemas/Uinteger' + value: + $ref: '#/components/schemas/Uinteger' + required: + - group + - value + BackupAmfInfo: + type: object + properties: + backupAmf: + $ref: '#/components/schemas/AmfName' + guamiList: + type: array + items: + $ref: '#/components/schemas/Guami' + minItems: 1 + required: + - backupAmf + RefToBinaryData: + type: object + properties: + contentId: + type: string + required: + - contentId + RefToBinaryDataRm: + anyOf: + - $ref: '#/components/schemas/RefToBinaryData' + - $ref: '#/components/schemas/NullValue' + RouteToLocation: + type: object + properties: + dnai: + $ref: '#/components/schemas/Dnai' + routeInfo: + $ref: '#/components/schemas/RouteInformation' + routeProfId: + type: string + nullable: true + required: + - dnai +# anyOf: +# - required: [ routeInfo ] +# - required: [ routeProfId ] + nullable: true + RouteInformation: + type: object + properties: + ipv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + portNumber: + $ref: '#/components/schemas/Uinteger' + required: + - portNumber + nullable: true + SubscribedDefaultQos: + type: object + required: + - 5qi + - arp + properties: + 5qi: + $ref: '#/components/schemas/5Qi' + arp: + $ref: '#/components/schemas/Arp' + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + Area: + type: object + oneOf: + - required: + - tacs + - required: + - areaCode + properties: + tacs: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + areaCode: + $ref: '#/components/schemas/AreaCode' + ServiceAreaRestriction: + type: object + properties: + restrictionType: + $ref: '#/components/schemas/RestrictionType' + areas: + type: array + items: + $ref: '#/components/schemas/Area' + maxNumOfTAs: + $ref: '#/components/schemas/Uinteger' + maxNumOfTAsForNotAllowedAreas: + $ref: '#/components/schemas/Uinteger' + allOf: + # + # 1st condition: restrictionType and areas attributes shall be either both absent + # or both present + # + - oneOf: + - not: + required: [ restrictionType ] + - required: [ areas ] + # + # 2nd condition: if restrictionType takes value NOT_ALLOWED_AREAS, + # then maxNumOfTAs shall be absent + # + - anyOf: + - not: + required: [ restrictionType ] + properties: + restrictionType: + type: string + enum: [ NOT_ALLOWED_AREAS ] + - not: + required: [ maxNumOfTAs ] + # + # 3rd condition: if restrictionType takes value ALLOWED_AREAS, + # then maxNumOfTAsForNotAllowedAreas shall be absent + # + - anyOf: + - not: + required: [ restrictionType ] + properties: + restrictionType: + type: string + enum: [ ALLOWED_AREAS ] + - not: + required: [ maxNumOfTAsForNotAllowedAreas ] + WirelineArea: + type: object + properties: + globalLineIds: + type: array + items: + $ref: '#/components/schemas/Gli' + minItems: 1 + hfcNIds: + type: array + items: + $ref: '#/components/schemas/HfcNId' + minItems: 1 + areaCodeB: + $ref: '#/components/schemas/AreaCode' + areaCodeC: + $ref: '#/components/schemas/AreaCode' + WirelineServiceAreaRestriction: + type: object + properties: + restrictionType: + $ref: '#/components/schemas/RestrictionType' + areas: + type: array + items: + $ref: '#/components/schemas/WirelineArea' + PresenceInfo: + type: object + properties: + praId: + type: string + additionalPraId: + type: string + presenceState: + $ref: '#/components/schemas/PresenceState' + trackingAreaList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + ecgiList: + type: array + items: + $ref: '#/components/schemas/Ecgi' + minItems: 1 + ncgiList: + type: array + items: + $ref: '#/components/schemas/Ncgi' + minItems: 1 + globalRanNodeIdList: + type: array + items: + $ref: '#/components/schemas/GlobalRanNodeId' + minItems: 1 + globaleNbIdList: + type: array + items: + $ref: '#/components/schemas/GlobalRanNodeId' + minItems: 1 + PresenceInfoRm: + type: object + properties: + praId: + type: string + additionalPraId: + type: string + presenceState: + $ref: '#/components/schemas/PresenceState' + trackingAreaList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 0 + ecgiList: + type: array + items: + $ref: '#/components/schemas/Ecgi' + minItems: 0 + ncgiList: + type: array + items: + $ref: '#/components/schemas/Ncgi' + minItems: 0 + globalRanNodeIdList: + type: array + items: + $ref: '#/components/schemas/GlobalRanNodeId' + globaleNbIdList: + type: array + items: + $ref: '#/components/schemas/GlobalRanNodeId' + minItems: 1 + nullable: true + GlobalRanNodeId: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + n3IwfId: + $ref: '#/components/schemas/N3IwfId' + gNbId: + $ref: '#/components/schemas/GNbId' + ngeNbId: + $ref: '#/components/schemas/NgeNbId' + wagfId: + $ref: '#/components/schemas/WAgfId' + tngfId: + $ref: '#/components/schemas/TngfId' + nid: + $ref: '#/components/schemas/Nid' + eNbId: + $ref: '#/components/schemas/ENbId' + oneOf: + - required: [ n3IwfId ] + - required: [ gNbId ] + - required: [ ngeNbId ] + - required: [ wagfId ] + - required: [ tngfId ] + - required: [ eNbId ] + required: + - plmnId + GNbId: + type: object + properties: + bitLength: + type: integer + minimum: 22 + maximum: 32 + gNBValue: + type: string + pattern: '^[A-Fa-f0-9]{6,8}$' + required: + - bitLength + - gNBValue + AtsssCapability: + type: object + properties: + atsssLL: + type: boolean + default: false + mptcp: + type: boolean + default: false + rttWithoutPmf: + type: boolean + default: false + PlmnIdNid: + type: object + required: + - mcc + - mnc + properties: + mcc: + $ref: '#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + nid: + $ref: '#/components/schemas/Nid' + SmallDataRateStatus: + type: object + properties: + remainPacketsUl: + type: integer + minimum: 0 + remainPacketsDl: + type: integer + minimum: 0 + validityTime: + $ref: '#/components/schemas/DateTime' + remainExReportsUl: + type: integer + minimum: 0 + remainExReportsDl: + type: integer + minimum: 0 + ApnRateStatus: + type: object + properties: + remainPacketsUl: + type: integer + minimum: 0 + remainPacketsDl: + type: integer + minimum: 0 + validityTime: + $ref: '#/components/schemas/DateTime' + remainExReportsUl: + type: integer + minimum: 0 + remainExReportsDl: + type: integer + minimum: 0 + HfcNodeId: + type: object + required: + - hfcNId + properties: + hfcNId: + $ref: '#/components/schemas/HfcNId' + HfcNodeIdRm: + anyOf: + - $ref: '#/components/schemas/HfcNodeId' + - $ref: '#/components/schemas/NullValue' + ScheduledCommunicationTime: + type: object + properties: + daysOfWeek: + type: array + items: + $ref: '#/components/schemas/DayOfWeek' + minItems: 1 + maxItems: 6 + description: Identifies the day(s) of the week. If absent, it indicates every day of the week. + timeOfDayStart: + $ref: '#/components/schemas/TimeOfDay' + timeOfDayEnd: + $ref: '#/components/schemas/TimeOfDay' + ScheduledCommunicationTimeRm: + anyOf: + - $ref: '#/components/schemas/ScheduledCommunicationTime' + - $ref: '#/components/schemas/NullValue' + BatteryIndication: + type: object + properties: + batteryInd: + type: boolean + replaceableInd: + type: boolean + rechargeableInd: + type: boolean + BatteryIndicationRm: + anyOf: + - $ref: '#/components/schemas/BatteryIndication' + - $ref: '#/components/schemas/NullValue' + AcsInfo: + type: object + properties: + acsUrl: + $ref: '#/components/schemas/Uri' + acsIpv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + acsIpv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + AcsInfoRm: + anyOf: + - $ref: '#/components/schemas/AcsInfo' + - $ref: '#/components/schemas/NullValue' + NrV2xAuth: + type: object + properties: + vehicleUeAuth: + $ref: '#/components/schemas/UeAuth' + pedestrianUeAuth: + $ref: '#/components/schemas/UeAuth' + LteV2xAuth: + type: object + properties: + vehicleUeAuth: + $ref: '#/components/schemas/UeAuth' + pedestrianUeAuth: + $ref: '#/components/schemas/UeAuth' + Pc5QoSPara: + type: object + required: + - pc5QosFlowList + properties: + pc5QosFlowList: + type: array + items: + $ref: '#/components/schemas/Pc5QosFlowItem' + pc5LinkAmbr: + $ref: '#/components/schemas/BitRate' + Pc5QosFlowItem: + type: object + required: + - pqi + properties: + pqi: + $ref: '#/components/schemas/5Qi' + pc5FlowBitRates: + $ref: '#/components/schemas/Pc5FlowBitRates' + range: + $ref: '#/components/schemas/Uinteger' + Pc5FlowBitRates: + type: object + properties: + guaFbr: + $ref: '#/components/schemas/BitRate' + maxFbr: + $ref: '#/components/schemas/BitRate' + UtraLocation: + type: object + oneOf: + - required: + - cgi + - required: + - sai + - required: + - rai + properties: + cgi: + $ref: '#/components/schemas/CellGlobalId' + sai: + $ref: '#/components/schemas/ServiceAreaId' + lai: + $ref: '#/components/schemas/LocationAreaId' + rai: + $ref: '#/components/schemas/RoutingAreaId' + ageOfLocationInformation: + type: integer + minimum: 0 + maximum: 32767 + ueLocationTimestamp: + $ref: '#/components/schemas/DateTime' + geographicalInformation: + type: string + pattern: '^[0-9A-F]{16}$' + geodeticInformation: + type: string + pattern: '^[0-9A-F]{20}$' + GeraLocation: + type: object + oneOf: + - required: + - cgi + - required: + - sai + - required: + - rai + - required: + - lai + properties: + locationNumber: + type: string + cgi: + $ref: '#/components/schemas/CellGlobalId' + rai: + $ref: '#/components/schemas/RoutingAreaId' + sai: + $ref: '#/components/schemas/ServiceAreaId' + lai: + $ref: '#/components/schemas/LocationAreaId' + vlrNumber: + type: string + mscNumber: + type: string + ageOfLocationInformation: + type: integer + minimum: 0 + maximum: 32767 + ueLocationTimestamp: + $ref: '#/components/schemas/DateTime' + geographicalInformation: + type: string + pattern: '^[0-9A-F]{16}$' + geodeticInformation: + type: string + pattern: '^[0-9A-F]{20}$' + CellGlobalId: + type: object + required: + - plmnId + - lac + - cellId + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + lac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + cellId: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + ServiceAreaId: + type: object + required: + - plmnId + - lac + - sac + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + lac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + sac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + LocationAreaId: + type: object + required: + - plmnId + - lac + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + lac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + RoutingAreaId: + type: object + required: + - plmnId + - lac + - rac + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + lac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + rac: + type: string + pattern: '^[A-Fa-f0-9]{2}$' + DddTrafficDescriptor: + type: object + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + portNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + macAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + MoExpDataCounter: + type: object + required: + - counter + properties: + counter: + type: integer + timeStamp: + $ref: '#/components/schemas/DateTime' + NssaaStatus: + type: object + required: + - snssai + - status + properties: + snssai: + $ref: '#/components/schemas/Snssai' + status: + $ref: '#/components/schemas/AuthStatus' + NssaaStatusRm: + anyOf: + - $ref: '#/components/schemas/NssaaStatus' + - $ref: '#/components/schemas/NullValue' + TnapId: + type: object + properties: + ssId: + type: string + bssId: + type: string + civicAddress: + $ref: '#/components/schemas/Bytes' + TnapIdRm: + anyOf: + - $ref: '#/components/schemas/TnapId' + - $ref: '#/components/schemas/NullValue' + TwapId: + type: object + required: + - ssId + properties: + ssId: + type: string + bssId: + type: string + civicAddress: + $ref: '#/components/schemas/Bytes' + TwapIdRm: + anyOf: + - $ref: '#/components/schemas/TwapId' + - $ref: '#/components/schemas/NullValue' + LineType: +# anyOf: +# - type: string + type: string + enum: + - DSL + - PON +# - type: string +# description: > +# This string provides forward-compatibility with future +# extensions to the enumeration but is not used to encode +# content defined in the present version of this API. +# description: > +# Possible values are +# - DSL: Identifies a DSL line +# - PON: Identifies a PON line + LineTypeRm: + anyOf: + - $ref: '#/components/schemas/LineType' + - $ref: '#/components/schemas/NullValue' + + SnssaiExtension: + description: Extensions to the Snssai data type + type: object + properties: + sdRanges: + type: array + items: + $ref: '#/components/schemas/SdRange' + minItems: 1 + wildcardSd: + type: boolean + default: false + + SdRange: + description: A range of SDs (Slice Differentiators) + type: object + properties: + start: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + end: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + +# +# Data types describing alternative data types or combinations of data types +# + ExtSnssai: + allOf: + - $ref: '#/components/schemas/Snssai' + - $ref: '#/components/schemas/SnssaiExtension' + +# +# Data Types related to 5G QoS as defined in clause 5.5 +# + +# +# SIMPLE DATA TYPES +# +# + Qfi: + type: integer + minimum: 0 + maximum: 63 + QfiRm: + type: integer + minimum: 0 + maximum: 63 + nullable: true + 5Qi: + type: integer + minimum: 0 + maximum: 255 + 5QiRm: + type: integer + minimum: 0 + maximum: 255 + nullable: true + BitRate: + type: string + pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' + BitRateRm: + type: string + pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' + nullable: true + ArpPriorityLevelRm: + type: integer + minimum: 1 + maximum: 15 + nullable: true + ArpPriorityLevel: + type: integer + minimum: 1 + maximum: 15 + nullable: true + description: nullable true shall not be used for this attribute + 5QiPriorityLevel: + type: integer + minimum: 1 + maximum: 127 + 5QiPriorityLevelRm: + type: integer + minimum: 1 + maximum: 127 + nullable: true + PacketDelBudget: + type: integer + minimum: 1 + PacketDelBudgetRm: + type: integer + minimum: 1 + nullable: true + PacketErrRate: + type: string + pattern: '^([0-9]E-[0-9])$' + PacketErrRateRm: + type: string + pattern: '^([0-9]E-[0-9])$' + nullable: true + PacketLossRate: + type: integer + minimum: 0 + maximum: 1000 + PacketLossRateRm: + type: integer + minimum: 0 + maximum: 1000 + nullable: true + AverWindow: + type: integer + minimum: 1 + maximum: 4095 + default: 2000 + AverWindowRm: + type: integer + maximum: 4095 + default: 2000 + minimum: 1 + nullable: true + MaxDataBurstVol: + type: integer + minimum: 1 + maximum: 4095 + MaxDataBurstVolRm: + type: integer + minimum: 1 + maximum: 4095 + nullable: true + SamplingRatio: + type: integer + minimum: 1 + maximum: 100 + SamplingRatioRm: + type: integer + minimum: 1 + maximum: 100 + nullable: true + RgWirelineCharacteristics: +# $ref: '#/components/schemas/Bytes' + type: string + RgWirelineCharacteristicsRm: + anyOf: + - $ref: '#/components/schemas/RgWirelineCharacteristics' + - $ref: '#/components/schemas/NullValue' + ExtMaxDataBurstVol: + type: integer + minimum: 4096 + maximum: 2000000 + ExtMaxDataBurstVolRm: + type: integer + minimum: 4096 + maximum: 2000000 + nullable: true + ExtPacketDelBudget: + type: integer + minimum: 1 + ExtPacketDelBudgetRm: + type: integer + minimum: 1 + nullable: true + +# +# ENUMERATED DATA TYPES +# + + PreemptionCapability: +# anyOf: +# - type: string + type: string + enum: + - NOT_PREEMPT + - MAY_PREEMPT +# - type: string + PreemptionCapabilityRm: + anyOf: + - $ref: '#/components/schemas/PreemptionCapability' + - $ref: '#/components/schemas/NullValue' + PreemptionVulnerability: +# anyOf: +# - type: string + type: string + enum: + - NOT_PREEMPTABLE + - PREEMPTABLE +# - type: string + PreemptionVulnerabilityRm: + anyOf: + - $ref: '#/components/schemas/PreemptionVulnerability' + - $ref: '#/components/schemas/NullValue' + ReflectiveQoSAttribute: +# anyOf: +# - type: string + type: string + enum: + - RQOS + - NO_RQOS +# - type: string + ReflectiveQoSAttributeRm: + anyOf: + - $ref: '#/components/schemas/ReflectiveQoSAttribute' + - $ref: '#/components/schemas/NullValue' + NotificationControl: +# anyOf: +# - type: string + type: string + enum: + - REQUESTED + - NOT_REQUESTED +# - type: string + NotificationControlRm: + anyOf: + - $ref: '#/components/schemas/NotificationControl' + - $ref: '#/components/schemas/NullValue' + QosResourceType: +# anyOf: +# - type: string + enum: + - NON_GBR + - NON_CRITICAL_GBR + - CRITICAL_GBR +# - type: string + QosResourceTypeRm: + anyOf: + - $ref: '#/components/schemas/QosResourceType' + - $ref: '#/components/schemas/NullValue' + AdditionalQosFlowInfo: +# anyOf: +# - anyOf: +# - type: string + type: string + enum: + - MORE_LIKELY +# - type: string +# - $ref: '#/components/schemas/NullValue' +# + +# +# STRUCTURED DATA TYPES +# + + Arp: + type: object + properties: + priorityLevel: + $ref: '#/components/schemas/ArpPriorityLevel' + preemptCap: + $ref: '#/components/schemas/PreemptionCapability' + preemptVuln: + $ref: '#/components/schemas/PreemptionVulnerability' + required: + - priorityLevel + - preemptCap + - preemptVuln + ArpRm: + anyOf: + - $ref: '#/components/schemas/Arp' + - $ref: '#/components/schemas/NullValue' + Ambr: + type: object + properties: + uplink: + $ref: '#/components/schemas/BitRate' + downlink: + $ref: '#/components/schemas/BitRate' + required: + - uplink + - downlink + AmbrRm: + anyOf: + - $ref: '#/components/schemas/Ambr' + - $ref: '#/components/schemas/NullValue' + Dynamic5Qi: + type: object + properties: + resourceType: + $ref: '#/components/schemas/QosResourceType' + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + packetDelayBudget: + $ref: '#/components/schemas/PacketDelBudget' + packetErrRate: + $ref: '#/components/schemas/PacketErrRate' + averWindow: + $ref: '#/components/schemas/AverWindow' + maxDataBurstVol: + $ref: '#/components/schemas/MaxDataBurstVol' + extMaxDataBurstVol: + $ref: '#/components/schemas/ExtMaxDataBurstVol' + extPacketDelBudget: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetDl: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetUl: + $ref: '#/components/schemas/ExtPacketDelBudget' + required: + - resourceType + - priorityLevel + - packetDelayBudget + - packetErrRate + NonDynamic5Qi: + type: object + properties: + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + averWindow: + $ref: '#/components/schemas/AverWindow' + maxDataBurstVol: + $ref: '#/components/schemas/MaxDataBurstVol' + extMaxDataBurstVol: + $ref: '#/components/schemas/ExtMaxDataBurstVol' + cnPacketDelayBudgetDl: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetUl: + $ref: '#/components/schemas/ExtPacketDelBudget' + minProperties: 0 + +# +# Data Types related to 5G Trace as defined in clause 5.6 +# + +# +# SIMPLE DATA TYPES +# + PhysCellId: + type: integer + minimum: 0 + maximum: 1007 + ArfcnValueNR: + type: integer + minimum: 0 + maximum: 3279165 +# +# +# Enumerations +# + TraceDepth: +# anyOf: +# - type: string + type: string + enum: + - MINIMUM + - MEDIUM + - MAXIMUM + - MINIMUM_WO_VENDOR_EXTENSION + - MEDIUM_WO_VENDOR_EXTENSION + - MAXIMUM_WO_VENDOR_EXTENSION +# - type: string + TraceDepthRm: + anyOf: + - $ref: '#/components/schemas/TraceDepth' + - $ref: '#/components/schemas/NullValue' + JobType: +# anyOf: +# - type: string + type: string + enum: + - IMMEDIATE_MDT_ONLY + - LOGGED_MDT_ONLY + - TRACE_ONLY + - IMMEDIATE_MDT_AND_TRACE + - RLF_REPORTS_ONLY + - RCEF_REPORTS_ONLY + - LOGGED_MBSFN_MDT +# - type: string + ReportTypeMdt: +# anyOf: +# - type: string + type: string + enum: + - PERIODICAL + - EVENT_TRIGGED +# - type: string + MeasurementLteForMdt: +# anyOf: +# - type: string + type: string + enum: + - M1 + - M2 + - M3 + - M4_DL + - M4_UL + - M5_DL + - M5_UL + - M6_DL + - M6_UL + - M7_DL + - M7_UL + - M8 + - M9 +# - type: string + MeasurementNrForMdt: +# anyOf: +# - type: string + type: string + enum: + - M1 + - M2 + - M3 + - M4_DL + - M4_UL + - M5_DL + - M5_UL + - M6_DL + - M6_UL + - M7_DL + - M7_UL + - M8 + - M9 +# - type: string + SensorMeasurement: +# anyOf: +# - type: string + type: string + enum: + - BAROMETRIC_PRESSURE + - UE_SPEED + - UE_ORIENTATION +# - type: string + ReportingTrigger: +# anyOf: +# - type: string + type: string + enum: + - PERIODICAL + - EVENT_A2 + - EVENT_A2_PERIODIC + - ALL_RRM_EVENT_TRIGGERS +# - type: string + ReportIntervalMdt: +# anyOf: +# - type: string + type: string + enum: + - 120 + - 240 + - 480 + - 640 + - 1024 + - 2048 + - 5120 + - 10240 + - 60000 + - 360000 + - 720000 + - 1800000 + - 3600000 +# - type: string + ReportAmountMdt: +# anyOf: +# - type: string + type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - infinity +# - type: string + EventForMdt: +# anyOf: +# - type: string + type: string + enum: + - OUT_OF_COVERAG + - A2_EVENT +# - type: string + LoggingIntervalMdt: +# anyOf: +# - type: string + type: string + enum: + - 128 + - 256 + - 512 + - 1024 + - 2048 + - 3072 + - 4096 + - 6144 +# - type: string + LoggingDurationMdt: +# anyOf: +# - type: string + type: string + enum: + - 600 + - 1200 + - 2400 + - 3600 + - 5400 + - 7200 +# - type: string + PositioningMethodMdt: +# anyOf: +# - type: string + type: string + enum: + - GNSS + - E_CELL_ID +# - type: string + CollectionPeriodRmmLteMdt: +# anyOf: +# - type: string + type: string + enum: + - 1024 + - 1280 + - 2048 + - 2560 + - 5120 + - 10240 + - 60000 +# - type: string + MeasurementPeriodLteMdt: +# anyOf: +# - type: string + type: string + enum: + - 1024 + - 1280 + - 2048 + - 2560 + - 5120 + - 10240 + - 60000 +# - type: string + + ReportIntervalNrMdt: +# anyOf: +# - type: string + type: string + enum: + - 120 + - 240 + - 480 + - 640 + - 1024 + - 2048 + - 5120 + - 10240 + - 20480 + - 40960 + - 60000 + - 360000 + - 720000 + - 1800000 + - 3600000 +# - type: string + + LoggingIntervalNrMdt: +# anyOf: +# - type: string + type: string + enum: + - 128 + - 256 + - 512 + - 1024 + - 2048 + - 3072 + - 4096 + - 6144 + - 320 + - 640 + - infinity +# - type: string + + CollectionPeriodRmmNrMdt: +# anyOf: +# - type: string + type: string + enum: + - 1024 + - 2048 + - 5120 + - 10240 + - 60000 +# - type: string + + LoggingDurationNrMdt: +# anyOf: +# - type: string + type: string + enum: + - 600 + - 1200 + - 2400 + - 3600 + - 5400 + - 7200 +# - type: string +# +# STRUCTURED DATA TYPES +# + TraceData: + type: object + nullable: true + properties: + traceRef: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-[A-Fa-f0-9]{6}$' + traceDepth: + $ref: '#/components/schemas/TraceDepth' + neTypeList: + type: string + pattern: '^[A-Fa-f0-9]+$' + eventList: + type: string + pattern: '^[A-Fa-f0-9]+$' + collectionEntityIpv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + collectionEntityIpv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + interfaceList: + type: string + pattern: '^[A-Fa-f0-9]+$' + required: + - traceRef + - traceDepth + - neTypeList + - eventList + MdtConfiguration: + type: object + required: + - jobType + properties: + jobType: + $ref: '#/components/schemas/JobType' + reportType: + $ref: '#/components/schemas/ReportTypeMdt' + areaScope: + $ref: '#/components/schemas/AreaScope' + measurementLteList: + type: array + items: + $ref: '#/components/schemas/MeasurementLteForMdt' + measurementNrList: + type: array + items: + $ref: '#/components/schemas/MeasurementNrForMdt' + minItems: 1 + sensorMeasurementList: + type: array + items: + $ref: '#/components/schemas/SensorMeasurement' + minItems: 1 + reportingTriggerList: + type: array + items: + $ref: '#/components/schemas/ReportingTrigger' + minItems: 1 + reportInterval: + $ref: '#/components/schemas/ReportIntervalMdt' + reportIntervalNr: + $ref: '#/components/schemas/ReportIntervalNrMdt' + reportAmount: + $ref: '#/components/schemas/ReportAmountMdt' + eventThresholdRsrp: + type: integer + minimum: 0 + maximum: 97 + eventThresholdRsrpNr: + type: integer + minimum: 0 + maximum: 127 + eventThresholdRsrq: + type: integer + minimum: 0 + maximum: 34 + eventThresholdRsrqNr: + type: integer + minimum: 0 + maximum: 127 + eventList: + type: array + items: + $ref: '#/components/schemas/EventForMdt' + minItems: 1 + loggingInterval: + $ref: '#/components/schemas/LoggingIntervalMdt' + loggingIntervalNr: + $ref: '#/components/schemas/LoggingIntervalNrMdt' + loggingDuration: + $ref: '#/components/schemas/LoggingDurationMdt' + loggingDurationNr: + $ref: '#/components/schemas/LoggingDurationNrMdt' + positioningMethod: + $ref: '#/components/schemas/PositioningMethodMdt' + addPositioningMethodList: + type: array + items: + $ref: '#/components/schemas/PositioningMethodMdt' + minItems: 1 + collectionPeriodRmmLte: + $ref: '#/components/schemas/CollectionPeriodRmmLteMdt' + collectionPeriodRmmNr: + $ref: '#/components/schemas/CollectionPeriodRmmNrMdt' + measurementPeriodLte: + $ref: '#/components/schemas/MeasurementPeriodLteMdt' + mdtAllowedPlmnIdList: + type: array + items: + $ref: '#/components/schemas/PlmnId' + minItems: 1 + maxItems: 16 + mbsfnAreaList: + type: array + items: + $ref: '#/components/schemas/MbsfnArea' + minItems: 1 + maxItems: 8 + interFreqTargetList: + type: array + items: + $ref: '#/components/schemas/InterFreqTargetInfo' + minItems: 1 + maxItems: 8 + AreaScope: + type: object + properties: + eutraCellIdList: + type: array + items: + $ref: '#/components/schemas/EutraCellId' + minItems: 1 + nrCellIdList: + type: array + items: + $ref: '#/components/schemas/NrCellId' + minItems: 1 + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + tacInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/TacInfo' + TacInfo: + type: object + required: + - tacList + properties: + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + MbsfnArea: + type: object + properties: + mbsfnAreaId: + type: integer + minimum: 0 + maximum: 255 + carrierFrequency: + type: integer + minimum: 0 + maximum: 262143 + + InterFreqTargetInfo: + required: + - dlCarrierFreq + type: object + properties: + dlCarrierFreq: + $ref: '#/components/schemas/ArfcnValueNR' + cellIdList: + type: array + items: + $ref: '#/components/schemas/PhysCellId' + minItems: 1 + maxItems: 32 + + +# Data Types related to 5G ODB as defined in clause 5.7 + +# +# SIMPLE DATA TYPES +# +# +# +# Enumerations +# + RoamingOdb: +# anyOf: +# - type: string + type: string + enum: + - OUTSIDE_HOME_PLMN + - OUTSIDE_HOME_PLMN_COUNTRY +# - type: string + + OdbPacketServices: +# anyOf: +# - anyOf: +# - type: string + type: string + enum: + - ALL_PACKET_SERVICES + - ROAMER_ACCESS_HPLMN_AP + - ROAMER_ACCESS_VPLMN_AP +# - type: string +# - $ref: '#/components/schemas/NullValue' + +# +# STRUCTURED DATA TYPES +# + + OdbData: + type: object + properties: + roamingOdb: + $ref: '#/components/schemas/RoamingOdb' + +# +# Data Types related to Charging as defined in clause 5.8 +# + +# +# SIMPLE DATA TYPES +# +# + ChargingId: + $ref: '#/components/schemas/Uint32' + + ApplicationChargingId: + type: string + + RatingGroup: + $ref: '#/components/schemas/Uint32' + + ServiceId: + $ref: '#/components/schemas/Uint32' + + +# +# Enumerations +# + +# +# STRUCTURED DATA TYPES +# + SecondaryRatUsageReport: + type: object + properties: + secondaryRatType: + $ref: '#/components/schemas/RatType' + qosFlowsUsageData: + type: array + items: + $ref: '#/components/schemas/QosFlowUsageReport' + minItems: 1 + required: + - secondaryRatType + - qosFlowsUsageData + + QosFlowUsageReport: + type: object + properties: + qfi: + $ref: '#/components/schemas/Qfi' + startTimeStamp: + $ref: '#/components/schemas/DateTime' + endTimeStamp: + $ref: '#/components/schemas/DateTime' + downlinkVolume: + $ref: '#/components/schemas/Int64' + uplinkVolume: + $ref: '#/components/schemas/Int64' + required: + - qfi + - startTimeStamp + - endTimeStamp + - downlinkVolume + - uplinkVolume + + SecondaryRatUsageInfo: + type: object + properties: + secondaryRatType: + $ref: '#/components/schemas/RatType' + qosFlowsUsageData: + type: array + items: + $ref: '#/components/schemas/QosFlowUsageReport' + minItems: 1 + pduSessionUsageData: + type: array + items: + $ref: '#/components/schemas/VolumeTimedReport' + minItems: 1 + required: + - secondaryRatType + + VolumeTimedReport: + type: object + properties: + startTimeStamp: + $ref: '#/components/schemas/DateTime' + endTimeStamp: + $ref: '#/components/schemas/DateTime' + downlinkVolume: + $ref: '#/components/schemas/Int64' + uplinkVolume: + $ref: '#/components/schemas/Int64' + required: + - startTimeStamp + - endTimeStamp + - downlinkVolume + - uplinkVolume + + +# +# HTTP responses +# + + responses: + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: '#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target NF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: '#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target NF (service) instance towards which the request is redirected' + schema: + type: string + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '405': + description: Method Not Allowed + '408': + description: Request Timeout + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '406': + description: 406 Not Acceptable + '409': + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '410': + description: Gone + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '411': + description: Length Required + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '412': + description: Precondition Failed + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '413': + description: Payload Too Large + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '414': + description: URI Too Long + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '415': + description: Unsupported Media Type + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '429': + description: Too Many Requests + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '501': + description: Not Implemented + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '504': + description: Gateway Timeout + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + default: + description: Generic Error diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29572_Nlmf_Location.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29572_Nlmf_Location.yaml new file mode 100644 index 000000000..b711559df --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS29572_Nlmf_Location.yaml @@ -0,0 +1,1201 @@ +openapi: 3.0.0 + +info: + version: '1.1.4' + title: 'LMF Location' + description: | + LMF Location Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.572 V16.7.0; 5G System; Location Management Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.572/' + +servers: + - url: '{apiRoot}/nlmf-loc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nlmf-loc + +paths: + /determine-location: + post: + summary: Determine Location of an UE + operationId: DetermineLocation + tags: + - Determine Location + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InputData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/InputData' + binaryDataLppMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataLppMessage: + contentType: application/vnd.3gpp.lpp + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LocationData' + '204': + description: Expected response for MO-LR requesting location assistance data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + EventNotify: + '{$request.body#/hgmlcCallBackURI}': + post: + requestBody: + description: UE Event Notification + content: + application/json: + schema: + $ref: '#/components/schemas/EventNotifyData' + responses: + '204': + description: Expected response to a valid notification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /cancel-location: + post: + summary: request cancellation of periodic or triggered location + operationId: CancelLocation + tags: + - Cancel Location + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CancelLocData' + required: true + responses: + '204': + description: Expected response to a successful cancellation + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /location-context-transfer: + post: + summary: transfer context information for periodic or triggered location + operationId: LocationContextTransfer + tags: + - Location Context Transfer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LocContextData' + required: true + responses: + '204': + description: Expected response to successful location context transfer + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nlmf-loc: Access to the Nlmf_Location API + schemas: +# +# COMPLEX TYPES +# + InputData: + type: object + not: + required: [ ecgi, ncgi ] + properties: + externalClientType: + $ref: '#/components/schemas/ExternalClientType' + correlationID: + $ref: '#/components/schemas/CorrelationID' + amfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + locationQoS: + $ref: '#/components/schemas/LocationQoS' + supportedGADShapes: + type: array + items: + $ref: '#/components/schemas/SupportedGADShapes' + minItems: 1 + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ecgiOnSecondNode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + ncgiOnSecondNode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + priority: + $ref: '#/components/schemas/LcsPriority' + velocityRequested: + $ref: '#/components/schemas/VelocityRequested' + ueLcsCap: + $ref: '#/components/schemas/UeLcsCapability' + lcsServiceType: + $ref: '#/components/schemas/LcsServiceType' + ldrType: + $ref: '#/components/schemas/LdrType' + hgmlcCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + vgmlcAddress: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ldrReference: + $ref: '#/components/schemas/LdrReference' + periodicEventInfo: + $ref: '#/components/schemas/PeriodicEventInfo' + areaEventInfo: + $ref: '#/components/schemas/AreaEventInfo' + motionEventInfo: + $ref: '#/components/schemas/MotionEventInfo' + reportingAccessTypes: + $ref: '#/components/schemas/ReportingAccessTypes' + ueConnectivityStates: + $ref: '#/components/schemas/UeConnectivityState' + ueLocationServiceInd: + $ref: '#/components/schemas/UeLocationServiceInd' + lppMessage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + LocationData: + type: object + required: + - locationEstimate + properties: + locationEstimate: + $ref: '#/components/schemas/GeographicArea' + accuracyFulfilmentIndicator: + $ref: '#/components/schemas/AccuracyFulfilmentIndicator' + ageOfLocationEstimate: + $ref: '#/components/schemas/AgeOfLocationEstimate' + velocityEstimate: + $ref: '#/components/schemas/VelocityEstimate' + civicAddress: + $ref: '#/components/schemas/CivicAddress' + positioningDataList: + type: array + items: + $ref: '#/components/schemas/PositioningMethodAndUsage' + minItems: 1 + gnssPositioningDataList: + type: array + items: + $ref: '#/components/schemas/GnssPositioningMethodAndUsage' + minItems: 1 + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + altitude: + $ref: '#/components/schemas/Altitude' + barometricPressure: + $ref: '#/components/schemas/BarometricPressure' + servingLMFIdentification: + $ref: '#/components/schemas/LMFIdentification' + GeographicArea: + anyOf: + - $ref: '#/components/schemas/Point' + - $ref: '#/components/schemas/PointUncertaintyCircle' + - $ref: '#/components/schemas/PointUncertaintyEllipse' + - $ref: '#/components/schemas/Polygon' + - $ref: '#/components/schemas/PointAltitude' + - $ref: '#/components/schemas/PointAltitudeUncertainty' + - $ref: '#/components/schemas/EllipsoidArc' + GADShape: + type: object + required: + - shape + properties: + shape: + $ref: '#/components/schemas/SupportedGADShapes' + discriminator: + propertyName: shape + mapping: + POINT: '#/components/schemas/Point' + POINT_UNCERTAINTY_CIRCLE: '#/components/schemas/PointUncertaintyCircle' + POINT_UNCERTAINTY_ELLIPSE: '#/components/schemas/PointUncertaintyEllipse' + POLYGON: '#/components/schemas/Polygon' + POINT_ALTITUDE: '#/components/schemas/PointAltitude' + POINT_ALTITUDE_UNCERTAINTY: '#/components/schemas/PointAltitudeUncertainty' + ELLIPSOID_ARC: '#/components/schemas/EllipsoidArc' + Point: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + PointUncertaintyCircle: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + - uncertainty + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + uncertainty: + $ref: '#/components/schemas/Uncertainty' + PointUncertaintyEllipse: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + - uncertaintyEllipse + - confidence + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + uncertaintyEllipse: + $ref: '#/components/schemas/UncertaintyEllipse' + confidence: + $ref: '#/components/schemas/Confidence' + Polygon: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - pointList + properties: + pointList: + $ref: '#/components/schemas/PointList' + PointAltitude: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + - altitude + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + altitude: + $ref: '#/components/schemas/Altitude' + PointAltitudeUncertainty: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + - altitude + - uncertaintyEllipse + - uncertaintyAltitude + - confidence + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + altitude: + $ref: '#/components/schemas/Altitude' + uncertaintyEllipse: + $ref: '#/components/schemas/UncertaintyEllipse' + uncertaintyAltitude: + $ref: '#/components/schemas/Uncertainty' + confidence: + $ref: '#/components/schemas/Confidence' + EllipsoidArc: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + - innerRadius + - uncertaintyRadius + - offsetAngle + - includedAngle + - confidence + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + innerRadius: + $ref: '#/components/schemas/InnerRadius' + uncertaintyRadius: + $ref: '#/components/schemas/Uncertainty' + offsetAngle: + $ref: '#/components/schemas/Angle' + includedAngle: + $ref: '#/components/schemas/Angle' + confidence: + $ref: '#/components/schemas/Confidence' + GeographicalCoordinates: + type: object + required: + - lon + - lat + properties: + lon: + type: number + format: double + minimum: -180 + maximum: 180 + lat: + type: number + format: double + minimum: -90 + maximum: 90 + UncertaintyEllipse: + type: object + required: + - semiMajor + - semiMinor + - orientationMajor + properties: + semiMajor: + $ref: '#/components/schemas/Uncertainty' + semiMinor: + $ref: '#/components/schemas/Uncertainty' + orientationMajor: + $ref: '#/components/schemas/Orientation' + PointList: + type: array + items: + $ref: '#/components/schemas/GeographicalCoordinates' + minItems: 3 + maxItems: 15 + LocationQoS: + type: object + properties: + hAccuracy: + $ref: '#/components/schemas/Accuracy' + vAccuracy: + $ref: '#/components/schemas/Accuracy' + verticalRequested: + type: boolean + responseTime: + $ref: '#/components/schemas/ResponseTime' + lcsQosClass: + $ref: '#/components/schemas/LcsQosClass' + PositioningMethodAndUsage: + type: object + required: + - method + - mode + - usage + properties: + method: + $ref: '#/components/schemas/PositioningMethod' + mode: + $ref: '#/components/schemas/PositioningMode' + usage: + $ref: '#/components/schemas/Usage' + methodCode: + type: integer + minimum: 16 + maximum: 31 + GnssPositioningMethodAndUsage: + type: object + required: + - mode + - gnss + - usage + properties: + mode: + $ref: '#/components/schemas/PositioningMode' + gnss: + $ref: '#/components/schemas/GnssId' + usage: + $ref: '#/components/schemas/Usage' + CivicAddress: + type: object + properties: + country: + type: string + A1: + type: string + A2: + type: string + A3: + type: string + A4: + type: string + A5: + type: string + A6: + type: string + PRD: + type: string + POD: + type: string + STS: + type: string + HNO: + type: string + HNS: + type: string + LMK: + type: string + LOC: + type: string + NAM: + type: string + PC: + type: string + BLD: + type: string + UNIT: + type: string + FLR: + type: string + ROOM: + type: string + PLC: + type: string + PCN: + type: string + POBOX: + type: string + ADDCODE: + type: string + SEAT: + type: string + RD: + type: string + RDSEC: + type: string + RDBR: + type: string + RDSUBBR: + type: string + PRM: + type: string + POM: + type: string + usageRules: + type: string + method: + type: string + providedBy: + type: string + + VelocityEstimate: + oneOf: + - $ref: '#/components/schemas/HorizontalVelocity' + - $ref: '#/components/schemas/HorizontalWithVerticalVelocity' + - $ref: '#/components/schemas/HorizontalVelocityWithUncertainty' + - $ref: '#/components/schemas/HorizontalWithVerticalVelocityAndUncertainty' + HorizontalVelocity: + type: object + required: + - hSpeed + - bearing + properties: + hSpeed: + $ref: '#/components/schemas/HorizontalSpeed' + bearing: + $ref: '#/components/schemas/Angle' + HorizontalWithVerticalVelocity: + type: object + required: + - hSpeed + - bearing + - vSpeed + - vDirection + properties: + hSpeed: + $ref: '#/components/schemas/HorizontalSpeed' + bearing: + $ref: '#/components/schemas/Angle' + vSpeed: + $ref: '#/components/schemas/VerticalSpeed' + vDirection: + $ref: '#/components/schemas/VerticalDirection' + HorizontalVelocityWithUncertainty: + type: object + required: + - hSpeed + - bearing + - hUncertainty + properties: + hSpeed: + $ref: '#/components/schemas/HorizontalSpeed' + bearing: + $ref: '#/components/schemas/Angle' + hUncertainty: + $ref: '#/components/schemas/SpeedUncertainty' + HorizontalWithVerticalVelocityAndUncertainty: + type: object + required: + - hSpeed + - bearing + - vSpeed + - vDirection + - hUncertainty + - vUncertainty + properties: + hSpeed: + $ref: '#/components/schemas/HorizontalSpeed' + bearing: + $ref: '#/components/schemas/Angle' + vSpeed: + $ref: '#/components/schemas/VerticalSpeed' + vDirection: + $ref: '#/components/schemas/VerticalDirection' + hUncertainty: + $ref: '#/components/schemas/SpeedUncertainty' + vUncertainty: + $ref: '#/components/schemas/SpeedUncertainty' + UeLcsCapability: + type: object + properties: + lppSupport: + type: boolean + default: true + ciotOptimisation: + type: boolean + default: false + PeriodicEventInfo: + type: object + required: + - reportingAmount + - reportingInterval + properties: + reportingAmount: + $ref: '#/components/schemas/ReportingAmount' + reportingInterval: + $ref: '#/components/schemas/ReportingInterval' + AreaEventInfo: + type: object + required: + - areaDefinition + properties: + areaDefinition: + type: array + items: + $ref: '#/components/schemas/ReportingArea' + minItems: 1 + maxItems: 250 + occurrenceInfo: + $ref: '#/components/schemas/OccurrenceInfo' + minimumInterval: + $ref: '#/components/schemas/MinimumInterval' + maximumInterval: + $ref: '#/components/schemas/MaximumInterval' + samplingInterval: + $ref: '#/components/schemas/SamplingInterval' + reportingDuration: + $ref: '#/components/schemas/ReportingDuration' + reportingLocationReq: + type: boolean + default: true + ReportingArea: + type: object + required: + - areaType + properties: + areaType: + $ref: '#/components/schemas/ReportingAreaType' + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + MotionEventInfo: + type: object + required: + - linearDistance + properties: + linearDistance: + $ref: '#/components/schemas/LinearDistance' + occurrenceInfo: + $ref: '#/components/schemas/OccurrenceInfo' + minimumInterval: + $ref: '#/components/schemas/MinimumInterval' + maximumInterval: + $ref: '#/components/schemas/MaximumInterval' + samplingInterval: + $ref: '#/components/schemas/SamplingInterval' + reportingDuration: + $ref: '#/components/schemas/ReportingDuration' + reportingLocationReq: + type: boolean + default: true + ReportingAccessTypes: + type: array + items: + $ref: '#/components/schemas/ReportingAccessType' + minItems: 1 + CancelLocData: + type: object + required: + - hgmlcCallBackURI + - ldrReference + properties: + hgmlcCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ldrReference: + $ref: '#/components/schemas/LdrReference' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + LocContextData: + type: object + required: + - amfId + - ldrType + - hgmlcCallBackURI + - ldrReference + - eventReportMessage + properties: + amfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + locationQoS: + $ref: '#/components/schemas/LocationQoS' + supportedGADShapes: + type: array + items: + $ref: '#/components/schemas/SupportedGADShapes' + minItems: 1 + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ldrType: + $ref: '#/components/schemas/LdrType' + hgmlcCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ldrReference: + $ref: '#/components/schemas/LdrReference' + periodicEventInfo: + $ref: '#/components/schemas/PeriodicEventInfo' + areaEventInfo: + $ref: '#/components/schemas/AreaEventInfo' + motionEventInfo: + $ref: '#/components/schemas/MotionEventInfo' + eventReportMessage: + $ref: '#/components/schemas/EventReportMessage' + eventReportingStatus: + $ref: '#/components/schemas/EventReportingStatus' + ueLocationInfo: + $ref: '#/components/schemas/UELocationInfo' + cIoT5GSOptimisation: + type: boolean + default: false + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + EventReportMessage: + type: object + required: + - eventClass + - eventContent + properties: + eventClass: + $ref: '#/components/schemas/EventClass' + eventContent: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + EventReportingStatus: + type: object + properties: + eventReportCounter: + $ref: '#/components/schemas/EventReportCounter' + eventReportDuration: + $ref: '#/components/schemas/EventReportDuration' + UELocationInfo: + type: object + properties: + locationEstimate: + $ref: '#/components/schemas/GeographicArea' + ageOfLocationEstimate: + $ref: '#/components/schemas/AgeOfLocationEstimate' + velocityEstimate: + $ref: '#/components/schemas/VelocityEstimate' + ageOfVelocityEstimate: + $ref: '#/components/schemas/AgeOfLocationEstimate' + + EventNotifyData: + type: object + required: + - reportedEventType + - ldrReference + properties: + reportedEventType: + $ref: '#/components/schemas/ReportedEventType' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + hgmlcCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ldrReference: + $ref: '#/components/schemas/LdrReference' + locationEstimate: + $ref: '#/components/schemas/GeographicArea' + ageOfLocationEstimate: + $ref: '#/components/schemas/AgeOfLocationEstimate' + civicAddress: + $ref: '#/components/schemas/CivicAddress' + positioningDataList: + type: array + items: + $ref: '#/components/schemas/PositioningMethodAndUsage' + minItems: 1 + gnssPositioningDataList: + type: array + items: + $ref: '#/components/schemas/GnssPositioningMethodAndUsage' + minItems: 1 + servingLMFidentification: + $ref: '#/components/schemas/LMFIdentification' + terminationCause: + $ref: '#/components/schemas/TerminationCause' + velocityEstimate: + $ref: '#/components/schemas/VelocityEstimate' + altitude: + $ref: '#/components/schemas/Altitude' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + UeConnectivityState: + type: object + required: + - accessType + properties: + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + connectivitystate: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmState' +# +# +# SIMPLE TYPES +# + Altitude: + type: number + format: double + minimum: -32767 + maximum: 32767 + Angle: + type: integer + minimum: 0 + maximum: 360 + Uncertainty: + type: number + format: float + minimum: 0 + Orientation: + type: integer + minimum: 0 + maximum: 180 + Confidence: + type: integer + minimum: 0 + maximum: 100 + Accuracy: + type: number + format: float + minimum: 0 + InnerRadius: + type: integer + format: int32 + minimum: 0 + maximum: 327675 + CorrelationID: + type: string + minLength: 1 + maxLength: 255 + AgeOfLocationEstimate: + type: integer + minimum: 0 + maximum: 32767 + HorizontalSpeed: + type: number + format: float + minimum: 0 + maximum: 2047 + VerticalSpeed: + type: number + format: float + minimum: 0 + maximum: 255 + SpeedUncertainty: + type: number + format: float + minimum: 0 + maximum: 255 + BarometricPressure: + type: integer + minimum: 30000 + maximum: 115000 + LcsServiceType: + type: integer + minimum: 0 + maximum: 127 + LdrReference: + type: string + minLength: 2 + maxLength: 510 + ReportingAmount: + type: integer + minimum: 1 + maximum: 8639999 + ReportingInterval: + type: integer + minimum: 1 + maximum: 8639999 + MinimumInterval: + type: integer + minimum: 1 + maximum: 32767 + MaximumInterval: + type: integer + minimum: 1 + maximum: 86400 + SamplingInterval: + type: integer + minimum: 1 + maximum: 3600 + ReportingDuration: + type: integer + minimum: 1 + maximum: 8640000 + LinearDistance: + type: integer + minimum: 1 + maximum: 10000 + LMFIdentification: + type: string + EventReportCounter: + type: integer + minimum: 1 + maximum: 8640000 + EventReportDuration: + type: integer + minimum: 1 + maximum: 8640000 +# +# ENUMS +# + ExternalClientType: + anyOf: + - type: string + enum: + - EMERGENCY_SERVICES + - VALUE_ADDED_SERVICES + - PLMN_OPERATOR_SERVICES + - LAWFUL_INTERCEPT_SERVICES + - PLMN_OPERATOR_BROADCAST_SERVICES + - PLMN_OPERATOR_OM + - PLMN_OPERATOR_ANONYMOUS_STATISTICS + - PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT + - type: string + SupportedGADShapes: + anyOf: + - type: string + enum: + - POINT + - POINT_UNCERTAINTY_CIRCLE + - POINT_UNCERTAINTY_ELLIPSE + - POLYGON + - POINT_ALTITUDE + - POINT_ALTITUDE_UNCERTAINTY + - ELLIPSOID_ARC + - type: string + ResponseTime: + anyOf: + - type: string + enum: + - LOW_DELAY + - DELAY_TOLERANT + - NO_DELAY + - type: string + PositioningMethod: + anyOf: + - type: string + enum: + - CELLID + - ECID + - OTDOA + - BAROMETRIC_PRESSURE + - WLAN + - BLUETOOTH + - MBS + - MOTION_SENSOR + - DL_TDOA + - DL_AOD + - MULTI-RTT + - NR_ECID + - UL_TDOA + - UL_AOA + - NETWORK_SPECIFIC + - type: string + PositioningMode: + anyOf: + - type: string + enum: + - UE_BASED + - UE_ASSISTED + - CONVENTIONAL + - type: string + GnssId: + anyOf: + - type: string + enum: + - GPS + - GALILEO + - SBAS + - MODERNIZED_GPS + - QZSS + - GLONASS + - BDS + - NAVIC + - type: string + Usage: + anyOf: + - type: string + enum: + - UNSUCCESS + - SUCCESS_RESULTS_NOT_USED + - SUCCESS_RESULTS_USED_TO_VERIFY_LOCATION + - SUCCESS_RESULTS_USED_TO_GENERATE_LOCATION + - SUCCESS_METHOD_NOT_DETERMINED + - type: string + LcsPriority: + anyOf: + - type: string + enum: + - HIGHEST_PRIORITY + - NORMAL_PRIORITY + - type: string + VelocityRequested: + anyOf: + - type: string + enum: + - VELOCITY_IS_NOT_REQUESTED + - VELOCITY_IS_REQUESTED + - type: string + AccuracyFulfilmentIndicator: + anyOf: + - type: string + enum: + - REQUESTED_ACCURACY_FULFILLED + - REQUESTED_ACCURACY_NOT_FULFILLED + - type: string + VerticalDirection: + type: string + enum: + - UPWARD + - DOWNWARD + LdrType: + anyOf: + - type: string + enum: + - UE_AVAILABLE + - PERIODIC + - ENTERING_INTO_AREA + - LEAVING_FROM_AREA + - BEING_INSIDE_AREA + - MOTION + - type: string + ReportingAreaType: + anyOf: + - type: string + enum: + - EPS_TRACKING_AREA_IDENTITY + - E-UTRAN_CELL_GLOBAL_IDENTIFICATION + - 5GS_TRACKING_AREA_IDENTITY + - NR_CELL_GLOBAL_IDENTITY + - type: string + OccurrenceInfo: + anyOf: + - type: string + enum: + - ONE_TIME_EVENT + - MULTIPLE_TIME_EVENT + - type: string + ReportingAccessType: + anyOf: + - type: string + enum: + - NR + - EUTRA_CONNECTED_TO_5GC + - NON_3GPP_CONNECTED_TO_5GC + - type: string + EventClass: + anyOf: + - type: string + enum: + - SUPPLEMENTARY_SERVICES + - type: string + ReportedEventType: + anyOf: + - type: string + enum: + - PERIODIC_EVENT + - ENTERING_AREA_EVENT + - LEAVING_AREA_EVENT + - BEING_INSIDE_AREA_EVENT + - MOTION_EVENT + - MAXIMUM_INTERVAL_EXPIRATION_EVENT + - LOCATION_CANCELLATION_EVENT + - type: string + TerminationCause: + anyOf: + - type: string + enum: + - TERMINATION_BY_UE + - TERMINATION_BY_NETWORK + - NORMAL_TERMINATION + - type: string + LcsQosClass: + anyOf: + - type: string + enum: + - BEST_EFFORT + - ASSURED + - type: string + + UeLocationServiceInd: + anyOf: + - type: string + enum: + - LOCATION_ESTIMATE + - LOCATION_ASSISTANCE_DATA + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS32291_Nchf_ConvergedCharging.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS32291_Nchf_ConvergedCharging.yaml new file mode 100644 index 000000000..f086e2ae0 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/modified/TS32291_Nchf_ConvergedCharging.yaml @@ -0,0 +1,1509 @@ +openapi: 3.0.0 +info: + title: Nchf_ConvergedCharging + version: 3.0.2 + description: | + ConvergedCharging Service © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 32.291 V16.7.0: Telecommunication management; Charging management; + 5G system, charging service; Stage 3. + url: 'http://www.3gpp.org/ftp/Specs/archive/32_series/32.291/' +servers: + - url: '{apiRoot}/nchf-convergedcharging/v3' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - nchf-convergedcharging +paths: + /chargingdata: + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataResponse' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + chargingNotification: + '{$request.body#/notifyUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingNotifyRequest' + responses: + '204': + description: 'No Content, Notification was succesfull' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: >- + TS29571_CommonData.yaml#/components/schemas/ProblemDetails + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + '/chargingdata/{ChargingDataRef}/update': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + parameters: + - name: ChargingDataRef + in: path + description: a unique identifier for a charging data resource in a PLMN + required: true + schema: + type: string + responses: + '200': + description: OK. Updated Charging Data resource is returned + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataResponse' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + '/chargingdata/{ChargingDataRef}/release': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + parameters: + - name: ChargingDataRef + in: path + description: a unique identifier for a charging data resource in a PLMN + required: true + schema: + type: string + responses: + '204': + description: No Content. + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nchf-convergedcharging: Access to the Nchf_ConvergedCharging API + schemas: + ChargingDataRequest: + type: object + properties: + subscriberIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + tenantIdentifier: + type: string + chargingId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + mnSConsumerIdentifier: + type: string + nfConsumerIdentification: + $ref: '#/components/schemas/NFIdentification' + invocationTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + invocationSequenceNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + retransmissionIndicator: + type: boolean + oneTimeEvent: + type: boolean + oneTimeEventType: + $ref: '#/components/schemas/oneTimeEventType' + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + serviceSpecificationInfo: + type: string + multipleUnitUsage: + type: array + items: + $ref: '#/components/schemas/MultipleUnitUsage' + minItems: 0 + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + pDUSessionChargingInformation: + $ref: '#/components/schemas/PDUSessionChargingInformation' + roamingQBCInformation: + $ref: '#/components/schemas/RoamingQBCInformation' + sMSChargingInformation: + $ref: '#/components/schemas/SMSChargingInformation' + nEFChargingInformation: + $ref: '#/components/schemas/NEFChargingInformation' + registrationChargingInformation: + $ref: '#/components/schemas/RegistrationChargingInformation' + n2ConnectionChargingInformation: + $ref: '#/components/schemas/N2ConnectionChargingInformation' + locationReportingChargingInformation: + $ref: '#/components/schemas/LocationReportingChargingInformation' + nSPAChargingInformation: + $ref: '#/components/schemas/NSPAChargingInformation' + nSMChargingInformation: + $ref: '#/components/schemas/NSMChargingInformation' + required: + - nfConsumerIdentification + - invocationTimeStamp + - invocationSequenceNumber + ChargingDataResponse: + type: object + properties: + invocationTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + invocationSequenceNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + invocationResult: + $ref: '#/components/schemas/InvocationResult' + sessionFailover: + $ref: '#/components/schemas/SessionFailover' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + multipleUnitInformation: + type: array + items: + $ref: '#/components/schemas/MultipleUnitInformation' + minItems: 0 + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + pDUSessionChargingInformation: + $ref: '#/components/schemas/PDUSessionChargingInformation' + roamingQBCInformation: + $ref: '#/components/schemas/RoamingQBCInformation' + locationReportingChargingInformation: + $ref: '#/components/schemas/LocationReportingChargingInformation' + required: + - invocationTimeStamp + - invocationSequenceNumber + ChargingNotifyRequest: + type: object + properties: + notificationType: + $ref: '#/components/schemas/NotificationType' + reauthorizationDetails: + type: array + items: + $ref: '#/components/schemas/ReauthorizationDetails' + minItems: 0 + required: + - notificationType + ChargingNotifyResponse: + type: object + properties: + invocationResult: + $ref: '#/components/schemas/InvocationResult' + NFIdentification: + type: object + properties: + nFName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nFIPv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + nFIPv6Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + nFPLMNID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + nodeFunctionality: + $ref: '#/components/schemas/NodeFunctionality' + nFFqdn: + type: string + required: + - nodeFunctionality + MultipleUnitUsage: + type: object + properties: + ratingGroup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup' + requestedUnit: + $ref: '#/components/schemas/RequestedUnit' + usedUnitContainer: + type: array + items: + $ref: '#/components/schemas/UsedUnitContainer' + minItems: 0 + uPFID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + multihomedPDUAddress: + $ref: '#/components/schemas/PDUAddress' + required: + - ratingGroup + InvocationResult: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + failureHandling: + $ref: '#/components/schemas/FailureHandling' + Trigger: + type: object + properties: + triggerType: + $ref: '#/components/schemas/TriggerType' + triggerCategory: + $ref: '#/components/schemas/TriggerCategory' + timeLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + volumeLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + volumeLimit64: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + eventLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + maxNumberOfccc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + tariffTimeChange: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + required: + - triggerType + - triggerCategory + MultipleUnitInformation: + type: object + properties: + resultCode: + $ref: '#/components/schemas/ResultCode' + ratingGroup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup' + grantedUnit: + $ref: '#/components/schemas/GrantedUnit' + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + quotaHoldingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + finalUnitIndication: + $ref: '#/components/schemas/FinalUnitIndication' + timeQuotaThreshold: + type: integer + volumeQuotaThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + unitQuotaThreshold: + type: integer + uPFID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + required: + - ratingGroup + RequestedUnit: + type: object + properties: + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + serviceSpecificUnits: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + UsedUnitContainer: + type: object + properties: + serviceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceId' + quotaManagementIndicator: + $ref: '#/components/schemas/QuotaManagementIndicator' + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + triggerTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + serviceSpecificUnits: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + eventTimeStamps: + + type: array + + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minItems: 0 + localSequenceNumber: + type: integer + pDUContainerInformation: + $ref: '#/components/schemas/PDUContainerInformation' + nSPAContainerInformation: + $ref: '#/components/schemas/NSPAContainerInformation' + required: + - localSequenceNumber + GrantedUnit: + type: object + properties: + tariffTimeChange: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + serviceSpecificUnits: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + FinalUnitIndication: + type: object + properties: + finalUnitAction: + $ref: '#/components/schemas/FinalUnitAction' + restrictionFilterRule: + $ref: '#/components/schemas/IPFilterRule' + filterId: + type: string + redirectServer: + $ref: '#/components/schemas/RedirectServer' + required: + - finalUnitAction + RedirectServer: + type: object + properties: + redirectAddressType: + $ref: '#/components/schemas/RedirectAddressType' + redirectServerAddress: + type: string + required: + - redirectAddressType + - redirectServerAddress + ReauthorizationDetails: + type: object + properties: + serviceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceId' + ratingGroup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup' + quotaManagementIndicator: + $ref: '#/components/schemas/QuotaManagementIndicator' + PDUSessionChargingInformation: + type: object + properties: + chargingId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + homeProvidedChargingId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + userInformation: + $ref: '#/components/schemas/UserInformation' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + mAPDUNon3GPPUserLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + pduSessionInformation: + $ref: '#/components/schemas/PDUSessionInformation' + unitCountInactivityTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + rANSecondaryRATUsageReport: + $ref: '#/components/schemas/RANSecondaryRATUsageReport' + UserInformation: + type: object + properties: + servedGPSI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + servedPEI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + unauthenticatedFlag: + type: boolean + roamerInOut: + $ref: '#/components/schemas/RoamerInOut' + PDUSessionInformation: + type: object + properties: + networkSlicingInfo: + $ref: '#/components/schemas/NetworkSlicingInfo' + pduSessionID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + pduType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + sscMode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + hPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + servingNetworkFunctionID: + $ref: '#/components/schemas/ServingNetworkFunctionID' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + mAPDUNon3GPPRATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + dnnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + dnnSelectionMode: + $ref: '#/components/schemas/dnnSelectionMode' + chargingCharacteristics: + type: string + pattern: '^[0-9a-fA-F]{1,4}$' + chargingCharacteristicsSelectionMode: + $ref: '#/components/schemas/ChargingCharacteristicsSelectionMode' + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + stopTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + sessionStopIndicator: + type: boolean + pduAddress: + $ref: '#/components/schemas/PDUAddress' + diagnostics: + $ref: '#/components/schemas/Diagnostics' + authorizedQoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AuthorizedDefaultQos' + subscribedQoSInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos' + authorizedSessionAMBR: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + subscribedSessionAMBR: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + servingCNPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + mAPDUSessionInformation: + $ref: '#/components/schemas/MAPDUSessionInformation' + enhancedDiagnostics: + $ref: '#/components/schemas/EnhancedDiagnostics5G' + required: + - pduSessionID + - dnnId + PDUContainerInformation: + type: object + properties: + timeofFirstUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeofLastUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData' + qoSCharacteristics: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosCharacteristics' + afChargingIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + afChargingIdString: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationChargingId' + userLocationInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + servingNodeID: + type: array + items: + $ref: '#/components/schemas/ServingNetworkFunctionID' + minItems: 0 + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + sponsorIdentity: + type: string + applicationserviceProviderIdentity: + type: string + chargingRuleBaseName: + type: string + mAPDUSteeringFunctionality: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringFunctionality' + mAPDUSteeringMode: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringMode' + NSPAContainerInformation: + type: object + properties: + latency: + type: integer + throughput: + $ref: '#/components/schemas/Throughput' + maximumPacketLossRate: + type: string + serviceExperienceStatisticsData: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ServiceExperienceInfo' + theNumberOfPDUSessions: + type: integer + theNumberOfRegisteredSubscribers: + type: integer + loadLevel: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiLoadLevelInfo' + NSPAChargingInformation: + type: object + properties: + singleNSSAI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - singleNSSAI + NetworkSlicingInfo: + type: object + properties: + sNSSAI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - sNSSAI + PDUAddress: + type: object + properties: + pduIPv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + pduIPv6AddresswithPrefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + pduAddressprefixlength: + type: integer + iPv4dynamicAddressFlag: + type: boolean + iPv6dynamicPrefixFlag: + type: boolean + addIpv6AddrPrefixes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + ServingNetworkFunctionID: + type: object + properties: + servingNetworkFunctionInformation: + $ref: '#/components/schemas/NFIdentification' + aMFId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfId' + required: + - servingNetworkFunctionInformation + RoamingQBCInformation: + type: object + properties: + multipleQFIcontainer: + type: array + items: + $ref: '#/components/schemas/MultipleQFIcontainer' + minItems: 0 + uPFID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + roamingChargingProfile: + $ref: '#/components/schemas/RoamingChargingProfile' + MultipleQFIcontainer: + type: object + properties: + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + triggerTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + localSequenceNumber: + type: integer + qFIContainerInformation: + $ref: '#/components/schemas/QFIContainerInformation' + required: + - localSequenceNumber + QFIContainerInformation: + type: object + properties: + qFI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + reportTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeofFirstUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeofLastUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData' + qoSCharacteristics: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosCharacteristics' + userLocationInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + servingNetworkFunctionID: + type: array + items: + $ref: '#/components/schemas/ServingNetworkFunctionID' + minItems: 0 + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + 3gppChargingId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + diagnostics: + $ref: '#/components/schemas/Diagnostics' + enhancedDiagnostics: + type: array + items: + type: string + required: + - reportTime + RoamingChargingProfile: + type: object + properties: + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + partialRecordMethod: + $ref: '#/components/schemas/PartialRecordMethod' + SMSChargingInformation: + type: object + properties: + originatorInfo: + $ref: '#/components/schemas/OriginatorInfo' + recipientInfo: + type: array + items: + $ref: '#/components/schemas/RecipientInfo' + minItems: 0 + userEquipmentInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + roamerInOut: + $ref: '#/components/schemas/RoamerInOut' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + sMSCAddress: + type: string + sMDataCodingScheme: + type: integer + sMMessageType: + $ref: '#/components/schemas/SMMessageType' + sMReplyPathRequested: + $ref: '#/components/schemas/ReplyPathRequested' + sMUserDataHeader: + type: string + sMStatus: + type: string + pattern: '^[0-7]?[0-9a-fA-F]$' + sMDischargeTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + numberofMessagesSent: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + sMServiceType: + $ref: '#/components/schemas/SMServiceType' + sMSequenceNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + sMSresult: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + submissionTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + sMPriority: + $ref: '#/components/schemas/SMPriority' + messageReference: + type: string + messageSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + messageClass: + $ref: '#/components/schemas/MessageClass' + deliveryReportRequested: + $ref: '#/components/schemas/DeliveryReportRequested' + OriginatorInfo: + type: object + properties: + originatorSUPI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + originatorGPSI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + originatorOtherAddress: + $ref: '#/components/schemas/SMAddressInfo' + originatorReceivedAddress: + $ref: '#/components/schemas/SMAddressInfo' + originatorSCCPAddress: + type: string + sMOriginatorInterface: + $ref: '#/components/schemas/SMInterface' + sMOriginatorProtocolId: + type: string + RecipientInfo: + type: object + properties: + recipientSUPI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + recipientGPSI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + recipientOtherAddress: + $ref: '#/components/schemas/SMAddressInfo' + recipientReceivedAddress: + $ref: '#/components/schemas/SMAddressInfo' + recipientSCCPAddress: + type: string + sMDestinationInterface: + $ref: '#/components/schemas/SMInterface' + sMrecipientProtocolId: + type: string + SMAddressInfo: + type: object + properties: + sMaddressType: + $ref: '#/components/schemas/SMAddressType' + sMaddressData: + type: string + sMaddressDomain: + $ref: '#/components/schemas/SMAddressDomain' + RecipientAddress: + type: object + properties: + recipientAddressInfo: + $ref: '#/components/schemas/SMAddressInfo' + sMaddresseeType: + $ref: '#/components/schemas/SMAddresseeType' + MessageClass: + type: object + properties: + classIdentifier: + $ref: '#/components/schemas/ClassIdentifier' + tokenText: + type: string + SMAddressDomain: + type: object + properties: + domainName: + type: string + 3GPPIMSIMCCMNC: + type: string + SMInterface: + type: object + properties: + interfaceId: + type: string + interfaceText: + type: string + interfacePort: + type: string + interfaceType: + $ref: '#/components/schemas/InterfaceType' + RANSecondaryRATUsageReport: + type: object + properties: + rANSecondaryRATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + qosFlowsUsageReports: + type: array + items: + $ref: '#/components/schemas/QosFlowsUsageReport' + Diagnostics: + type: integer + IPFilterRule: + type: string + QosFlowsUsageReport: + type: object + properties: + qFI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + startTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + NEFChargingInformation: + type: object + properties: + externalIndividualIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + externalGroupIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + groupIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + aPIDirection: + $ref: '#/components/schemas/APIDirection' + aPITargetNetworkFunction: + $ref: '#/components/schemas/NFIdentification' + aPIResultCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + aPIName: + type: string + aPIReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + aPIContent: + type: string + required: + - aPIName + RegistrationChargingInformation: + type: object + properties: + registrationMessagetype: + $ref: '#/components/schemas/RegistrationMessageType' + userInformation: + $ref: '#/components/schemas/UserInformation' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + pSCellInformation: + $ref: '#/components/schemas/PSCellInformation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + 5GMMCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + mICOModeIndication: + $ref: '#/components/schemas/MICOModeIndication' + smsIndication: + $ref: '#/components/schemas/SmsIndication' + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 0 + serviceAreaRestriction: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + minItems: 0 + requestedNSSAI: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 0 + allowedNSSAI: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 0 + rejectedNSSAI: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 0 + nSSAIMapList: + type: array + items: + $ref: '#/components/schemas/NSSAIMap' + minItems: 0 + amfUeNgapId: + type: integer + ranUeNgapId: + type: integer + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + required: + - registrationMessagetype + PSCellInformation: + type: object + properties: + nrcgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + NSSAIMap: + type: object + properties: + servingSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + homeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - servingSnssai + - homeSnssai + N2ConnectionChargingInformation: + type: object + properties: + n2ConnectionMessageType: + $ref: '#/components/schemas/N2ConnectionMessageType' + userInformation: + $ref: '#/components/schemas/UserInformation' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + pSCellInformation: + $ref: '#/components/schemas/PSCellInformation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + amfUeNgapId: + type: integer + ranUeNgapId: + type: integer + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + restrictedRatList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 0 + forbiddenAreaList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Area' + minItems: 0 + serviceAreaRestriction: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + minItems: 0 + restrictedCnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CoreNetworkType' + minItems: 0 + allowedNSSAI: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 0 + rrcEstCause: + type: string + pattern: '^[0-9a-fA-F]+$' + required: + - n2ConnectionMessageType + LocationReportingChargingInformation: + type: object + properties: + locationReportingMessageType: + $ref: '#/components/schemas/LocationReportingMessageType' + userInformation: + $ref: '#/components/schemas/UserInformation' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + pSCellInformation: + $ref: '#/components/schemas/PSCellInformation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + required: + - locationReportingMessageType + N2ConnectionMessageType: + type: integer + LocationReportingMessageType: + type: integer + NSMChargingInformation: + type: object + properties: + managementOperation: + $ref: '#/components/schemas/ManagementOperation' + idNetworkSliceInstance: + type: string + listOfserviceProfileChargingInformation: + type: array + items: + $ref: '#/components/schemas/ServiceProfileChargingInformation' + minItems: 0 + managementOperationStatus: + $ref: '#/components/schemas/ManagementOperationStatus' +# To be introduced once the reference to 'generic.yaml is resolved +# managementOperationalState: +# $ref: 'genericNrm.yaml#/components/schemas/OperationalState' +# managementAdministrativeState: +# $ref: 'genericNrm.yaml#/components/schemas/AdministrativeState' + required: + - managementOperation + ServiceProfileChargingInformation: + type: object + properties: + serviceProfileIdentifier: + type: string + sNSSAIList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 0 +# To be introduced once the reference to 'nrNrm.yaml is resolved +# sST: +# $ref: 'nrNrm.yaml#/components/schemas/Sst' + latency: + type: integer + availability: + type: number +# To be introduced once the reference to sliceNrm.yaml is resolved +# resourceSharingLevel: +# $ref: 'sliceNrm.yaml#/components/schemas/SharingLevel' + jitter: + type: integer + reliability: + type: string + maxNumberofUEs: + type: integer + coverageArea: + type: string +# To be introduced once the reference to sliceNrm.yaml is resolved +# uEMobilityLevel: +# $ref: 'sliceNrm.yaml#/components/schemas/MobilityLevel' +# delayToleranceIndicator: +# $ref: 'sliceNrm.yaml#/components/schemas/Support' + dLThptPerSlice: + $ref: '#/components/schemas/Throughput' + dLThptPerUE: + $ref: '#/components/schemas/Throughput' + uLThptPerSlice: + $ref: '#/components/schemas/Throughput' + uLThptPerUE: + $ref: '#/components/schemas/Throughput' + maxNumberofPDUsessions: + type: integer + kPIMonitoringList: + type: string + supportedAccessTechnology: + type: integer +# To be introduced once the reference to sliceNrm.yaml is resolved +# v2XCommunicationModeIndicator: +# $ref: 'sliceNrm.yaml#/components/schemas/Support' + addServiceProfileInfo: + type: string + Throughput: + type: object + properties: + guaranteedThpt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + maximumThpt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + MAPDUSessionInformation: + type: object + properties: + mAPDUSessionIndicator: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/MaPduIndication' + aTSSSCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AtsssCapability' + EnhancedDiagnostics5G: + $ref: '#/components/schemas/RanNasCauseList' + RanNasCauseList: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RanNasRelCause' + NotificationType: + anyOf: + - type: string + enum: + - REAUTHORIZATION + - ABORT_CHARGING + - type: string + NodeFunctionality: + anyOf: + - type: string + enum: + - AMF + - SMF + - SMS + - PGW_C_SMF + - NEFF # Included for backwards compatibility, shall not be used + - SGW + - I_SMF + - ePDG + - CEF + - NEF + - MnS_Producer + - type: string + ChargingCharacteristicsSelectionMode: + anyOf: + - type: string + enum: + - HOME_DEFAULT + - ROAMING_DEFAULT + - VISITING_DEFAULT + - type: string + TriggerType: + anyOf: + - type: string + enum: + - QUOTA_THRESHOLD + - QHT + - FINAL + - QUOTA_EXHAUSTED + - VALIDITY_TIME + - OTHER_QUOTA_TYPE + - FORCED_REAUTHORISATION + - UNUSED_QUOTA_TIMER # Included for backwards compatibility, shall not be used + - UNIT_COUNT_INACTIVITY_TIMER + - ABNORMAL_RELEASE + - QOS_CHANGE + - VOLUME_LIMIT + - TIME_LIMIT + - EVENT_LIMIT + - PLMN_CHANGE + - USER_LOCATION_CHANGE + - RAT_CHANGE + - SESSION_AMBR_CHANGE + - UE_TIMEZONE_CHANGE + - TARIFF_TIME_CHANGE + - MAX_NUMBER_OF_CHANGES_IN_CHARGING_CONDITIONS + - MANAGEMENT_INTERVENTION + - CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA + - CHANGE_OF_3GPP_PS_DATA_OFF_STATUS + - SERVING_NODE_CHANGE + - REMOVAL_OF_UPF + - ADDITION_OF_UPF + - INSERTION_OF_ISMF + - REMOVAL_OF_ISMF + - CHANGE_OF_ISMF + - START_OF_SERVICE_DATA_FLOW + - ECGI_CHANGE + - TAI_CHANGE + - HANDOVER_CANCEL + - HANDOVER_START + - HANDOVER_COMPLETE + - GFBR_GUARANTEED_STATUS_CHANGE + - ADDITION_OF_ACCESS + - REMOVAL_OF_ACCESS + - START_OF_SDF_ADDITIONAL_ACCESS + - type: string + FinalUnitAction: + anyOf: + - type: string + enum: + - TERMINATE + - REDIRECT + - RESTRICT_ACCESS + - type: string + RedirectAddressType: + anyOf: + - type: string + enum: + - IPV4 + - IPV6 + - URL + - type: string + TriggerCategory: + anyOf: + - type: string + enum: + - IMMEDIATE_REPORT + - DEFERRED_REPORT + - type: string + QuotaManagementIndicator: + anyOf: + - type: string + enum: + - ONLINE_CHARGING + - OFFLINE_CHARGING + - QUOTA_MANAGEMENT_SUSPENDED + - type: string + FailureHandling: + anyOf: + - type: string + enum: + - TERMINATE + - CONTINUE + - RETRY_AND_TERMINATE + - type: string + SessionFailover: + anyOf: + - type: string + enum: + - FAILOVER_NOT_SUPPORTED + - FAILOVER_SUPPORTED + - type: string + 3GPPPSDataOffStatus: + anyOf: + - type: string + enum: + - ACTIVE + - INACTIVE + - type: string + ResultCode: + anyOf: + - type: string + enum: + - SUCCESS + - END_USER_SERVICE_DENIED + - QUOTA_MANAGEMENT_NOT_APPLICABLE + - QUOTA_LIMIT_REACHED + - END_USER_SERVICE_REJECTED + - USER_UNKNOWN + - RATING_FAILED + - QUOTA_MANAGEMENT + - type: string + PartialRecordMethod: + anyOf: + - type: string + enum: + - DEFAULT + - INDIVIDUAL + - type: string + RoamerInOut: + anyOf: + - type: string + enum: + - IN_BOUND + - OUT_BOUND + - type: string + SMMessageType: + anyOf: + - type: string + enum: + - SUBMISSION + - DELIVERY_REPORT + - SM_SERVICE_REQUEST + - DELIVERY + - type: string + SMPriority: + anyOf: + - type: string + enum: + - LOW + - NORMAL + - HIGH + - type: string + DeliveryReportRequested: + anyOf: + - type: string + enum: + - YES + - NO + - type: string + InterfaceType: + anyOf: + - type: string + enum: + - UNKNOWN + - MOBILE_ORIGINATING + - MOBILE_TERMINATING + - APPLICATION_ORIGINATING + - APPLICATION_TERMINATING + - type: string + ClassIdentifier: + anyOf: + - type: string + enum: + - PERSONAL + - ADVERTISEMENT + - INFORMATIONAL + - AUTO + - type: string + SMAddressType: + anyOf: + - type: string + enum: + - EMAIL_ADDRESS + - MSISDN + - IPV4_ADDRESS + - IPV6_ADDRESS + - NUMERIC_SHORTCODE + - ALPHANUMERIC_SHORTCODE + - OTHER + - IMSI + - type: string + SMAddresseeType: + anyOf: + - type: string + enum: + - TO + - CC + - BCC + - type: string + SMServiceType: + anyOf: + - type: string + enum: + - VAS4SMS_SHORT_MESSAGE_CONTENT_PROCESSING + - VAS4SMS_SHORT_MESSAGE_FORWARDING + - VAS4SMS_SHORT_MESSAGE_FORWARDING_MULTIPLE_SUBSCRIPTIONS + - VAS4SMS_SHORT_MESSAGE_FILTERING + - VAS4SMS_SHORT_MESSAGE_RECEIPT + - VAS4SMS_SHORT_MESSAGE_NETWORK_STORAGE + - VAS4SMS_SHORT_MESSAGE_TO_MULTIPLE_DESTINATIONS + - VAS4SMS_SHORT_MESSAGE_VIRTUAL_PRIVATE_NETWORK(VPN) + - VAS4SMS_SHORT_MESSAGE_AUTO_REPLY + - VAS4SMS_SHORT_MESSAGE_PERSONAL_SIGNATURE + - VAS4SMS_SHORT_MESSAGE_DEFERRED_DELIVERY + - type: string + ReplyPathRequested: + anyOf: + - type: string + enum: + - NO_REPLY_PATH_SET + - REPLY_PATH_SET + - type: string + oneTimeEventType: + anyOf: + - type: string + enum: + - IEC + - PEC + - type: string + dnnSelectionMode: + anyOf: + - type: string + enum: + - VERIFIED + - UE_DNN_NOT_VERIFIED + - NW_DNN_NOT_VERIFIED + - type: string + APIDirection: + anyOf: + - type: string + enum: + - INVOCATION + - NOTIFICATION + - type: string + RegistrationMessageType: + anyOf: + - type: string + enum: + - INITIAL + - MOBILITY + - PERIODIC + - EMERGENCY + - DEREGISTRATION + - type: string + MICOModeIndication: + anyOf: + - type: string + enum: + - MICO_MODE + - NO_MICO_MODE + - type: string + SmsIndication: + anyOf: + - type: string + enum: + - SMS_SUPPORTED + - SMS_NOT_SUPPORTED + - type: string + ManagementOperation: + anyOf: + - type: string + enum: + - CreateMOI + - ModifyMOIAttributes + - DeleteMOI + - type: string + ManagementOperationStatus: + anyOf: + - type: string + enum: + - OPERATION_SUCCEEDED + - OPERATION_FAILED + - type: string + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/VERSION b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/VERSION new file mode 100644 index 000000000..ac14c3dfa --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/VERSION @@ -0,0 +1 @@ +5.1.1 diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/config.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/config.yaml new file mode 100644 index 000000000..74a3305b0 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/config.yaml @@ -0,0 +1,13 @@ +enablePostProcessFile: true +templateDir: "./openapi-generator/templates" +reservedWordsMappings: + 3GPP_ACCESS: "3GPP_ACCESS" + 5G_EIR: "5G_EIR" + 5G_AKA: "5G_AKA" + 5G_HE_AKA: "5G_HE_AKA" + 5GMM: "5GMM" +files: + any_type.h: + folder: model + any_type.c: + folder: model diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/any_type.c b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/any_type.c new file mode 100644 index 000000000..015c07aaf --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/any_type.c @@ -0,0 +1,121 @@ +#include "any_type.h" + +bool OpenAPI_IsInvalid(const OpenAPI_any_type_t * const item) +{ + return item && cJSON_IsInvalid(item->json); +} +bool OpenAPI_IsFalse(const OpenAPI_any_type_t * const item) +{ + return item && cJSON_IsFalse(item->json); +} +bool OpenAPI_IsTrue(const OpenAPI_any_type_t * const item) +{ + return item && cJSON_IsTrue(item->json); +} +bool OpenAPI_IsBool(const OpenAPI_any_type_t * const item) +{ + return item && cJSON_IsBool(item->json); +} +bool OpenAPI_IsNull(const OpenAPI_any_type_t * const item) +{ + return item && cJSON_IsNull(item->json); +} +bool OpenAPI_IsNumber(const OpenAPI_any_type_t * const item) +{ + return item && cJSON_IsNumber(item->json); +} +bool OpenAPI_IsString(const OpenAPI_any_type_t * const item) +{ + return item && cJSON_IsString(item->json); +} +bool OpenAPI_IsArray(const OpenAPI_any_type_t * const item) +{ + return item && cJSON_IsArray(item->json); +} +bool OpenAPI_IsObject(const OpenAPI_any_type_t * const item) +{ + return item && cJSON_IsObject(item->json); +} +bool OpenAPI_IsRaw(const OpenAPI_any_type_t * const item) +{ + return item && cJSON_IsRaw(item->json); +} + +static OpenAPI_any_type_t *any_create(cJSON *json) { + OpenAPI_any_type_t *any_type = NULL; + + if (!json) { + return NULL; + } + + any_type = ogs_calloc(1, sizeof(*any_type)); + if (!any_type) { + cJSON_Delete(json); + } + any_type->json = json; + + return any_type; +} + +OpenAPI_any_type_t *OpenAPI_any_type_create(cJSON *json) { + OpenAPI_any_type_t *any_type_local_var = + any_create(cJSON_Duplicate(json, true)); + ogs_assert(any_type_local_var); + + return any_type_local_var; +} + +OpenAPI_any_type_t *OpenAPI_any_type_parseFromJSON(cJSON *json) { + return OpenAPI_any_type_create(json); +} + +cJSON *OpenAPI_any_type_convertToJSON(OpenAPI_any_type_t *any_type) { + cJSON *item = NULL; + + if (any_type == NULL) { + ogs_error("OpenAPI_any_type_convertToJSON() failed [AnyType]"); + return NULL; + } + + item = cJSON_Duplicate(any_type->json, true); + if (item == NULL) { + ogs_error("OpenAPI_any_type_convertToJSON() failed [AnyType]"); + return NULL; + } + + return item; +} + +OpenAPI_any_type_t *OpenAPI_any_type_create_true(void) +{ + return OpenAPI_any_type_create_bool(true); +} + +OpenAPI_any_type_t *OpenAPI_any_type_create_false(void) +{ + return OpenAPI_any_type_create_bool(false); +} + +OpenAPI_any_type_t *OpenAPI_any_type_create_bool(bool boolean) +{ + return any_create(boolean ? cJSON_CreateTrue() : cJSON_CreateFalse()); +} + +OpenAPI_any_type_t *OpenAPI_any_type_create_number(double num) +{ + return any_create(cJSON_CreateNumber(num)); +} + + +OpenAPI_any_type_t *OpenAPI_any_type_create_string(const char *string) +{ + return any_create(cJSON_CreateString(string)); +} + +void OpenAPI_any_type_free(OpenAPI_any_type_t *any_type) +{ + if (any_type) { + cJSON_Delete(any_type->json); + ogs_free(any_type); + } +} diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/any_type.h b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/any_type.h new file mode 100644 index 000000000..971ef78cd --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/any_type.h @@ -0,0 +1,55 @@ +#ifndef OGS_SBI_ANY_TYPE_H +#define OGS_SBI_ANY_TYPE_H + +#include "../external/cJSON.h" +#include "ogs-core.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define OpenAPI_Invalid (0) +#define OpenAPI_False (1 << 0) +#define OpenAPI_True (1 << 1) +#define OpenAPI_NULL (1 << 2) +#define OpenAPI_Number (1 << 3) +#define OpenAPI_String (1 << 4) +#define OpenAPI_Array (1 << 5) +#define OpenAPI_Object (1 << 6) +#define OpenAPI_Raw (1 << 7) /* raw json */ + +#define OpenAPI_IsReference 256 +#define OpenAPI_StringIsConst 512 + +typedef struct OpenAPI_any_type_s OpenAPI_any_type_t; +typedef struct OpenAPI_any_type_s { + cJSON *json; +} OpenAPI_any_type_t; + +bool OpenAPI_IsInvalid(const OpenAPI_any_type_t * const item); +bool OpenAPI_IsFalse(const OpenAPI_any_type_t * const item); +bool OpenAPI_IsTrue(const OpenAPI_any_type_t * const item); +bool OpenAPI_IsBool(const OpenAPI_any_type_t * const item); +bool OpenAPI_IsNull(const OpenAPI_any_type_t * const item); +bool OpenAPI_IsNumber(const OpenAPI_any_type_t * const item); +bool OpenAPI_IsString(const OpenAPI_any_type_t * const item); +bool OpenAPI_IsArray(const OpenAPI_any_type_t * const item); +bool OpenAPI_IsObject(const OpenAPI_any_type_t * const item); +bool OpenAPI_IsRaw(const OpenAPI_any_type_t * const item); + +OpenAPI_any_type_t *OpenAPI_any_type_create(cJSON *json); +OpenAPI_any_type_t *OpenAPI_any_type_parseFromJSON(cJSON *json); +cJSON *OpenAPI_any_type_convertToJSON(OpenAPI_any_type_t *any_type); + +OpenAPI_any_type_t *OpenAPI_any_type_create_true(void); +OpenAPI_any_type_t *OpenAPI_any_type_create_false(void); +OpenAPI_any_type_t *OpenAPI_any_type_create_bool(bool boolean); +OpenAPI_any_type_t *OpenAPI_any_type_create_number(double num); +OpenAPI_any_type_t *OpenAPI_any_type_create_string(const char *string); +void OpenAPI_any_type_free(OpenAPI_any_type_t *any_type); + +#ifdef __cplusplus +} +#endif + +#endif /* OGS_SBI_ANY_TYPE_H */ diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/apiKey.c.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/apiKey.c.mustache new file mode 100644 index 000000000..e20978310 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/apiKey.c.mustache @@ -0,0 +1,30 @@ +#include +#include +#include "../include/keyValuePair.h" + +OpenAPI_map_t *OpenAPI_map_create(char *key, void *value) +{ + OpenAPI_map_t *OpenAPI_map = NULL; + + ogs_assert(key); + + OpenAPI_map = ogs_malloc(sizeof(OpenAPI_map_t)); + ogs_assert(OpenAPI_map); + OpenAPI_map->key = key; + OpenAPI_map->value = value; + + return OpenAPI_map; +} + +OpenAPI_map_t *OpenAPI_map_create_allocate(char *key, double value) +{ + double* boolpointer = ogs_malloc(sizeof(value)); + ogs_assert(boolpointer); + memcpy(boolpointer, &value, sizeof(value)); + return OpenAPI_map_create(key, boolpointer); +} + +void OpenAPI_map_free(OpenAPI_map_t *OpenAPI_map) +{ + ogs_free(OpenAPI_map); +} diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/binary.c.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/binary.c.mustache new file mode 100644 index 000000000..8cf5849dc --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/binary.c.mustache @@ -0,0 +1,65 @@ +#include +#include +#include "../include/binary.h" +#ifdef OPENSSL +#include "openssl/pem.h" +#endif + +OpenAPI_binary_t *OpenAPI_instantiate_binary_t(char *data, int len) +{ + OpenAPI_binary_t* ret = malloc(sizeof(OpenAPI_binary_t)); + + ret->len=len; + ret->data = malloc(len); + memcpy(ret->data, data, len); + + return ret; +} + +char *OpenAPI_base64encode(const void *b64_encode_this, + int encode_this_many_bytes) +{ +#ifdef OPENSSL + BIO *b64_bio, *mem_bio; //Declares two OpenSSL BIOs: a base64 filter and a memory BIO. + BUF_MEM *mem_bio_mem_ptr; //Pointer to a "memory BIO" structure holding our base64 data. + b64_bio = BIO_new(BIO_f_base64()); //Initialize our base64 filter BIO. + mem_bio = BIO_new(BIO_s_mem()); //Initialize our memory sink BIO. + BIO_push(b64_bio, mem_bio); //Link the BIOs by creating a filter-sink BIO chain. + BIO_set_flags(b64_bio, BIO_FLAGS_BASE64_NO_NL); //No newlines every 64 characters or less. + BIO_write(b64_bio, b64_encode_this, encode_this_many_bytes); //Records base64 encoded data. + BIO_flush(b64_bio); //Flush data. Necessary for b64 encoding, because of pad characters. + BIO_get_mem_ptr(mem_bio, &mem_bio_mem_ptr); //Store address of mem_bio's memory structure. + BIO_set_close(mem_bio, BIO_NOCLOSE); //Permit access to mem_ptr after BIOs are destroyed. + BIO_free_all(b64_bio); //Destroys all BIOs in chain, starting with b64 (i.e. the 1st one). + BUF_MEM_grow(mem_bio_mem_ptr, (*mem_bio_mem_ptr).length + 1); //Makes space for end null. + (*mem_bio_mem_ptr).data[(*mem_bio_mem_ptr).length] = '\0'; //Adds null-terminator to tail. + return (*mem_bio_mem_ptr).data; //Returns base-64 encoded data. (See: "buf_mem_st" struct). +#else // OPENSSL +//#warning Data will not be encoded. If you want to use function "base64encode", please define "-DOPENSSL" when building the library. + return NULL; +#endif // OPENSSL +} + +char *OpenAPI_base64decode(const void *b64_decode_this, + int decode_this_many_bytes, int *decoded_bytes) +{ +#ifdef OPENSSL + BIO *b64_bio, *mem_bio; //Declares two OpenSSL BIOs: a base64 filter and a memory BIO. + char *base64_decoded = calloc( (decode_this_many_bytes*3)/4+1, sizeof(char) ); //+1 = null. + b64_bio = BIO_new(BIO_f_base64()); //Initialize our base64 filter BIO. + mem_bio = BIO_new(BIO_s_mem()); //Initialize our memory source BIO. + BIO_write(mem_bio, b64_decode_this, decode_this_many_bytes); //Base64 data saved in source. + BIO_push(b64_bio, mem_bio); //Link the BIOs by creating a filter-source BIO chain. + BIO_set_flags(b64_bio, BIO_FLAGS_BASE64_NO_NL); //Don't require trailing newlines. + int decoded_byte_index = 0; //Index where the next base64_decoded byte should be written. + while ( 0 < BIO_read(b64_bio, base64_decoded+decoded_byte_index, 1) ){ //Read byte-by-byte. + decoded_byte_index++; //Increment the index until read of BIO decoded data is complete. + } //Once we're done reading decoded data, BIO_read returns -1 even though there's no error. + BIO_free_all(b64_bio); //Destroys all BIOs in chain, starting with b64 (i.e. the 1st one). + *decoded_bytes = decoded_byte_index; + return base64_decoded; //Returns base-64 decoded data with trailing null terminator. +#else // OPENSSL +//#warning Data will not be decoded. If you want to use function "base64decode", please define "-DOPENSSL" when building the library. + return NULL; +#endif // OPENSSL +} diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/binary.h.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/binary.h.mustache new file mode 100644 index 000000000..5f8a2f4d5 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/binary.h.mustache @@ -0,0 +1,27 @@ +#ifndef OGS_SBI_BINARY_H +#define OGS_SBI_BINARY_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct OpenAPI_binary_s { + char* data; + int len; +} OpenAPI_binary_t; + +OpenAPI_binary_t *OpenAPI_instantiate_binary_t(char *data, int len); + +char *OpenAPI_base64encode(const void *b64_encode_this, + int encode_this_many_bytes); + +char *OpenAPI_base64decode(const void *b64_decode_this, + int decode_this_many_bytes, int *decoded_bytes); + +#ifdef __cplusplus +} +#endif + +#endif // OGS_SBI_BINARY_H diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/cJSON.c.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/cJSON.c.mustache new file mode 100644 index 000000000..2ebd75bf9 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/cJSON.c.mustache @@ -0,0 +1,3139 @@ +/* + Copyright (c) 2009-2017 Dave Gamble and cJSON contributors + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +/* cJSON */ +/* JSON parser in C. */ + +/* disable warnings about old C89 functions in MSVC */ +#if !defined(_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) +#define _CRT_SECURE_NO_DEPRECATE +#endif + +#ifdef __GNUC__ +#pragma GCC visibility push(default) +#endif +#if defined(_MSC_VER) +#pragma warning (push) +/* disable warning about single line comments in system headers */ +#pragma warning (disable : 4001) +#endif + +#include +#include +#include +#include +#include +#include +#include + +#ifdef ENABLE_LOCALES +#include +#endif + +#if defined(_MSC_VER) +#pragma warning (pop) +#endif +#ifdef __GNUC__ +#pragma GCC visibility pop +#endif + +#include "cJSON.h" + +/* define our own boolean type */ +#ifdef true +#undef true +#endif +#define true ((cJSON_bool)1) + +#ifdef false +#undef false +#endif +#define false ((cJSON_bool)0) + +/* define isnan and isinf for ANSI C, if in C99 or above, isnan and isinf has been defined in math.h */ +#ifndef isinf +#define isinf(d) (isnan((d - d)) && !isnan(d)) +#endif +#ifndef isnan +#define isnan(d) (d != d) +#endif + +#ifndef NAN +#ifdef _WIN32 +#define NAN sqrt(-1.0) +#else +#define NAN 0.0/0.0 +#endif +#endif + +typedef struct { + const unsigned char *json; + size_t position; +} error; +static error global_error = { NULL, 0 }; + +CJSON_PUBLIC(const char *) cJSON_GetErrorPtr(void) +{ + return (const char*) (global_error.json + global_error.position); +} + +CJSON_PUBLIC(char *) cJSON_GetStringValue(const cJSON * const item) +{ + if (!cJSON_IsString(item)) + { + return NULL; + } + + return item->valuestring; +} + +CJSON_PUBLIC(double) cJSON_GetNumberValue(const cJSON * const item) +{ + if (!cJSON_IsNumber(item)) + { + return (double) NAN; + } + + return item->valuedouble; +} + +/* This is a safeguard to prevent copy-pasters from using incompatible C and header files */ +#if (CJSON_VERSION_MAJOR != 1) || (CJSON_VERSION_MINOR != 7) || (CJSON_VERSION_PATCH != 15) + #error cJSON.h and cJSON.c have different versions. Make sure that both have the same. +#endif + +CJSON_PUBLIC(const char*) cJSON_Version(void) +{ + static char version[15]; + sprintf(version, "%i.%i.%i", CJSON_VERSION_MAJOR, CJSON_VERSION_MINOR, CJSON_VERSION_PATCH); + + return version; +} + +/* Case insensitive string comparison, doesn't consider two NULL pointers equal though */ +static int case_insensitive_strcmp(const unsigned char *string1, const unsigned char *string2) +{ + if ((string1 == NULL) || (string2 == NULL)) + { + return 1; + } + + if (string1 == string2) + { + return 0; + } + + for(; tolower(*string1) == tolower(*string2); (void)string1++, string2++) + { + if (*string1 == '\0') + { + return 0; + } + } + + return tolower(*string1) - tolower(*string2); +} + +typedef struct internal_hooks +{ + void *(CJSON_CDECL *allocate)(size_t size); + void (CJSON_CDECL *deallocate)(void *pointer); + void *(CJSON_CDECL *reallocate)(void *pointer, size_t size); +} internal_hooks; + +#if defined(_MSC_VER) +/* work around MSVC error C2322: '...' address of dllimport '...' is not static */ +static void * CJSON_CDECL internal_malloc(size_t size) +{ + return malloc(size); +} +static void CJSON_CDECL internal_free(void *pointer) +{ + free(pointer); +} +static void * CJSON_CDECL internal_realloc(void *pointer, size_t size) +{ + return realloc(pointer, size); +} +#else +#if 0 /* modified by acetcom */ +#define internal_malloc malloc +#define internal_free free +#define internal_realloc realloc +#else +#include "ogs-core.h" +static void *internal_malloc(size_t size) +{ + void *ptr = ogs_malloc(size); + ogs_assert(ptr); + return ptr; +} +static void internal_free(void *pointer) +{ + ogs_free(pointer); +} +static void *internal_realloc(void *pointer, size_t size) +{ + void *ptr = ogs_realloc(pointer, size); + ogs_assert(ptr); + return ptr; +} +#endif +#endif + +/* strlen of character literals resolved at compile time */ +#define static_strlen(string_literal) (sizeof(string_literal) - sizeof("")) + +static internal_hooks global_hooks = { internal_malloc, internal_free, internal_realloc }; + +static unsigned char* cJSON_strdup(const unsigned char* string, const internal_hooks * const hooks) +{ + size_t length = 0; + unsigned char *copy = NULL; + + if (string == NULL) + { + return NULL; + } + + length = strlen((const char*)string) + sizeof(""); + copy = (unsigned char*)hooks->allocate(length); + if (copy == NULL) + { + return NULL; + } + memcpy(copy, string, length); + + return copy; +} + +CJSON_PUBLIC(void) cJSON_InitHooks(cJSON_Hooks* hooks) +{ + if (hooks == NULL) + { + /* Reset hooks */ + global_hooks.allocate = malloc; + global_hooks.deallocate = free; + global_hooks.reallocate = realloc; + return; + } + + global_hooks.allocate = malloc; + if (hooks->malloc_fn != NULL) + { + global_hooks.allocate = hooks->malloc_fn; + } + + global_hooks.deallocate = free; + if (hooks->free_fn != NULL) + { + global_hooks.deallocate = hooks->free_fn; + } + + /* use realloc only if both free and malloc are used */ + global_hooks.reallocate = NULL; + if ((global_hooks.allocate == malloc) && (global_hooks.deallocate == free)) + { + global_hooks.reallocate = realloc; + } +} + +/* Internal constructor. */ +static cJSON *cJSON_New_Item(const internal_hooks * const hooks) +{ + cJSON* node = (cJSON*)hooks->allocate(sizeof(cJSON)); + if (node) + { + memset(node, '\0', sizeof(cJSON)); + } + + return node; +} + +/* Delete a cJSON structure. */ +CJSON_PUBLIC(void) cJSON_Delete(cJSON *item) +{ + cJSON *next = NULL; + while (item != NULL) + { + next = item->next; + if (!(item->type & cJSON_IsReference) && (item->child != NULL)) + { + cJSON_Delete(item->child); + } + if (!(item->type & cJSON_IsReference) && (item->valuestring != NULL)) + { + global_hooks.deallocate(item->valuestring); + } + if (!(item->type & cJSON_StringIsConst) && (item->string != NULL)) + { + global_hooks.deallocate(item->string); + } + global_hooks.deallocate(item); + item = next; + } +} + +/* get the decimal point character of the current locale */ +static unsigned char get_decimal_point(void) +{ +#ifdef ENABLE_LOCALES + struct lconv *lconv = localeconv(); + return (unsigned char) lconv->decimal_point[0]; +#else + return '.'; +#endif +} + +typedef struct +{ + const unsigned char *content; + size_t length; + size_t offset; + size_t depth; /* How deeply nested (in arrays/objects) is the input at the current offset. */ + internal_hooks hooks; +} parse_buffer; + +/* check if the given size is left to read in a given parse buffer (starting with 1) */ +#define can_read(buffer, size) ((buffer != NULL) && (((buffer)->offset + size) <= (buffer)->length)) +/* check if the buffer can be accessed at the given index (starting with 0) */ +#define can_access_at_index(buffer, index) ((buffer != NULL) && (((buffer)->offset + index) < (buffer)->length)) +#define cannot_access_at_index(buffer, index) (!can_access_at_index(buffer, index)) +/* get a pointer to the buffer at the position */ +#define buffer_at_offset(buffer) ((buffer)->content + (buffer)->offset) + +/* Parse the input text to generate a number, and populate the result into item. */ +static cJSON_bool parse_number(cJSON * const item, parse_buffer * const input_buffer) +{ + double number = 0; + unsigned char *after_end = NULL; + unsigned char number_c_string[64]; + unsigned char decimal_point = get_decimal_point(); + size_t i = 0; + + if ((input_buffer == NULL) || (input_buffer->content == NULL)) + { + return false; + } + + /* copy the number into a temporary buffer and replace '.' with the decimal point + * of the current locale (for strtod) + * This also takes care of '\0' not necessarily being available for marking the end of the input */ + for (i = 0; (i < (sizeof(number_c_string) - 1)) && can_access_at_index(input_buffer, i); i++) + { + switch (buffer_at_offset(input_buffer)[i]) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '+': + case '-': + case 'e': + case 'E': + number_c_string[i] = buffer_at_offset(input_buffer)[i]; + break; + + case '.': + number_c_string[i] = decimal_point; + break; + + default: + goto loop_end; + } + } +loop_end: + number_c_string[i] = '\0'; + + number = strtod((const char*)number_c_string, (char**)&after_end); + if (number_c_string == after_end) + { + return false; /* parse_error */ + } + + item->valuedouble = number; + + /* use saturation in case of overflow */ + if (number >= INT_MAX) + { + item->valueint = INT_MAX; + } + else if (number <= (double)INT_MIN) + { + item->valueint = INT_MIN; + } + else + { + item->valueint = (int)number; + } + + item->type = cJSON_Number; + + input_buffer->offset += (size_t)(after_end - number_c_string); + return true; +} + +/* don't ask me, but the original cJSON_SetNumberValue returns an integer or double */ +CJSON_PUBLIC(double) cJSON_SetNumberHelper(cJSON *object, double number) +{ + if (number >= INT_MAX) + { + object->valueint = INT_MAX; + } + else if (number <= (double)INT_MIN) + { + object->valueint = INT_MIN; + } + else + { + object->valueint = (int)number; + } + + return object->valuedouble = number; +} + +CJSON_PUBLIC(char*) cJSON_SetValuestring(cJSON *object, const char *valuestring) +{ + char *copy = NULL; + /* if object's type is not cJSON_String or is cJSON_IsReference, it should not set valuestring */ + if (!(object->type & cJSON_String) || (object->type & cJSON_IsReference)) + { + return NULL; + } + if (strlen(valuestring) <= strlen(object->valuestring)) + { + strcpy(object->valuestring, valuestring); + return object->valuestring; + } + copy = (char*) cJSON_strdup((const unsigned char*)valuestring, &global_hooks); + if (copy == NULL) + { + return NULL; + } + if (object->valuestring != NULL) + { + cJSON_free(object->valuestring); + } + object->valuestring = copy; + + return copy; +} + +typedef struct +{ + unsigned char *buffer; + size_t length; + size_t offset; + size_t depth; /* current nesting depth (for formatted printing) */ + cJSON_bool noalloc; + cJSON_bool format; /* is this print a formatted print */ + internal_hooks hooks; +} printbuffer; + +/* realloc printbuffer if necessary to have at least "needed" bytes more */ +static unsigned char* ensure(printbuffer * const p, size_t needed) +{ + unsigned char *newbuffer = NULL; + size_t newsize = 0; + + if ((p == NULL) || (p->buffer == NULL)) + { + return NULL; + } + + if ((p->length > 0) && (p->offset >= p->length)) + { + /* make sure that offset is valid */ + return NULL; + } + + if (needed > INT_MAX) + { + /* sizes bigger than INT_MAX are currently not supported */ + return NULL; + } + + needed += p->offset + 1; + if (needed <= p->length) + { + return p->buffer + p->offset; + } + + if (p->noalloc) { + return NULL; + } + + /* calculate new buffer size */ + if (needed > (INT_MAX / 2)) + { + /* overflow of int, use INT_MAX if possible */ + if (needed <= INT_MAX) + { + newsize = INT_MAX; + } + else + { + return NULL; + } + } + else + { + newsize = needed * 2; + } + + if (p->hooks.reallocate != NULL) + { + /* reallocate with realloc if available */ + newbuffer = (unsigned char*)p->hooks.reallocate(p->buffer, newsize); + if (newbuffer == NULL) + { + p->hooks.deallocate(p->buffer); + p->length = 0; + p->buffer = NULL; + + return NULL; + } + } + else + { + /* otherwise reallocate manually */ + newbuffer = (unsigned char*)p->hooks.allocate(newsize); + if (!newbuffer) + { + p->hooks.deallocate(p->buffer); + p->length = 0; + p->buffer = NULL; + + return NULL; + } + + memcpy(newbuffer, p->buffer, p->offset + 1); + p->hooks.deallocate(p->buffer); + } + p->length = newsize; + p->buffer = newbuffer; + + return newbuffer + p->offset; +} + +/* calculate the new length of the string in a printbuffer and update the offset */ +static void update_offset(printbuffer * const buffer) +{ + const unsigned char *buffer_pointer = NULL; + if ((buffer == NULL) || (buffer->buffer == NULL)) + { + return; + } + buffer_pointer = buffer->buffer + buffer->offset; + + buffer->offset += strlen((const char*)buffer_pointer); +} + +/* securely comparison of floating-point variables */ +static cJSON_bool compare_double(double a, double b) +{ + double maxVal = fabs(a) > fabs(b) ? fabs(a) : fabs(b); + return (fabs(a - b) <= maxVal * DBL_EPSILON); +} + +/* Render the number nicely from the given item into a string. */ +static cJSON_bool print_number(const cJSON * const item, printbuffer * const output_buffer) +{ + unsigned char *output_pointer = NULL; + double d = item->valuedouble; + int length = 0; + size_t i = 0; + unsigned char number_buffer[26] = {0}; /* temporary buffer to print the number into */ + unsigned char decimal_point = get_decimal_point(); + double test = 0.0; + + if (output_buffer == NULL) + { + return false; + } + + /* This checks for NaN and Infinity */ + if (isnan(d) || isinf(d)) + { + length = sprintf((char*)number_buffer, "null"); + } + else if(d == (double)item->valueint) + { + length = sprintf((char*)number_buffer, "%d", item->valueint); + } + else + { + /* Try 15 decimal places of precision to avoid insignificant nonzero digits */ + length = sprintf((char*)number_buffer, "%1.15g", d); + + /* Check whether the original double can be recovered */ + if ((sscanf((char*)number_buffer, "%lg", &test) != 1) || !compare_double((double)test, d)) + { + /* If not, print with 17 decimal places of precision */ + length = sprintf((char*)number_buffer, "%1.17g", d); + } + } + + /* sprintf failed or buffer overrun occurred */ + if ((length < 0) || (length > (int)(sizeof(number_buffer) - 1))) + { + return false; + } + + /* reserve appropriate space in the output */ + output_pointer = ensure(output_buffer, (size_t)length + sizeof("")); + if (output_pointer == NULL) + { + return false; + } + + /* copy the printed number to the output and replace locale + * dependent decimal point with '.' */ + for (i = 0; i < ((size_t)length); i++) + { + if (number_buffer[i] == decimal_point) + { + output_pointer[i] = '.'; + continue; + } + + output_pointer[i] = number_buffer[i]; + } + output_pointer[i] = '\0'; + + output_buffer->offset += (size_t)length; + + return true; +} + +/* parse 4 digit hexadecimal number */ +static unsigned parse_hex4(const unsigned char * const input) +{ + unsigned int h = 0; + size_t i = 0; + + for (i = 0; i < 4; i++) + { + /* parse digit */ + if ((input[i] >= '0') && (input[i] <= '9')) + { + h += (unsigned int) input[i] - '0'; + } + else if ((input[i] >= 'A') && (input[i] <= 'F')) + { + h += (unsigned int) 10 + input[i] - 'A'; + } + else if ((input[i] >= 'a') && (input[i] <= 'f')) + { + h += (unsigned int) 10 + input[i] - 'a'; + } + else /* invalid */ + { + return 0; + } + + if (i < 3) + { + /* shift left to make place for the next nibble */ + h = h << 4; + } + } + + return h; +} + +/* converts a UTF-16 literal to UTF-8 + * A literal can be one or two sequences of the form \uXXXX */ +static unsigned char utf16_literal_to_utf8(const unsigned char * const input_pointer, const unsigned char * const input_end, unsigned char **output_pointer) +{ + long unsigned int codepoint = 0; + unsigned int first_code = 0; + const unsigned char *first_sequence = input_pointer; + unsigned char utf8_length = 0; + unsigned char utf8_position = 0; + unsigned char sequence_length = 0; + unsigned char first_byte_mark = 0; + + if ((input_end - first_sequence) < 6) + { + /* input ends unexpectedly */ + goto fail; + } + + /* get the first utf16 sequence */ + first_code = parse_hex4(first_sequence + 2); + + /* check that the code is valid */ + if (((first_code >= 0xDC00) && (first_code <= 0xDFFF))) + { + goto fail; + } + + /* UTF16 surrogate pair */ + if ((first_code >= 0xD800) && (first_code <= 0xDBFF)) + { + const unsigned char *second_sequence = first_sequence + 6; + unsigned int second_code = 0; + sequence_length = 12; /* \uXXXX\uXXXX */ + + if ((input_end - second_sequence) < 6) + { + /* input ends unexpectedly */ + goto fail; + } + + if ((second_sequence[0] != '\\') || (second_sequence[1] != 'u')) + { + /* missing second half of the surrogate pair */ + goto fail; + } + + /* get the second utf16 sequence */ + second_code = parse_hex4(second_sequence + 2); + /* check that the code is valid */ + if ((second_code < 0xDC00) || (second_code > 0xDFFF)) + { + /* invalid second half of the surrogate pair */ + goto fail; + } + + + /* calculate the unicode codepoint from the surrogate pair */ + codepoint = 0x10000 + (((first_code & 0x3FF) << 10) | (second_code & 0x3FF)); + } + else + { + sequence_length = 6; /* \uXXXX */ + codepoint = first_code; + } + + /* encode as UTF-8 + * takes at maximum 4 bytes to encode: + * 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx */ + if (codepoint < 0x80) + { + /* normal ascii, encoding 0xxxxxxx */ + utf8_length = 1; + } + else if (codepoint < 0x800) + { + /* two bytes, encoding 110xxxxx 10xxxxxx */ + utf8_length = 2; + first_byte_mark = 0xC0; /* 11000000 */ + } + else if (codepoint < 0x10000) + { + /* three bytes, encoding 1110xxxx 10xxxxxx 10xxxxxx */ + utf8_length = 3; + first_byte_mark = 0xE0; /* 11100000 */ + } + else if (codepoint <= 0x10FFFF) + { + /* four bytes, encoding 1110xxxx 10xxxxxx 10xxxxxx 10xxxxxx */ + utf8_length = 4; + first_byte_mark = 0xF0; /* 11110000 */ + } + else + { + /* invalid unicode codepoint */ + goto fail; + } + + /* encode as utf8 */ + for (utf8_position = (unsigned char)(utf8_length - 1); utf8_position > 0; utf8_position--) + { + /* 10xxxxxx */ + (*output_pointer)[utf8_position] = (unsigned char)((codepoint | 0x80) & 0xBF); + codepoint >>= 6; + } + /* encode first byte */ + if (utf8_length > 1) + { + (*output_pointer)[0] = (unsigned char)((codepoint | first_byte_mark) & 0xFF); + } + else + { + (*output_pointer)[0] = (unsigned char)(codepoint & 0x7F); + } + + *output_pointer += utf8_length; + + return sequence_length; + +fail: + return 0; +} + +/* Parse the input text into an unescaped cinput, and populate item. */ +static cJSON_bool parse_string(cJSON * const item, parse_buffer * const input_buffer) +{ + const unsigned char *input_pointer = buffer_at_offset(input_buffer) + 1; + const unsigned char *input_end = buffer_at_offset(input_buffer) + 1; + unsigned char *output_pointer = NULL; + unsigned char *output = NULL; + + /* not a string */ + if (buffer_at_offset(input_buffer)[0] != '\"') + { + goto fail; + } + + { + /* calculate approximate size of the output (overestimate) */ + size_t allocation_length = 0; + size_t skipped_bytes = 0; + while (((size_t)(input_end - input_buffer->content) < input_buffer->length) && (*input_end != '\"')) + { + /* is escape sequence */ + if (input_end[0] == '\\') + { + if ((size_t)(input_end + 1 - input_buffer->content) >= input_buffer->length) + { + /* prevent buffer overflow when last input character is a backslash */ + goto fail; + } + skipped_bytes++; + input_end++; + } + input_end++; + } + if (((size_t)(input_end - input_buffer->content) >= input_buffer->length) || (*input_end != '\"')) + { + goto fail; /* string ended unexpectedly */ + } + + /* This is at most how much we need for the output */ + allocation_length = (size_t) (input_end - buffer_at_offset(input_buffer)) - skipped_bytes; + output = (unsigned char*)input_buffer->hooks.allocate(allocation_length + sizeof("")); + if (output == NULL) + { + goto fail; /* allocation failure */ + } + } + + output_pointer = output; + /* loop through the string literal */ + while (input_pointer < input_end) + { + if (*input_pointer != '\\') + { + *output_pointer++ = *input_pointer++; + } + /* escape sequence */ + else + { + unsigned char sequence_length = 2; + if ((input_end - input_pointer) < 1) + { + goto fail; + } + + switch (input_pointer[1]) + { + case 'b': + *output_pointer++ = '\b'; + break; + case 'f': + *output_pointer++ = '\f'; + break; + case 'n': + *output_pointer++ = '\n'; + break; + case 'r': + *output_pointer++ = '\r'; + break; + case 't': + *output_pointer++ = '\t'; + break; + case '\"': + case '\\': + case '/': + *output_pointer++ = input_pointer[1]; + break; + + /* UTF-16 literal */ + case 'u': + sequence_length = utf16_literal_to_utf8(input_pointer, input_end, &output_pointer); + if (sequence_length == 0) + { + /* failed to convert UTF16-literal to UTF-8 */ + goto fail; + } + break; + + default: + goto fail; + } + input_pointer += sequence_length; + } + } + + /* zero terminate the output */ + *output_pointer = '\0'; + + item->type = cJSON_String; + item->valuestring = (char*)output; + + input_buffer->offset = (size_t) (input_end - input_buffer->content); + input_buffer->offset++; + + return true; + +fail: + if (output != NULL) + { + input_buffer->hooks.deallocate(output); + } + + if (input_pointer != NULL) + { + input_buffer->offset = (size_t)(input_pointer - input_buffer->content); + } + + return false; +} + +/* Render the cstring provided to an escaped version that can be printed. */ +static cJSON_bool print_string_ptr(const unsigned char * const input, printbuffer * const output_buffer) +{ + const unsigned char *input_pointer = NULL; + unsigned char *output = NULL; + unsigned char *output_pointer = NULL; + size_t output_length = 0; + /* numbers of additional characters needed for escaping */ + size_t escape_characters = 0; + + if (output_buffer == NULL) + { + return false; + } + + /* empty string */ + if (input == NULL) + { + output = ensure(output_buffer, sizeof("\"\"")); + if (output == NULL) + { + return false; + } + strcpy((char*)output, "\"\""); + + return true; + } + + /* set "flag" to 1 if something needs to be escaped */ + for (input_pointer = input; *input_pointer; input_pointer++) + { + switch (*input_pointer) + { + case '\"': + case '\\': + case '\b': + case '\f': + case '\n': + case '\r': + case '\t': + /* one character escape sequence */ + escape_characters++; + break; + default: + if (*input_pointer < 32) + { + /* UTF-16 escape sequence uXXXX */ + escape_characters += 5; + } + break; + } + } + output_length = (size_t)(input_pointer - input) + escape_characters; + + output = ensure(output_buffer, output_length + sizeof("\"\"")); + if (output == NULL) + { + return false; + } + + /* no characters have to be escaped */ + if (escape_characters == 0) + { + output[0] = '\"'; + memcpy(output + 1, input, output_length); + output[output_length + 1] = '\"'; + output[output_length + 2] = '\0'; + + return true; + } + + output[0] = '\"'; + output_pointer = output + 1; + /* copy the string */ + for (input_pointer = input; *input_pointer != '\0'; (void)input_pointer++, output_pointer++) + { + if ((*input_pointer > 31) && (*input_pointer != '\"') && (*input_pointer != '\\')) + { + /* normal character, copy */ + *output_pointer = *input_pointer; + } + else + { + /* character needs to be escaped */ + *output_pointer++ = '\\'; + switch (*input_pointer) + { + case '\\': + *output_pointer = '\\'; + break; + case '\"': + *output_pointer = '\"'; + break; + case '\b': + *output_pointer = 'b'; + break; + case '\f': + *output_pointer = 'f'; + break; + case '\n': + *output_pointer = 'n'; + break; + case '\r': + *output_pointer = 'r'; + break; + case '\t': + *output_pointer = 't'; + break; + default: + /* escape and print as unicode codepoint */ + sprintf((char*)output_pointer, "u%04x", *input_pointer); + output_pointer += 4; + break; + } + } + } + output[output_length + 1] = '\"'; + output[output_length + 2] = '\0'; + + return true; +} + +/* Invoke print_string_ptr (which is useful) on an item. */ +static cJSON_bool print_string(const cJSON * const item, printbuffer * const p) +{ + return print_string_ptr((unsigned char*)item->valuestring, p); +} + +/* Predeclare these prototypes. */ +static cJSON_bool parse_value(cJSON * const item, parse_buffer * const input_buffer); +static cJSON_bool print_value(const cJSON * const item, printbuffer * const output_buffer); +static cJSON_bool parse_array(cJSON * const item, parse_buffer * const input_buffer); +static cJSON_bool print_array(const cJSON * const item, printbuffer * const output_buffer); +static cJSON_bool parse_object(cJSON * const item, parse_buffer * const input_buffer); +static cJSON_bool print_object(const cJSON * const item, printbuffer * const output_buffer); + +/* Utility to jump whitespace and cr/lf */ +static parse_buffer *buffer_skip_whitespace(parse_buffer * const buffer) +{ + if ((buffer == NULL) || (buffer->content == NULL)) + { + return NULL; + } + + if (cannot_access_at_index(buffer, 0)) + { + return buffer; + } + + while (can_access_at_index(buffer, 0) && (buffer_at_offset(buffer)[0] <= 32)) + { + buffer->offset++; + } + + if (buffer->offset == buffer->length) + { + buffer->offset--; + } + + return buffer; +} + +/* skip the UTF-8 BOM (byte order mark) if it is at the beginning of a buffer */ +static parse_buffer *skip_utf8_bom(parse_buffer * const buffer) +{ + if ((buffer == NULL) || (buffer->content == NULL) || (buffer->offset != 0)) + { + return NULL; + } + + if (can_access_at_index(buffer, 4) && (strncmp((const char*)buffer_at_offset(buffer), "\xEF\xBB\xBF", 3) == 0)) + { + buffer->offset += 3; + } + + return buffer; +} + +CJSON_PUBLIC(cJSON *) cJSON_ParseWithOpts(const char *value, const char **return_parse_end, cJSON_bool require_null_terminated) +{ + size_t buffer_length; + + if (NULL == value) + { + return NULL; + } + + /* Adding null character size due to require_null_terminated. */ + buffer_length = strlen(value) + sizeof(""); + + return cJSON_ParseWithLengthOpts(value, buffer_length, return_parse_end, require_null_terminated); +} + +/* Parse an object - create a new root, and populate. */ +CJSON_PUBLIC(cJSON *) cJSON_ParseWithLengthOpts(const char *value, size_t buffer_length, const char **return_parse_end, cJSON_bool require_null_terminated) +{ + parse_buffer buffer = { 0, 0, 0, 0, { 0, 0, 0 } }; + cJSON *item = NULL; + + /* reset error position */ + global_error.json = NULL; + global_error.position = 0; + + if (value == NULL || 0 == buffer_length) + { + goto fail; + } + + buffer.content = (const unsigned char*)value; + buffer.length = buffer_length; + buffer.offset = 0; + buffer.hooks = global_hooks; + + item = cJSON_New_Item(&global_hooks); + if (item == NULL) /* memory fail */ + { + goto fail; + } + + if (!parse_value(item, buffer_skip_whitespace(skip_utf8_bom(&buffer)))) + { + /* parse failure. ep is set. */ + goto fail; + } + + /* if we require null-terminated JSON without appended garbage, skip and then check for a null terminator */ + if (require_null_terminated) + { + buffer_skip_whitespace(&buffer); + if ((buffer.offset >= buffer.length) || buffer_at_offset(&buffer)[0] != '\0') + { + goto fail; + } + } + if (return_parse_end) + { + *return_parse_end = (const char*)buffer_at_offset(&buffer); + } + + return item; + +fail: + if (item != NULL) + { + cJSON_Delete(item); + } + + if (value != NULL) + { + error local_error; + local_error.json = (const unsigned char*)value; + local_error.position = 0; + + if (buffer.offset < buffer.length) + { + local_error.position = buffer.offset; + } + else if (buffer.length > 0) + { + local_error.position = buffer.length - 1; + } + + if (return_parse_end != NULL) + { + *return_parse_end = (const char*)local_error.json + local_error.position; + } + + global_error = local_error; + } + + return NULL; +} + +/* Default options for cJSON_Parse */ +CJSON_PUBLIC(cJSON *) cJSON_Parse(const char *value) +{ + return cJSON_ParseWithOpts(value, 0, 0); +} + +CJSON_PUBLIC(cJSON *) cJSON_ParseWithLength(const char *value, size_t buffer_length) +{ + return cJSON_ParseWithLengthOpts(value, buffer_length, 0, 0); +} + +#define cjson_min(a, b) (((a) < (b)) ? (a) : (b)) + +static unsigned char *print(const cJSON * const item, cJSON_bool format, const internal_hooks * const hooks) +{ + static const size_t default_buffer_size = 256; + printbuffer buffer[1]; + unsigned char *printed = NULL; + + memset(buffer, 0, sizeof(buffer)); + + /* create buffer */ + buffer->buffer = (unsigned char*) hooks->allocate(default_buffer_size); + buffer->length = default_buffer_size; + buffer->format = format; + buffer->hooks = *hooks; + if (buffer->buffer == NULL) + { + goto fail; + } + + /* print the value */ + if (!print_value(item, buffer)) + { + goto fail; + } + update_offset(buffer); + + /* check if reallocate is available */ + if (hooks->reallocate != NULL) + { + printed = (unsigned char*) hooks->reallocate(buffer->buffer, buffer->offset + 1); + if (printed == NULL) { + goto fail; + } + buffer->buffer = NULL; + } + else /* otherwise copy the JSON over to a new buffer */ + { + printed = (unsigned char*) hooks->allocate(buffer->offset + 1); + if (printed == NULL) + { + goto fail; + } + memcpy(printed, buffer->buffer, cjson_min(buffer->length, buffer->offset + 1)); + printed[buffer->offset] = '\0'; /* just to be sure */ + + /* free the buffer */ + hooks->deallocate(buffer->buffer); + } + + return printed; + +fail: + if (buffer->buffer != NULL) + { + hooks->deallocate(buffer->buffer); + } + + if (printed != NULL) + { + hooks->deallocate(printed); + } + + return NULL; +} + +/* Render a cJSON item/entity/structure to text. */ +CJSON_PUBLIC(char *) cJSON_Print(const cJSON *item) +{ + return (char*)print(item, true, &global_hooks); +} + +CJSON_PUBLIC(char *) cJSON_PrintUnformatted(const cJSON *item) +{ + return (char*)print(item, false, &global_hooks); +} + +CJSON_PUBLIC(char *) cJSON_PrintBuffered(const cJSON *item, int prebuffer, cJSON_bool fmt) +{ + printbuffer p = { 0, 0, 0, 0, 0, 0, { 0, 0, 0 } }; + + if (prebuffer < 0) + { + return NULL; + } + + p.buffer = (unsigned char*)global_hooks.allocate((size_t)prebuffer); + if (!p.buffer) + { + return NULL; + } + + p.length = (size_t)prebuffer; + p.offset = 0; + p.noalloc = false; + p.format = fmt; + p.hooks = global_hooks; + + if (!print_value(item, &p)) + { + global_hooks.deallocate(p.buffer); + return NULL; + } + + return (char*)p.buffer; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_PrintPreallocated(cJSON *item, char *buffer, const int length, const cJSON_bool format) +{ + printbuffer p = { 0, 0, 0, 0, 0, 0, { 0, 0, 0 } }; + + if ((length < 0) || (buffer == NULL)) + { + return false; + } + + p.buffer = (unsigned char*)buffer; + p.length = (size_t)length; + p.offset = 0; + p.noalloc = true; + p.format = format; + p.hooks = global_hooks; + + return print_value(item, &p); +} + +/* Parser core - when encountering text, process appropriately. */ +static cJSON_bool parse_value(cJSON * const item, parse_buffer * const input_buffer) +{ + if ((input_buffer == NULL) || (input_buffer->content == NULL)) + { + return false; /* no input */ + } + + /* parse the different types of values */ + /* null */ + if (can_read(input_buffer, 4) && (strncmp((const char*)buffer_at_offset(input_buffer), "null", 4) == 0)) + { + item->type = cJSON_NULL; + input_buffer->offset += 4; + return true; + } + /* false */ + if (can_read(input_buffer, 5) && (strncmp((const char*)buffer_at_offset(input_buffer), "false", 5) == 0)) + { + item->type = cJSON_False; + input_buffer->offset += 5; + return true; + } + /* true */ + if (can_read(input_buffer, 4) && (strncmp((const char*)buffer_at_offset(input_buffer), "true", 4) == 0)) + { + item->type = cJSON_True; + item->valueint = 1; + input_buffer->offset += 4; + return true; + } + /* string */ + if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '\"')) + { + return parse_string(item, input_buffer); + } + /* number */ + if (can_access_at_index(input_buffer, 0) && ((buffer_at_offset(input_buffer)[0] == '-') || ((buffer_at_offset(input_buffer)[0] >= '0') && (buffer_at_offset(input_buffer)[0] <= '9')))) + { + return parse_number(item, input_buffer); + } + /* array */ + if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '[')) + { + return parse_array(item, input_buffer); + } + /* object */ + if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '{')) + { + return parse_object(item, input_buffer); + } + + return false; +} + +/* Render a value to text. */ +static cJSON_bool print_value(const cJSON * const item, printbuffer * const output_buffer) +{ + unsigned char *output = NULL; + + if ((item == NULL) || (output_buffer == NULL)) + { + return false; + } + + switch ((item->type) & 0xFF) + { + case cJSON_NULL: + output = ensure(output_buffer, 5); + if (output == NULL) + { + return false; + } + strcpy((char*)output, "null"); + return true; + + case cJSON_False: + output = ensure(output_buffer, 6); + if (output == NULL) + { + return false; + } + strcpy((char*)output, "false"); + return true; + + case cJSON_True: + output = ensure(output_buffer, 5); + if (output == NULL) + { + return false; + } + strcpy((char*)output, "true"); + return true; + + case cJSON_Number: + return print_number(item, output_buffer); + + case cJSON_Raw: + { + size_t raw_length = 0; + if (item->valuestring == NULL) + { + return false; + } + + raw_length = strlen(item->valuestring) + sizeof(""); + output = ensure(output_buffer, raw_length); + if (output == NULL) + { + return false; + } + memcpy(output, item->valuestring, raw_length); + return true; + } + + case cJSON_String: + return print_string(item, output_buffer); + + case cJSON_Array: + return print_array(item, output_buffer); + + case cJSON_Object: + return print_object(item, output_buffer); + + default: + return false; + } +} + +/* Build an array from input text. */ +static cJSON_bool parse_array(cJSON * const item, parse_buffer * const input_buffer) +{ + cJSON *head = NULL; /* head of the linked list */ + cJSON *current_item = NULL; + + if (input_buffer->depth >= CJSON_NESTING_LIMIT) + { + return false; /* to deeply nested */ + } + input_buffer->depth++; + + if (buffer_at_offset(input_buffer)[0] != '[') + { + /* not an array */ + goto fail; + } + + input_buffer->offset++; + buffer_skip_whitespace(input_buffer); + if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ']')) + { + /* empty array */ + goto success; + } + + /* check if we skipped to the end of the buffer */ + if (cannot_access_at_index(input_buffer, 0)) + { + input_buffer->offset--; + goto fail; + } + + /* step back to character in front of the first element */ + input_buffer->offset--; + /* loop through the comma separated array elements */ + do + { + /* allocate next item */ + cJSON *new_item = cJSON_New_Item(&(input_buffer->hooks)); + if (new_item == NULL) + { + goto fail; /* allocation failure */ + } + + /* attach next item to list */ + if (head == NULL) + { + /* start the linked list */ + current_item = head = new_item; + } + else + { + /* add to the end and advance */ + current_item->next = new_item; + new_item->prev = current_item; + current_item = new_item; + } + + /* parse next value */ + input_buffer->offset++; + buffer_skip_whitespace(input_buffer); + if (!parse_value(current_item, input_buffer)) + { + goto fail; /* failed to parse value */ + } + buffer_skip_whitespace(input_buffer); + } + while (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ',')); + + if (cannot_access_at_index(input_buffer, 0) || buffer_at_offset(input_buffer)[0] != ']') + { + goto fail; /* expected end of array */ + } + +success: + input_buffer->depth--; + + if (head != NULL) { + head->prev = current_item; + } + + item->type = cJSON_Array; + item->child = head; + + input_buffer->offset++; + + return true; + +fail: + if (head != NULL) + { + cJSON_Delete(head); + } + + return false; +} + +/* Render an array to text */ +static cJSON_bool print_array(const cJSON * const item, printbuffer * const output_buffer) +{ + unsigned char *output_pointer = NULL; + size_t length = 0; + cJSON *current_element = item->child; + + if (output_buffer == NULL) + { + return false; + } + + /* Compose the output array. */ + /* opening square bracket */ + output_pointer = ensure(output_buffer, 1); + if (output_pointer == NULL) + { + return false; + } + + *output_pointer = '['; + output_buffer->offset++; + output_buffer->depth++; + + while (current_element != NULL) + { + if (!print_value(current_element, output_buffer)) + { + return false; + } + update_offset(output_buffer); + if (current_element->next) + { + length = (size_t) (output_buffer->format ? 2 : 1); + output_pointer = ensure(output_buffer, length + 1); + if (output_pointer == NULL) + { + return false; + } + *output_pointer++ = ','; + if(output_buffer->format) + { + *output_pointer++ = ' '; + } + *output_pointer = '\0'; + output_buffer->offset += length; + } + current_element = current_element->next; + } + + output_pointer = ensure(output_buffer, 2); + if (output_pointer == NULL) + { + return false; + } + *output_pointer++ = ']'; + *output_pointer = '\0'; + output_buffer->depth--; + + return true; +} + +/* Build an object from the text. */ +static cJSON_bool parse_object(cJSON * const item, parse_buffer * const input_buffer) +{ + cJSON *head = NULL; /* linked list head */ + cJSON *current_item = NULL; + + if (input_buffer->depth >= CJSON_NESTING_LIMIT) + { + return false; /* to deeply nested */ + } + input_buffer->depth++; + + if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != '{')) + { + goto fail; /* not an object */ + } + + input_buffer->offset++; + buffer_skip_whitespace(input_buffer); + if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '}')) + { + goto success; /* empty object */ + } + + /* check if we skipped to the end of the buffer */ + if (cannot_access_at_index(input_buffer, 0)) + { + input_buffer->offset--; + goto fail; + } + + /* step back to character in front of the first element */ + input_buffer->offset--; + /* loop through the comma separated array elements */ + do + { + /* allocate next item */ + cJSON *new_item = cJSON_New_Item(&(input_buffer->hooks)); + if (new_item == NULL) + { + goto fail; /* allocation failure */ + } + + /* attach next item to list */ + if (head == NULL) + { + /* start the linked list */ + current_item = head = new_item; + } + else + { + /* add to the end and advance */ + current_item->next = new_item; + new_item->prev = current_item; + current_item = new_item; + } + + /* parse the name of the child */ + input_buffer->offset++; + buffer_skip_whitespace(input_buffer); + if (!parse_string(current_item, input_buffer)) + { + goto fail; /* fail to parse name */ + } + buffer_skip_whitespace(input_buffer); + + /* swap valuestring and string, because we parsed the name */ + current_item->string = current_item->valuestring; + current_item->valuestring = NULL; + + if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != ':')) + { + goto fail; /* invalid object */ + } + + /* parse the value */ + input_buffer->offset++; + buffer_skip_whitespace(input_buffer); + if (!parse_value(current_item, input_buffer)) + { + goto fail; /* failed to parse value */ + } + buffer_skip_whitespace(input_buffer); + } + while (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ',')); + + if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != '}')) + { + goto fail; /* expected end of object */ + } + +success: + input_buffer->depth--; + + if (head != NULL) { + head->prev = current_item; + } + + item->type = cJSON_Object; + item->child = head; + + input_buffer->offset++; + return true; + +fail: + if (head != NULL) + { + cJSON_Delete(head); + } + + return false; +} + +/* Render an object to text. */ +static cJSON_bool print_object(const cJSON * const item, printbuffer * const output_buffer) +{ + unsigned char *output_pointer = NULL; + size_t length = 0; + cJSON *current_item = item->child; + + if (output_buffer == NULL) + { + return false; + } + + /* Compose the output: */ + length = (size_t) (output_buffer->format ? 2 : 1); /* fmt: {\n */ + output_pointer = ensure(output_buffer, length + 1); + if (output_pointer == NULL) + { + return false; + } + + *output_pointer++ = '{'; + output_buffer->depth++; + if (output_buffer->format) + { + *output_pointer++ = '\n'; + } + output_buffer->offset += length; + + while (current_item) + { + if (output_buffer->format) + { + size_t i; + output_pointer = ensure(output_buffer, output_buffer->depth); + if (output_pointer == NULL) + { + return false; + } + for (i = 0; i < output_buffer->depth; i++) + { + *output_pointer++ = '\t'; + } + output_buffer->offset += output_buffer->depth; + } + + /* print key */ + if (!print_string_ptr((unsigned char*)current_item->string, output_buffer)) + { + return false; + } + update_offset(output_buffer); + + length = (size_t) (output_buffer->format ? 2 : 1); + output_pointer = ensure(output_buffer, length); + if (output_pointer == NULL) + { + return false; + } + *output_pointer++ = ':'; + if (output_buffer->format) + { + *output_pointer++ = '\t'; + } + output_buffer->offset += length; + + /* print value */ + if (!print_value(current_item, output_buffer)) + { + return false; + } + update_offset(output_buffer); + + /* print comma if not last */ + length = ((size_t)(output_buffer->format ? 1 : 0) + (size_t)(current_item->next ? 1 : 0)); + output_pointer = ensure(output_buffer, length + 1); + if (output_pointer == NULL) + { + return false; + } + if (current_item->next) + { + *output_pointer++ = ','; + } + + if (output_buffer->format) + { + *output_pointer++ = '\n'; + } + *output_pointer = '\0'; + output_buffer->offset += length; + + current_item = current_item->next; + } + + output_pointer = ensure(output_buffer, output_buffer->format ? (output_buffer->depth + 1) : 2); + if (output_pointer == NULL) + { + return false; + } + if (output_buffer->format) + { + size_t i; + for (i = 0; i < (output_buffer->depth - 1); i++) + { + *output_pointer++ = '\t'; + } + } + *output_pointer++ = '}'; + *output_pointer = '\0'; + output_buffer->depth--; + + return true; +} + +/* Get Array size/item / object item. */ +CJSON_PUBLIC(int) cJSON_GetArraySize(const cJSON *array) +{ + cJSON *child = NULL; + size_t size = 0; + + if (array == NULL) + { + return 0; + } + + child = array->child; + + while(child != NULL) + { + size++; + child = child->next; + } + + /* FIXME: Can overflow here. Cannot be fixed without breaking the API */ + + return (int)size; +} + +static cJSON* get_array_item(const cJSON *array, size_t index) +{ + cJSON *current_child = NULL; + + if (array == NULL) + { + return NULL; + } + + current_child = array->child; + while ((current_child != NULL) && (index > 0)) + { + index--; + current_child = current_child->next; + } + + return current_child; +} + +CJSON_PUBLIC(cJSON *) cJSON_GetArrayItem(const cJSON *array, int index) +{ + if (index < 0) + { + return NULL; + } + + return get_array_item(array, (size_t)index); +} + +static cJSON *get_object_item(const cJSON * const object, const char * const name, const cJSON_bool case_sensitive) +{ + cJSON *current_element = NULL; + + if ((object == NULL) || (name == NULL)) + { + return NULL; + } + + current_element = object->child; + if (case_sensitive) + { + while ((current_element != NULL) && (current_element->string != NULL) && (strcmp(name, current_element->string) != 0)) + { + current_element = current_element->next; + } + } + else + { + while ((current_element != NULL) && (case_insensitive_strcmp((const unsigned char*)name, (const unsigned char*)(current_element->string)) != 0)) + { + current_element = current_element->next; + } + } + + if ((current_element == NULL) || (current_element->string == NULL)) { + return NULL; + } + + return current_element; +} + +CJSON_PUBLIC(cJSON *) cJSON_GetObjectItem(const cJSON * const object, const char * const string) +{ + return get_object_item(object, string, false); +} + +CJSON_PUBLIC(cJSON *) cJSON_GetObjectItemCaseSensitive(const cJSON * const object, const char * const string) +{ + return get_object_item(object, string, true); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_HasObjectItem(const cJSON *object, const char *string) +{ + return cJSON_GetObjectItem(object, string) ? 1 : 0; +} + +/* Utility for array list handling. */ +static void suffix_object(cJSON *prev, cJSON *item) +{ + prev->next = item; + item->prev = prev; +} + +/* Utility for handling references. */ +static cJSON *create_reference(const cJSON *item, const internal_hooks * const hooks) +{ + cJSON *reference = NULL; + if (item == NULL) + { + return NULL; + } + + reference = cJSON_New_Item(hooks); + if (reference == NULL) + { + return NULL; + } + + memcpy(reference, item, sizeof(cJSON)); + reference->string = NULL; + reference->type |= cJSON_IsReference; + reference->next = reference->prev = NULL; + return reference; +} + +static cJSON_bool add_item_to_array(cJSON *array, cJSON *item) +{ + cJSON *child = NULL; + + if ((item == NULL) || (array == NULL) || (array == item)) + { + return false; + } + + child = array->child; + /* + * To find the last item in array quickly, we use prev in array + */ + if (child == NULL) + { + /* list is empty, start new one */ + array->child = item; + item->prev = item; + item->next = NULL; + } + else + { + /* append to the end */ + if (child->prev) + { + suffix_object(child->prev, item); + array->child->prev = item; + } + } + + return true; +} + +/* Add item to array/object. */ +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToArray(cJSON *array, cJSON *item) +{ + return add_item_to_array(array, item); +} + +#if defined(__clang__) || (defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 5)))) + #pragma GCC diagnostic push +#endif +#ifdef __GNUC__ +#pragma GCC diagnostic ignored "-Wcast-qual" +#endif +/* helper function to cast away const */ +static void* cast_away_const(const void* string) +{ + return (void*)string; +} +#if defined(__clang__) || (defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 5)))) + #pragma GCC diagnostic pop +#endif + + +static cJSON_bool add_item_to_object(cJSON * const object, const char * const string, cJSON * const item, const internal_hooks * const hooks, const cJSON_bool constant_key) +{ + char *new_key = NULL; + int new_type = cJSON_Invalid; + + if ((object == NULL) || (string == NULL) || (item == NULL) || (object == item)) + { + return false; + } + + if (constant_key) + { + new_key = (char*)cast_away_const(string); + new_type = item->type | cJSON_StringIsConst; + } + else + { + new_key = (char*)cJSON_strdup((const unsigned char*)string, hooks); + if (new_key == NULL) + { + return false; + } + + new_type = item->type & ~cJSON_StringIsConst; + } + + if (!(item->type & cJSON_StringIsConst) && (item->string != NULL)) + { + hooks->deallocate(item->string); + } + + item->string = new_key; + item->type = new_type; + + return add_item_to_array(object, item); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item) +{ + return add_item_to_object(object, string, item, &global_hooks, false); +} + +/* Add an item to an object with constant string as key */ +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON *item) +{ + return add_item_to_object(object, string, item, &global_hooks, true); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item) +{ + if (array == NULL) + { + return false; + } + + return add_item_to_array(array, create_reference(item, &global_hooks)); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToObject(cJSON *object, const char *string, cJSON *item) +{ + if ((object == NULL) || (string == NULL)) + { + return false; + } + + return add_item_to_object(object, string, create_reference(item, &global_hooks), &global_hooks, false); +} + +CJSON_PUBLIC(cJSON*) cJSON_AddNullToObject(cJSON * const object, const char * const name) +{ + cJSON *null = cJSON_CreateNull(); + if (add_item_to_object(object, name, null, &global_hooks, false)) + { + return null; + } + + cJSON_Delete(null); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddTrueToObject(cJSON * const object, const char * const name) +{ + cJSON *true_item = cJSON_CreateTrue(); + if (add_item_to_object(object, name, true_item, &global_hooks, false)) + { + return true_item; + } + + cJSON_Delete(true_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddFalseToObject(cJSON * const object, const char * const name) +{ + cJSON *false_item = cJSON_CreateFalse(); + if (add_item_to_object(object, name, false_item, &global_hooks, false)) + { + return false_item; + } + + cJSON_Delete(false_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddBoolToObject(cJSON * const object, const char * const name, const cJSON_bool boolean) +{ + cJSON *bool_item = cJSON_CreateBool(boolean); + if (add_item_to_object(object, name, bool_item, &global_hooks, false)) + { + return bool_item; + } + + cJSON_Delete(bool_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddNumberToObject(cJSON * const object, const char * const name, const double number) +{ + cJSON *number_item = cJSON_CreateNumber(number); + if (add_item_to_object(object, name, number_item, &global_hooks, false)) + { + return number_item; + } + + cJSON_Delete(number_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddStringToObject(cJSON * const object, const char * const name, const char * const string) +{ + cJSON *string_item = cJSON_CreateString(string); + if (add_item_to_object(object, name, string_item, &global_hooks, false)) + { + return string_item; + } + + cJSON_Delete(string_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddRawToObject(cJSON * const object, const char * const name, const char * const raw) +{ + cJSON *raw_item = cJSON_CreateRaw(raw); + if (add_item_to_object(object, name, raw_item, &global_hooks, false)) + { + return raw_item; + } + + cJSON_Delete(raw_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddObjectToObject(cJSON * const object, const char * const name) +{ + cJSON *object_item = cJSON_CreateObject(); + if (add_item_to_object(object, name, object_item, &global_hooks, false)) + { + return object_item; + } + + cJSON_Delete(object_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddArrayToObject(cJSON * const object, const char * const name) +{ + cJSON *array = cJSON_CreateArray(); + if (add_item_to_object(object, name, array, &global_hooks, false)) + { + return array; + } + + cJSON_Delete(array); + return NULL; +} + +CJSON_PUBLIC(cJSON *) cJSON_DetachItemViaPointer(cJSON *parent, cJSON * const item) +{ + if ((parent == NULL) || (item == NULL)) + { + return NULL; + } + + if (item != parent->child) + { + /* not the first element */ + item->prev->next = item->next; + } + if (item->next != NULL) + { + /* not the last element */ + item->next->prev = item->prev; + } + + if (item == parent->child) + { + /* first element */ + parent->child = item->next; + } + else if (item->next == NULL) + { + /* last element */ + parent->child->prev = item->prev; + } + + /* make sure the detached item doesn't point anywhere anymore */ + item->prev = NULL; + item->next = NULL; + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromArray(cJSON *array, int which) +{ + if (which < 0) + { + return NULL; + } + + return cJSON_DetachItemViaPointer(array, get_array_item(array, (size_t)which)); +} + +CJSON_PUBLIC(void) cJSON_DeleteItemFromArray(cJSON *array, int which) +{ + cJSON_Delete(cJSON_DetachItemFromArray(array, which)); +} + +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObject(cJSON *object, const char *string) +{ + cJSON *to_detach = cJSON_GetObjectItem(object, string); + + return cJSON_DetachItemViaPointer(object, to_detach); +} + +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObjectCaseSensitive(cJSON *object, const char *string) +{ + cJSON *to_detach = cJSON_GetObjectItemCaseSensitive(object, string); + + return cJSON_DetachItemViaPointer(object, to_detach); +} + +CJSON_PUBLIC(void) cJSON_DeleteItemFromObject(cJSON *object, const char *string) +{ + cJSON_Delete(cJSON_DetachItemFromObject(object, string)); +} + +CJSON_PUBLIC(void) cJSON_DeleteItemFromObjectCaseSensitive(cJSON *object, const char *string) +{ + cJSON_Delete(cJSON_DetachItemFromObjectCaseSensitive(object, string)); +} + +/* Replace array/object items with new ones. */ +CJSON_PUBLIC(cJSON_bool) cJSON_InsertItemInArray(cJSON *array, int which, cJSON *newitem) +{ + cJSON *after_inserted = NULL; + + if (which < 0) + { + return false; + } + + after_inserted = get_array_item(array, (size_t)which); + if (after_inserted == NULL) + { + return add_item_to_array(array, newitem); + } + + newitem->next = after_inserted; + newitem->prev = after_inserted->prev; + after_inserted->prev = newitem; + if (after_inserted == array->child) + { + array->child = newitem; + } + else + { + newitem->prev->next = newitem; + } + return true; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemViaPointer(cJSON * const parent, cJSON * const item, cJSON * replacement) +{ + if ((parent == NULL) || (replacement == NULL) || (item == NULL)) + { + return false; + } + + if (replacement == item) + { + return true; + } + + replacement->next = item->next; + replacement->prev = item->prev; + + if (replacement->next != NULL) + { + replacement->next->prev = replacement; + } + if (parent->child == item) + { + if (parent->child->prev == parent->child) + { + replacement->prev = replacement; + } + parent->child = replacement; + } + else + { /* + * To find the last item in array quickly, we use prev in array. + * We can't modify the last item's next pointer where this item was the parent's child + */ + if (replacement->prev != NULL) + { + replacement->prev->next = replacement; + } + if (replacement->next == NULL) + { + parent->child->prev = replacement; + } + } + + item->next = NULL; + item->prev = NULL; + cJSON_Delete(item); + + return true; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInArray(cJSON *array, int which, cJSON *newitem) +{ + if (which < 0) + { + return false; + } + + return cJSON_ReplaceItemViaPointer(array, get_array_item(array, (size_t)which), newitem); +} + +static cJSON_bool replace_item_in_object(cJSON *object, const char *string, cJSON *replacement, cJSON_bool case_sensitive) +{ + if ((replacement == NULL) || (string == NULL)) + { + return false; + } + + /* replace the name in the replacement */ + if (!(replacement->type & cJSON_StringIsConst) && (replacement->string != NULL)) + { + cJSON_free(replacement->string); + } + replacement->string = (char*)cJSON_strdup((const unsigned char*)string, &global_hooks); + if (replacement->string == NULL) + { + return false; + } + + replacement->type &= ~cJSON_StringIsConst; + + return cJSON_ReplaceItemViaPointer(object, get_object_item(object, string, case_sensitive), replacement); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObject(cJSON *object, const char *string, cJSON *newitem) +{ + return replace_item_in_object(object, string, newitem, false); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObjectCaseSensitive(cJSON *object, const char *string, cJSON *newitem) +{ + return replace_item_in_object(object, string, newitem, true); +} + +/* Create basic types: */ +CJSON_PUBLIC(cJSON *) cJSON_CreateNull(void) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_NULL; + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateTrue(void) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_True; + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateFalse(void) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_False; + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateBool(cJSON_bool boolean) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = boolean ? cJSON_True : cJSON_False; + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateNumber(double num) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_Number; + item->valuedouble = num; + + /* use saturation in case of overflow */ + if (num >= INT_MAX) + { + item->valueint = INT_MAX; + } + else if (num <= (double)INT_MIN) + { + item->valueint = INT_MIN; + } + else + { + item->valueint = (int)num; + } + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateString(const char *string) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_String; + item->valuestring = (char*)cJSON_strdup((const unsigned char*)string, &global_hooks); + if(!item->valuestring) + { + cJSON_Delete(item); + return NULL; + } + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateStringReference(const char *string) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if (item != NULL) + { + item->type = cJSON_String | cJSON_IsReference; + item->valuestring = (char*)cast_away_const(string); + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateObjectReference(const cJSON *child) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if (item != NULL) { + item->type = cJSON_Object | cJSON_IsReference; + item->child = (cJSON*)cast_away_const(child); + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateArrayReference(const cJSON *child) { + cJSON *item = cJSON_New_Item(&global_hooks); + if (item != NULL) { + item->type = cJSON_Array | cJSON_IsReference; + item->child = (cJSON*)cast_away_const(child); + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateRaw(const char *raw) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_Raw; + item->valuestring = (char*)cJSON_strdup((const unsigned char*)raw, &global_hooks); + if(!item->valuestring) + { + cJSON_Delete(item); + return NULL; + } + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateArray(void) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type=cJSON_Array; + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateObject(void) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if (item) + { + item->type = cJSON_Object; + } + + return item; +} + +/* Create Arrays: */ +CJSON_PUBLIC(cJSON *) cJSON_CreateIntArray(const int *numbers, int count) +{ + size_t i = 0; + cJSON *n = NULL; + cJSON *p = NULL; + cJSON *a = NULL; + + if ((count < 0) || (numbers == NULL)) + { + return NULL; + } + + a = cJSON_CreateArray(); + + for(i = 0; a && (i < (size_t)count); i++) + { + n = cJSON_CreateNumber(numbers[i]); + if (!n) + { + cJSON_Delete(a); + return NULL; + } + if(!i) + { + a->child = n; + } + else + { + suffix_object(p, n); + } + p = n; + } + + if (a && a->child) { + a->child->prev = n; + } + + return a; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateFloatArray(const float *numbers, int count) +{ + size_t i = 0; + cJSON *n = NULL; + cJSON *p = NULL; + cJSON *a = NULL; + + if ((count < 0) || (numbers == NULL)) + { + return NULL; + } + + a = cJSON_CreateArray(); + + for(i = 0; a && (i < (size_t)count); i++) + { + n = cJSON_CreateNumber((double)numbers[i]); + if(!n) + { + cJSON_Delete(a); + return NULL; + } + if(!i) + { + a->child = n; + } + else + { + suffix_object(p, n); + } + p = n; + } + + if (a && a->child) { + a->child->prev = n; + } + + return a; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateDoubleArray(const double *numbers, int count) +{ + size_t i = 0; + cJSON *n = NULL; + cJSON *p = NULL; + cJSON *a = NULL; + + if ((count < 0) || (numbers == NULL)) + { + return NULL; + } + + a = cJSON_CreateArray(); + + for(i = 0; a && (i < (size_t)count); i++) + { + n = cJSON_CreateNumber(numbers[i]); + if(!n) + { + cJSON_Delete(a); + return NULL; + } + if(!i) + { + a->child = n; + } + else + { + suffix_object(p, n); + } + p = n; + } + + if (a && a->child) { + a->child->prev = n; + } + + return a; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateStringArray(const char *const *strings, int count) +{ + size_t i = 0; + cJSON *n = NULL; + cJSON *p = NULL; + cJSON *a = NULL; + + if ((count < 0) || (strings == NULL)) + { + return NULL; + } + + a = cJSON_CreateArray(); + + for (i = 0; a && (i < (size_t)count); i++) + { + n = cJSON_CreateString(strings[i]); + if(!n) + { + cJSON_Delete(a); + return NULL; + } + if(!i) + { + a->child = n; + } + else + { + suffix_object(p,n); + } + p = n; + } + + if (a && a->child) { + a->child->prev = n; + } + + return a; +} + +/* Duplication */ +CJSON_PUBLIC(cJSON *) cJSON_Duplicate(const cJSON *item, cJSON_bool recurse) +{ + cJSON *newitem = NULL; + cJSON *child = NULL; + cJSON *next = NULL; + cJSON *newchild = NULL; + + /* Bail on bad ptr */ + if (!item) + { + goto fail; + } + /* Create new item */ + newitem = cJSON_New_Item(&global_hooks); + if (!newitem) + { + goto fail; + } + /* Copy over all vars */ + newitem->type = item->type & (~cJSON_IsReference); + newitem->valueint = item->valueint; + newitem->valuedouble = item->valuedouble; + if (item->valuestring) + { + newitem->valuestring = (char*)cJSON_strdup((unsigned char*)item->valuestring, &global_hooks); + if (!newitem->valuestring) + { + goto fail; + } + } + if (item->string) + { + newitem->string = (item->type&cJSON_StringIsConst) ? item->string : (char*)cJSON_strdup((unsigned char*)item->string, &global_hooks); + if (!newitem->string) + { + goto fail; + } + } + /* If non-recursive, then we're done! */ + if (!recurse) + { + return newitem; + } + /* Walk the ->next chain for the child. */ + child = item->child; + while (child != NULL) + { + newchild = cJSON_Duplicate(child, true); /* Duplicate (with recurse) each item in the ->next chain */ + if (!newchild) + { + goto fail; + } + if (next != NULL) + { + /* If newitem->child already set, then crosswire ->prev and ->next and move on */ + next->next = newchild; + newchild->prev = next; + next = newchild; + } + else + { + /* Set newitem->child and move to it */ + newitem->child = newchild; + next = newchild; + } + child = child->next; + } + if (newitem && newitem->child) + { + newitem->child->prev = newchild; + } + + return newitem; + +fail: + if (newitem != NULL) + { + cJSON_Delete(newitem); + } + + return NULL; +} + +static void skip_oneline_comment(char **input) +{ + *input += static_strlen("//"); + + for (; (*input)[0] != '\0'; ++(*input)) + { + if ((*input)[0] == '\n') { + *input += static_strlen("\n"); + return; + } + } +} + +static void skip_multiline_comment(char **input) +{ + *input += static_strlen("/*"); + + for (; (*input)[0] != '\0'; ++(*input)) + { + if (((*input)[0] == '*') && ((*input)[1] == '/')) + { + *input += static_strlen("*/"); + return; + } + } +} + +static void minify_string(char **input, char **output) { + (*output)[0] = (*input)[0]; + *input += static_strlen("\""); + *output += static_strlen("\""); + + + for (; (*input)[0] != '\0'; (void)++(*input), ++(*output)) { + (*output)[0] = (*input)[0]; + + if ((*input)[0] == '\"') { + (*output)[0] = '\"'; + *input += static_strlen("\""); + *output += static_strlen("\""); + return; + } else if (((*input)[0] == '\\') && ((*input)[1] == '\"')) { + (*output)[1] = (*input)[1]; + *input += static_strlen("\""); + *output += static_strlen("\""); + } + } +} + +CJSON_PUBLIC(void) cJSON_Minify(char *json) +{ + char *into = json; + + if (json == NULL) + { + return; + } + + while (json[0] != '\0') + { + switch (json[0]) + { + case ' ': + case '\t': + case '\r': + case '\n': + json++; + break; + + case '/': + if (json[1] == '/') + { + skip_oneline_comment(&json); + } + else if (json[1] == '*') + { + skip_multiline_comment(&json); + } else { + json++; + } + break; + + case '\"': + minify_string(&json, (char**)&into); + break; + + default: + into[0] = json[0]; + json++; + into++; + } + } + + /* and null-terminate. */ + *into = '\0'; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsInvalid(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_Invalid; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsFalse(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_False; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsTrue(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xff) == cJSON_True; +} + + +CJSON_PUBLIC(cJSON_bool) cJSON_IsBool(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & (cJSON_True | cJSON_False)) != 0; +} +CJSON_PUBLIC(cJSON_bool) cJSON_IsNull(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_NULL; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsNumber(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_Number; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsString(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_String; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsArray(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_Array; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsObject(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_Object; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsRaw(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_Raw; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_Compare(const cJSON * const a, const cJSON * const b, const cJSON_bool case_sensitive) +{ + if ((a == NULL) || (b == NULL) || ((a->type & 0xFF) != (b->type & 0xFF))) + { + return false; + } + + /* check if type is valid */ + switch (a->type & 0xFF) + { + case cJSON_False: + case cJSON_True: + case cJSON_NULL: + case cJSON_Number: + case cJSON_String: + case cJSON_Raw: + case cJSON_Array: + case cJSON_Object: + break; + + default: + return false; + } + + /* identical objects are equal */ + if (a == b) + { + return true; + } + + switch (a->type & 0xFF) + { + /* in these cases and equal type is enough */ + case cJSON_False: + case cJSON_True: + case cJSON_NULL: + return true; + + case cJSON_Number: + if (compare_double(a->valuedouble, b->valuedouble)) + { + return true; + } + return false; + + case cJSON_String: + case cJSON_Raw: + if ((a->valuestring == NULL) || (b->valuestring == NULL)) + { + return false; + } + if (strcmp(a->valuestring, b->valuestring) == 0) + { + return true; + } + + return false; + + case cJSON_Array: + { + cJSON *a_element = a->child; + cJSON *b_element = b->child; + + for (; (a_element != NULL) && (b_element != NULL);) + { + if (!cJSON_Compare(a_element, b_element, case_sensitive)) + { + return false; + } + + a_element = a_element->next; + b_element = b_element->next; + } + + /* one of the arrays is longer than the other */ + if (a_element != b_element) { + return false; + } + + return true; + } + + case cJSON_Object: + { + cJSON *a_element = NULL; + cJSON *b_element = NULL; + cJSON_ArrayForEach(a_element, a) + { + /* TODO This has O(n^2) runtime, which is horrible! */ + b_element = get_object_item(b, a_element->string, case_sensitive); + if (b_element == NULL) + { + return false; + } + + if (!cJSON_Compare(a_element, b_element, case_sensitive)) + { + return false; + } + } + + /* doing this twice, once on a and b to prevent true comparison if a subset of b + * TODO: Do this the proper way, this is just a fix for now */ + cJSON_ArrayForEach(b_element, b) + { + a_element = get_object_item(a, b_element->string, case_sensitive); + if (a_element == NULL) + { + return false; + } + + if (!cJSON_Compare(b_element, a_element, case_sensitive)) + { + return false; + } + } + + return true; + } + + default: + return false; + } +} + +CJSON_PUBLIC(void *) cJSON_malloc(size_t size) +{ + return global_hooks.allocate(size); +} + +CJSON_PUBLIC(void) cJSON_free(void *object) +{ + global_hooks.deallocate(object); +} diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/cJSON.h.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/cJSON.h.mustache new file mode 100644 index 000000000..95a9cf69d --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/cJSON.h.mustache @@ -0,0 +1,300 @@ +/* + Copyright (c) 2009-2017 Dave Gamble and cJSON contributors + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +#ifndef cJSON__h +#define cJSON__h + +#ifdef __cplusplus +extern "C" +{ +#endif + +#if !defined(__WINDOWS__) && (defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32)) +#define __WINDOWS__ +#endif + +#ifdef __WINDOWS__ + +/* When compiling for windows, we specify a specific calling convention to avoid issues where we are being called from a project with a different default calling convention. For windows you have 3 define options: + +CJSON_HIDE_SYMBOLS - Define this in the case where you don't want to ever dllexport symbols +CJSON_EXPORT_SYMBOLS - Define this on library build when you want to dllexport symbols (default) +CJSON_IMPORT_SYMBOLS - Define this if you want to dllimport symbol + +For *nix builds that support visibility attribute, you can define similar behavior by + +setting default visibility to hidden by adding +-fvisibility=hidden (for gcc) +or +-xldscope=hidden (for sun cc) +to CFLAGS + +then using the CJSON_API_VISIBILITY flag to "export" the same symbols the way CJSON_EXPORT_SYMBOLS does + +*/ + +#define CJSON_CDECL __cdecl +#define CJSON_STDCALL __stdcall + +/* export symbols by default, this is necessary for copy pasting the C and header file */ +#if !defined(CJSON_HIDE_SYMBOLS) && !defined(CJSON_IMPORT_SYMBOLS) && !defined(CJSON_EXPORT_SYMBOLS) +#define CJSON_EXPORT_SYMBOLS +#endif + +#if defined(CJSON_HIDE_SYMBOLS) +#define CJSON_PUBLIC(type) type CJSON_STDCALL +#elif defined(CJSON_EXPORT_SYMBOLS) +#define CJSON_PUBLIC(type) __declspec(dllexport) type CJSON_STDCALL +#elif defined(CJSON_IMPORT_SYMBOLS) +#define CJSON_PUBLIC(type) __declspec(dllimport) type CJSON_STDCALL +#endif +#else /* !__WINDOWS__ */ +#define CJSON_CDECL +#define CJSON_STDCALL + +#if (defined(__GNUC__) || defined(__SUNPRO_CC) || defined (__SUNPRO_C)) && defined(CJSON_API_VISIBILITY) +#define CJSON_PUBLIC(type) __attribute__((visibility("default"))) type +#else +#define CJSON_PUBLIC(type) type +#endif +#endif + +/* project version */ +#define CJSON_VERSION_MAJOR 1 +#define CJSON_VERSION_MINOR 7 +#define CJSON_VERSION_PATCH 15 + +#include + +/* cJSON Types: */ +#define cJSON_Invalid (0) +#define cJSON_False (1 << 0) +#define cJSON_True (1 << 1) +#define cJSON_NULL (1 << 2) +#define cJSON_Number (1 << 3) +#define cJSON_String (1 << 4) +#define cJSON_Array (1 << 5) +#define cJSON_Object (1 << 6) +#define cJSON_Raw (1 << 7) /* raw json */ + +#define cJSON_IsReference 256 +#define cJSON_StringIsConst 512 + +/* The cJSON structure: */ +typedef struct cJSON +{ + /* next/prev allow you to walk array/object chains. Alternatively, use GetArraySize/GetArrayItem/GetObjectItem */ + struct cJSON *next; + struct cJSON *prev; + /* An array or object item will have a child pointer pointing to a chain of the items in the array/object. */ + struct cJSON *child; + + /* The type of the item, as above. */ + int type; + + /* The item's string, if type==cJSON_String and type == cJSON_Raw */ + char *valuestring; + /* writing to valueint is DEPRECATED, use cJSON_SetNumberValue instead */ + int valueint; + /* The item's number, if type==cJSON_Number */ + double valuedouble; + + /* The item's name string, if this item is the child of, or is in the list of subitems of an object. */ + char *string; +} cJSON; + +typedef struct cJSON_Hooks +{ + /* malloc/free are CDECL on Windows regardless of the default calling convention of the compiler, so ensure the hooks allow passing those functions directly. */ + void *(CJSON_CDECL *malloc_fn)(size_t sz); + void (CJSON_CDECL *free_fn)(void *ptr); +} cJSON_Hooks; + +typedef int cJSON_bool; + +/* Limits how deeply nested arrays/objects can be before cJSON rejects to parse them. + * This is to prevent stack overflows. */ +#ifndef CJSON_NESTING_LIMIT +#define CJSON_NESTING_LIMIT 1000 +#endif + +/* returns the version of cJSON as a string */ +CJSON_PUBLIC(const char*) cJSON_Version(void); + +/* Supply malloc, realloc and free functions to cJSON */ +CJSON_PUBLIC(void) cJSON_InitHooks(cJSON_Hooks* hooks); + +/* Memory Management: the caller is always responsible to free the results from all variants of cJSON_Parse (with cJSON_Delete) and cJSON_Print (with stdlib free, cJSON_Hooks.free_fn, or cJSON_free as appropriate). The exception is cJSON_PrintPreallocated, where the caller has full responsibility of the buffer. */ +/* Supply a block of JSON, and this returns a cJSON object you can interrogate. */ +CJSON_PUBLIC(cJSON *) cJSON_Parse(const char *value); +CJSON_PUBLIC(cJSON *) cJSON_ParseWithLength(const char *value, size_t buffer_length); +/* ParseWithOpts allows you to require (and check) that the JSON is null terminated, and to retrieve the pointer to the final byte parsed. */ +/* If you supply a ptr in return_parse_end and parsing fails, then return_parse_end will contain a pointer to the error so will match cJSON_GetErrorPtr(). */ +CJSON_PUBLIC(cJSON *) cJSON_ParseWithOpts(const char *value, const char **return_parse_end, cJSON_bool require_null_terminated); +CJSON_PUBLIC(cJSON *) cJSON_ParseWithLengthOpts(const char *value, size_t buffer_length, const char **return_parse_end, cJSON_bool require_null_terminated); + +/* Render a cJSON entity to text for transfer/storage. */ +CJSON_PUBLIC(char *) cJSON_Print(const cJSON *item); +/* Render a cJSON entity to text for transfer/storage without any formatting. */ +CJSON_PUBLIC(char *) cJSON_PrintUnformatted(const cJSON *item); +/* Render a cJSON entity to text using a buffered strategy. prebuffer is a guess at the final size. guessing well reduces reallocation. fmt=0 gives unformatted, =1 gives formatted */ +CJSON_PUBLIC(char *) cJSON_PrintBuffered(const cJSON *item, int prebuffer, cJSON_bool fmt); +/* Render a cJSON entity to text using a buffer already allocated in memory with given length. Returns 1 on success and 0 on failure. */ +/* NOTE: cJSON is not always 100% accurate in estimating how much memory it will use, so to be safe allocate 5 bytes more than you actually need */ +CJSON_PUBLIC(cJSON_bool) cJSON_PrintPreallocated(cJSON *item, char *buffer, const int length, const cJSON_bool format); +/* Delete a cJSON entity and all subentities. */ +CJSON_PUBLIC(void) cJSON_Delete(cJSON *item); + +/* Returns the number of items in an array (or object). */ +CJSON_PUBLIC(int) cJSON_GetArraySize(const cJSON *array); +/* Retrieve item number "index" from array "array". Returns NULL if unsuccessful. */ +CJSON_PUBLIC(cJSON *) cJSON_GetArrayItem(const cJSON *array, int index); +/* Get item "string" from object. Case insensitive. */ +CJSON_PUBLIC(cJSON *) cJSON_GetObjectItem(const cJSON * const object, const char * const string); +CJSON_PUBLIC(cJSON *) cJSON_GetObjectItemCaseSensitive(const cJSON * const object, const char * const string); +CJSON_PUBLIC(cJSON_bool) cJSON_HasObjectItem(const cJSON *object, const char *string); +/* For analysing failed parses. This returns a pointer to the parse error. You'll probably need to look a few chars back to make sense of it. Defined when cJSON_Parse() returns 0. 0 when cJSON_Parse() succeeds. */ +CJSON_PUBLIC(const char *) cJSON_GetErrorPtr(void); + +/* Check item type and return its value */ +CJSON_PUBLIC(char *) cJSON_GetStringValue(const cJSON * const item); +CJSON_PUBLIC(double) cJSON_GetNumberValue(const cJSON * const item); + +/* These functions check the type of an item */ +CJSON_PUBLIC(cJSON_bool) cJSON_IsInvalid(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsFalse(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsTrue(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsBool(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsNull(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsNumber(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsString(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsArray(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsObject(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsRaw(const cJSON * const item); + +/* These calls create a cJSON item of the appropriate type. */ +CJSON_PUBLIC(cJSON *) cJSON_CreateNull(void); +CJSON_PUBLIC(cJSON *) cJSON_CreateTrue(void); +CJSON_PUBLIC(cJSON *) cJSON_CreateFalse(void); +CJSON_PUBLIC(cJSON *) cJSON_CreateBool(cJSON_bool boolean); +CJSON_PUBLIC(cJSON *) cJSON_CreateNumber(double num); +CJSON_PUBLIC(cJSON *) cJSON_CreateString(const char *string); +/* raw json */ +CJSON_PUBLIC(cJSON *) cJSON_CreateRaw(const char *raw); +CJSON_PUBLIC(cJSON *) cJSON_CreateArray(void); +CJSON_PUBLIC(cJSON *) cJSON_CreateObject(void); + +/* Create a string where valuestring references a string so + * it will not be freed by cJSON_Delete */ +CJSON_PUBLIC(cJSON *) cJSON_CreateStringReference(const char *string); +/* Create an object/array that only references it's elements so + * they will not be freed by cJSON_Delete */ +CJSON_PUBLIC(cJSON *) cJSON_CreateObjectReference(const cJSON *child); +CJSON_PUBLIC(cJSON *) cJSON_CreateArrayReference(const cJSON *child); + +/* These utilities create an Array of count items. + * The parameter count cannot be greater than the number of elements in the number array, otherwise array access will be out of bounds.*/ +CJSON_PUBLIC(cJSON *) cJSON_CreateIntArray(const int *numbers, int count); +CJSON_PUBLIC(cJSON *) cJSON_CreateFloatArray(const float *numbers, int count); +CJSON_PUBLIC(cJSON *) cJSON_CreateDoubleArray(const double *numbers, int count); +CJSON_PUBLIC(cJSON *) cJSON_CreateStringArray(const char *const *strings, int count); + +/* Append item to the specified array/object. */ +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToArray(cJSON *array, cJSON *item); +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item); +/* Use this when string is definitely const (i.e. a literal, or as good as), and will definitely survive the cJSON object. + * WARNING: When this function was used, make sure to always check that (item->type & cJSON_StringIsConst) is zero before + * writing to `item->string` */ +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON *item); +/* Append reference to item to the specified array/object. Use this when you want to add an existing cJSON to a new cJSON, but don't want to corrupt your existing cJSON. */ +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item); +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToObject(cJSON *object, const char *string, cJSON *item); + +/* Remove/Detach items from Arrays/Objects. */ +CJSON_PUBLIC(cJSON *) cJSON_DetachItemViaPointer(cJSON *parent, cJSON * const item); +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromArray(cJSON *array, int which); +CJSON_PUBLIC(void) cJSON_DeleteItemFromArray(cJSON *array, int which); +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObject(cJSON *object, const char *string); +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObjectCaseSensitive(cJSON *object, const char *string); +CJSON_PUBLIC(void) cJSON_DeleteItemFromObject(cJSON *object, const char *string); +CJSON_PUBLIC(void) cJSON_DeleteItemFromObjectCaseSensitive(cJSON *object, const char *string); + +/* Update array items. */ +CJSON_PUBLIC(cJSON_bool) cJSON_InsertItemInArray(cJSON *array, int which, cJSON *newitem); /* Shifts pre-existing items to the right. */ +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemViaPointer(cJSON * const parent, cJSON * const item, cJSON * replacement); +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInArray(cJSON *array, int which, cJSON *newitem); +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObject(cJSON *object,const char *string,cJSON *newitem); +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObjectCaseSensitive(cJSON *object,const char *string,cJSON *newitem); + +/* Duplicate a cJSON item */ +CJSON_PUBLIC(cJSON *) cJSON_Duplicate(const cJSON *item, cJSON_bool recurse); +/* Duplicate will create a new, identical cJSON item to the one you pass, in new memory that will + * need to be released. With recurse!=0, it will duplicate any children connected to the item. + * The item->next and ->prev pointers are always zero on return from Duplicate. */ +/* Recursively compare two cJSON items for equality. If either a or b is NULL or invalid, they will be considered unequal. + * case_sensitive determines if object keys are treated case sensitive (1) or case insensitive (0) */ +CJSON_PUBLIC(cJSON_bool) cJSON_Compare(const cJSON * const a, const cJSON * const b, const cJSON_bool case_sensitive); + +/* Minify a strings, remove blank characters(such as ' ', '\t', '\r', '\n') from strings. + * The input pointer json cannot point to a read-only address area, such as a string constant, + * but should point to a readable and writable address area. */ +CJSON_PUBLIC(void) cJSON_Minify(char *json); + +/* Helper functions for creating and adding items to an object at the same time. + * They return the added item or NULL on failure. */ +CJSON_PUBLIC(cJSON*) cJSON_AddNullToObject(cJSON * const object, const char * const name); +CJSON_PUBLIC(cJSON*) cJSON_AddTrueToObject(cJSON * const object, const char * const name); +CJSON_PUBLIC(cJSON*) cJSON_AddFalseToObject(cJSON * const object, const char * const name); +CJSON_PUBLIC(cJSON*) cJSON_AddBoolToObject(cJSON * const object, const char * const name, const cJSON_bool boolean); +CJSON_PUBLIC(cJSON*) cJSON_AddNumberToObject(cJSON * const object, const char * const name, const double number); +CJSON_PUBLIC(cJSON*) cJSON_AddStringToObject(cJSON * const object, const char * const name, const char * const string); +CJSON_PUBLIC(cJSON*) cJSON_AddRawToObject(cJSON * const object, const char * const name, const char * const raw); +CJSON_PUBLIC(cJSON*) cJSON_AddObjectToObject(cJSON * const object, const char * const name); +CJSON_PUBLIC(cJSON*) cJSON_AddArrayToObject(cJSON * const object, const char * const name); + +/* When assigning an integer value, it needs to be propagated to valuedouble too. */ +#define cJSON_SetIntValue(object, number) ((object) ? (object)->valueint = (object)->valuedouble = (number) : (number)) +/* helper for the cJSON_SetNumberValue macro */ +CJSON_PUBLIC(double) cJSON_SetNumberHelper(cJSON *object, double number); +#define cJSON_SetNumberValue(object, number) ((object != NULL) ? cJSON_SetNumberHelper(object, (double)number) : (number)) +/* Change the valuestring of a cJSON_String object, only takes effect when type of object is cJSON_String */ +CJSON_PUBLIC(char*) cJSON_SetValuestring(cJSON *object, const char *valuestring); + +/* If the object is not a boolean type this does nothing and returns cJSON_Invalid else it returns the new type*/ +#define cJSON_SetBoolValue(object, boolValue) ( \ + (object != NULL && ((object)->type & (cJSON_False|cJSON_True))) ? \ + (object)->type=((object)->type &(~(cJSON_False|cJSON_True)))|((boolValue)?cJSON_True:cJSON_False) : \ + cJSON_Invalid\ +) + +/* Macro for iterating over an array or object */ +#define cJSON_ArrayForEach(element, array) for(element = (array != NULL) ? (array)->child : NULL; element != NULL; element = element->next) + +/* malloc/free objects using the malloc/free functions that have been set with cJSON_InitHooks */ +CJSON_PUBLIC(void *) cJSON_malloc(size_t size); +CJSON_PUBLIC(void) cJSON_free(void *object); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/keyValuePair.h.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/keyValuePair.h.mustache new file mode 100644 index 000000000..6dc64371a --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/keyValuePair.h.mustache @@ -0,0 +1,25 @@ +#ifndef OGS_SBI_MAP_H +#define OGS_SBI_MAP_H + +#include "ogs-core.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct OpenAPI_map_s { + char *key; + void *value; +} OpenAPI_map_t; + +OpenAPI_map_t *OpenAPI_map_create(char *key, void *value); + +OpenAPI_map_t *OpenAPI_map_create_allocate(char *key, double value); + +void OpenAPI_map_free(OpenAPI_map_t *OpenAPI_map); + +#ifdef __cplusplus +} +#endif + +#endif /* OGS_SBI_MAP_H */ diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/list.c.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/list.c.mustache new file mode 100644 index 000000000..c009e8a1a --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/list.c.mustache @@ -0,0 +1,241 @@ +#include +#include +#include + +#include "../include/list.h" +static OpenAPI_lnode_t *listEntry_create(void *data) +{ + OpenAPI_lnode_t *created = NULL; + + ogs_assert(data); + + created = ogs_malloc(sizeof(OpenAPI_lnode_t)); + ogs_assert(created); + + if (created == NULL) { + ogs_assert_if_reached(); + return NULL; + } + created->data = data; + + return created; +} + +void OpenAPI_lnode_free(OpenAPI_lnode_t *listEntry, void *additionalData) +{ + ogs_free(listEntry); +} + +void OpenAPI_lnode_print(OpenAPI_lnode_t *listEntry, void *additionalData) +{ + printf("%i\n", *((int *) (listEntry->data))); +} + +OpenAPI_list_t *OpenAPI_list_create(void) +{ + OpenAPI_list_t *createdList = ogs_malloc(sizeof(OpenAPI_list_t)); + ogs_assert(createdList); + + if (createdList == NULL) { + ogs_assert_if_reached(); + return NULL; + } + createdList->first = NULL; + createdList->last = NULL; + createdList->count = 0; + + return createdList; +} + +void OpenAPI_list_iterate_forward(OpenAPI_list_t *list, + void (*operationToPerform)( + OpenAPI_lnode_t *, void *callbackFunctionUsedData), + void *additionalDataNeededForCallbackFunction) +{ + OpenAPI_lnode_t *current = list->first; + OpenAPI_lnode_t *next; + + if (current == NULL) { + return; + } + + next = current->next; + + operationToPerform(current, additionalDataNeededForCallbackFunction); + current = next; + + while (current != NULL) { + next = current->next; + operationToPerform(current, additionalDataNeededForCallbackFunction); + current = next; + } +} + +void OpenAPI_list_iterate_backward(OpenAPI_list_t *list, + void (*operationToPerform)( + OpenAPI_lnode_t *, void *callbackFunctionUsedData), + void *additionalDataNeededForCallbackFunction) +{ + OpenAPI_lnode_t *current = list->last; + OpenAPI_lnode_t *next = current->prev; + + if (current == NULL) { + return; + } + + operationToPerform(current, additionalDataNeededForCallbackFunction); + current = next; + + while (current != NULL) { + next = current->prev; + operationToPerform(current, additionalDataNeededForCallbackFunction); + current = next; + } +} + +void OpenAPI_list_free(OpenAPI_list_t *list) +{ + if (list){ + OpenAPI_list_iterate_forward(list, OpenAPI_lnode_free, NULL); + ogs_free(list); + } +} + +void OpenAPI_list_clear(OpenAPI_list_t *list) +{ + if (list) { + OpenAPI_list_iterate_forward(list, OpenAPI_lnode_free, NULL); + list->first = NULL; + list->last = NULL; + list->count = 0; + } +} + +void OpenAPI_list_add(OpenAPI_list_t *list, void *dataToAddInList) +{ + OpenAPI_lnode_t *newListEntry = listEntry_create(dataToAddInList); + if (newListEntry == NULL) { + ogs_assert_if_reached(); + return; + } + if (list->first == NULL) { + list->first = newListEntry; + list->last = newListEntry; + + newListEntry->prev = NULL; + newListEntry->next = NULL; + + list->count++; + + return; + } + + list->last->next = newListEntry; + newListEntry->prev = list->last; + newListEntry->next = NULL; + list->last = newListEntry; + + list->count++; +} + +void OpenAPI_list_insert_prev(OpenAPI_list_t *list, OpenAPI_lnode_t *lnode, + void *dataToAddInList) +{ + OpenAPI_lnode_t *newListEntry = listEntry_create(dataToAddInList); + if (newListEntry == NULL) { + ogs_assert_if_reached(); + return; + } else if (lnode->prev == NULL) { + list->first = newListEntry; + lnode->prev = newListEntry; + newListEntry->prev = NULL; + newListEntry->next = lnode; + } else { + lnode->prev->next = newListEntry; + newListEntry->prev = lnode->prev; + newListEntry->next = lnode; + lnode->prev = newListEntry; + } + list->count++; +} + +void OpenAPI_list_remove(OpenAPI_list_t *list, OpenAPI_lnode_t *elementToRemove) +{ + OpenAPI_lnode_t *elementBeforeElementToRemove = elementToRemove->prev; + OpenAPI_lnode_t *elementAfterElementToRemove = elementToRemove->next; + + if (elementBeforeElementToRemove != NULL) { + elementBeforeElementToRemove->next = elementAfterElementToRemove; + } else { + list->first = elementAfterElementToRemove; + } + + if (elementAfterElementToRemove != NULL) { + elementAfterElementToRemove->prev = elementBeforeElementToRemove; + } else { + list->last = elementBeforeElementToRemove; + } + + OpenAPI_lnode_free(elementToRemove, NULL); + + list->count--; +} + +OpenAPI_lnode_t *OpenAPI_list_find(OpenAPI_list_t *list, long indexOfElement) +{ + OpenAPI_lnode_t *current; + int i; + + if ((list->count / 2) > indexOfElement) { + current = list->first; + + for(i = 0; i < indexOfElement; i++) { + current = current->next; + } + + return current; + } else { + current = list->last; + + for(i = 1; i < (list->count - indexOfElement); i++) { + current = current->prev; + } + + return current; + } +} + +char *OpenAPI_findStrInStrList(OpenAPI_list_t *strList, const char *str) +{ + OpenAPI_lnode_t *listEntry = NULL; + + if (!strList || !str) { + return NULL; + } + + OpenAPI_list_for_each(strList, listEntry) { + ogs_assert(listEntry); + if (strstr((char*)listEntry->data, str) != NULL) { + return (char*)listEntry->data; + } + } + + return NULL; +} + +void OpenAPI_clear_and_free_string_list(OpenAPI_list_t *list) +{ + OpenAPI_lnode_t *listEntry = NULL; + + if (!list) { + return; + } + + OpenAPI_list_for_each(list, listEntry) { + ogs_assert(listEntry); + char *list_item = listEntry->data; + ogs_free(list_item); + list_item = NULL; + } + OpenAPI_list_free(list); +} diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/list.h.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/list.h.mustache new file mode 100644 index 000000000..b8690be77 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/list.h.mustache @@ -0,0 +1,58 @@ +#ifndef OGS_SBI_LIST_H +#define OGS_SBI_LIST_H + +#include "../external/cJSON.h" +#include "ogs-core.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct OpenAPI_list_s OpenAPI_list_t; + +typedef struct OpenAPI_lnode_s OpenAPI_lnode_t; + +struct OpenAPI_lnode_s { + OpenAPI_lnode_t *next; + OpenAPI_lnode_t *prev; + void *data; +}; + +typedef struct OpenAPI_list_s { + OpenAPI_lnode_t *first; + OpenAPI_lnode_t *last; + + long count; +} OpenAPI_list_t; + +#define OpenAPI_list_for_each(list, element) for(element = (list != NULL) ? (list)->first : NULL; element != NULL; element = element->next) + +OpenAPI_list_t *OpenAPI_list_create(void); +void OpenAPI_list_free(OpenAPI_list_t *listToFree); +void OpenAPI_list_clear(OpenAPI_list_t *list); + +void OpenAPI_list_add(OpenAPI_list_t *list, void *dataToAddInList); +void OpenAPI_list_insert_prev( + OpenAPI_list_t *list, OpenAPI_lnode_t *lnode, void *dataToAddInList); +OpenAPI_lnode_t *OpenAPI_list_find(OpenAPI_list_t *list, long indexOfElement); +void OpenAPI_list_remove( + OpenAPI_list_t *list, OpenAPI_lnode_t *elementToRemove); + +void OpenAPI_list_iterate_forward(OpenAPI_list_t *list, + void (*operationToPerform)(OpenAPI_lnode_t*, void*), + void *additionalDataNeededForCallbackFunction); +void OpenAPI_list_iterate_backward(OpenAPI_list_t *list, + void (*operationToPerform)(OpenAPI_lnode_t*, void*), + void *additionalDataNeededForCallbackFunction); + +void OpenAPI_lnode_print(OpenAPI_lnode_t *listEntry, void *additionalData); +void OpenAPI_lnode_free(OpenAPI_lnode_t *listEntry, void *additionalData); + +char *OpenAPI_findStrInStrList(OpenAPI_list_t *strList, const char *str); +void OpenAPI_clear_and_free_string_list(OpenAPI_list_t *list); + +#ifdef __cplusplus +} +#endif + +#endif // OGS_SBI_LIST_H diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/model-body.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/model-body.mustache new file mode 100644 index 000000000..016c38b4a --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/model-body.mustache @@ -0,0 +1,1066 @@ +{{#models}}{{#model}} +#include +#include +#include +#include "{{classname}}.h" + +{{#isEnum}} +char* OpenAPI_{{classname}}_ToString(OpenAPI_{{classVarName}}_e {{classname}}) +{ + const char *{{classname}}Array[] = { "NULL"{{#allowableValues}}{{#values}}, "{{.}}"{{/values}}{{/allowableValues}} }; + size_t sizeofArray = sizeof({{classname}}Array) / sizeof({{classname}}Array[0]); + if ({{classname}} < sizeofArray) + return (char *){{classname}}Array[{{classname}}]; + else + return (char *)"Unknown"; +} + +OpenAPI_{{classVarName}}_e OpenAPI_{{classname}}_FromString(char* {{classname}}) +{ + int stringToReturn = 0; + const char *{{classname}}Array[] = { "NULL"{{#allowableValues}}{{#values}}, "{{.}}"{{/values}}{{/allowableValues}} }; + size_t sizeofArray = sizeof({{classname}}Array) / sizeof({{classname}}Array[0]); + while (stringToReturn < sizeofArray) { + if (strcmp({{classname}}, {{classname}}Array[stringToReturn]) == 0) { + return stringToReturn; + } + stringToReturn++; + } + return 0; +} +{{/isEnum}} +{{^isEnum}} +{{#vars}} + {{^isContainer}} + {{#isPrimitiveType}} + {{#isEnum}} +char *OpenAPI_{{name}}{{classname}}_ToString(OpenAPI_{{classVarName}}_{{name}}_e {{name}}) +{ + const char *{{name}}Array[] = { "NULL"{{#allowableValues}}{{#values}}, "{{.}}"{{/values}}{{/allowableValues}} }; + size_t sizeofArray = sizeof({{name}}Array) / sizeof({{name}}Array[0]); + if ({{name}} < sizeofArray) + return (char *){{name}}Array[{{name}}]; + else + return (char *)"Unknown"; +} + +OpenAPI_{{classVarName}}_{{name}}_e OpenAPI_{{name}}{{classname}}_FromString(char* {{name}}) +{ + int stringToReturn = 0; + const char *{{name}}Array[] = { "NULL"{{#allowableValues}}{{#values}}, "{{.}}"{{/values}}{{/allowableValues}} }; + size_t sizeofArray = sizeof({{name}}Array) / sizeof({{name}}Array[0]); + while (stringToReturn < sizeofArray) { + if (strcmp({{name}}, {{name}}Array[stringToReturn]) == 0) { + return stringToReturn; + } + stringToReturn++; + } + return 0; +} + {{/isEnum}} + {{/isPrimitiveType}} + {{/isContainer}} +{{/vars}} +OpenAPI_{{classname}}_t *OpenAPI_{{classname}}_create( +{{#vars}} + {{^isContainer}} + {{^isPrimitiveType}} + {{#isEnum}} + OpenAPI_{{datatype}}_e {{name}}{{^-last}},{{/-last}} + {{/isEnum}} + {{^isEnum}} + {{#isModel}} + OpenAPI_{{datatype}}_t *{{name}}{{^-last}},{{/-last}} + {{/isModel}} + {{^isModel}} + {{#isUuid}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isUuid}} + {{#isEmail}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isEmail}} + {{#isFreeFormObject}} + OpenAPI_{{datatype}}_t *{{name}}{{^-last}},{{/-last}} + {{/isFreeFormObject}} + {{#isAnyType}} + OpenAPI_{{datatype}}_t *{{name}}{{^-last}},{{/-last}} + {{/isAnyType}} + {{/isModel}} + {{/isEnum}} + {{/isPrimitiveType}} + {{#isPrimitiveType}} + {{#isEnum}} + OpenAPI_{{classVarName}}_{{name}}_e {{name}}{{^-last}},{{/-last}} + {{/isEnum}} + {{^isEnum}} + {{#isNumeric}} + {{^required}} + bool is_{{name}}, + {{/required}} + {{datatype}} {{name}}{{^-last}},{{/-last}} + {{/isNumeric}} + {{#isBoolean}} + {{^required}} + bool is_{{name}}, + {{/required}} + {{datatype}} {{name}}{{^-last}},{{/-last}} + {{/isBoolean}} + {{#isString}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isString}} + {{/isEnum}} + {{#isByteArray}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isByteArray}} + {{#isBinary}} + OpenAPI_{{datatype}} {{name}}{{^-last}},{{/-last}} + {{/isBinary}} + {{#isDate}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isDate}} + {{#isDateTime}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isDateTime}} + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isArray}} + OpenAPI_{{datatype}}_t *{{name}}{{^-last}},{{/-last}} + {{/isArray}} + {{#isMap}} + OpenAPI_{{datatype}} {{name}}{{^-last}},{{/-last}} + {{/isMap}} + {{/isContainer}} +{{/vars}}) +{ + OpenAPI_{{classname}}_t *{{classname}}_local_var = ogs_malloc(sizeof(OpenAPI_{{classname}}_t)); + ogs_assert({{classname}}_local_var); + +{{#vars}} + {{^isContainer}} + {{#isPrimitiveType}} + {{^isEnum}} + {{#isNumeric}} + {{^required}} + {{classname}}_local_var->is_{{{name}}} = is_{{{name}}}; + {{/required}} + {{/isNumeric}} + {{#isBoolean}} + {{^required}} + {{classname}}_local_var->is_{{{name}}} = is_{{{name}}}; + {{/required}} + {{/isBoolean}} + {{/isEnum}} + {{/isPrimitiveType}} + {{/isContainer}} + {{classname}}_local_var->{{{name}}} = {{{name}}}; +{{/vars}} + + return {{classname}}_local_var; +} + +void OpenAPI_{{classname}}_free(OpenAPI_{{classname}}_t *{{classname}}) +{ + if (NULL == {{classname}}) { + return; + } + OpenAPI_lnode_t *node; +{{#vars}} + {{^isContainer}} + {{^isPrimitiveType}} + {{^isEnum}} + {{#isModel}} + if ({{{classname}}}->{{{name}}}) { + OpenAPI_{{{complexType}}}_free({{{classname}}}->{{{name}}}); + {{classname}}->{{name}} = NULL; + } + {{/isModel}} + {{^isModel}} + {{#isUuid}} + if ({{{classname}}}->{{{name}}}) { + ogs_free({{{classname}}}->{{{name}}}); + {{classname}}->{{name}} = NULL; + } + {{/isUuid}} + {{#isEmail}} + if ({{{classname}}}->{{{name}}}) { + ogs_free({{{classname}}}->{{{name}}}); + {{classname}}->{{name}} = NULL; + } + {{/isEmail}} + {{#isFreeFormObject}} + if ({{{classname}}}->{{{name}}}) { + OpenAPI_{{{datatype}}}_free({{{classname}}}->{{{name}}}); + {{classname}}->{{name}} = NULL; + } + {{/isFreeFormObject}} + {{#isAnyType}} + if ({{{classname}}}->{{{name}}}) { + OpenAPI_{{{datatype}}}_free({{{classname}}}->{{{name}}}); + {{classname}}->{{name}} = NULL; + } + {{/isAnyType}} + {{/isModel}} + {{/isEnum}} + {{/isPrimitiveType}} + {{#isPrimitiveType}} + {{^isEnum}} + {{#isString}} + if ({{{classname}}}->{{{name}}}) { + ogs_free({{{classname}}}->{{{name}}}); + {{classname}}->{{name}} = NULL; + } + {{/isString}} + {{/isEnum}} + {{#isByteArray}} + if ({{{classname}}}->{{{name}}}) { + ogs_free({{{classname}}}->{{{name}}}); + {{classname}}->{{name}} = NULL; + } + {{/isByteArray}} + {{#isBinary}} + if ({{{classname}}}->{{{name}}}) { + ogs_free({{{classname}}}->{{{name}}}->data); + {{classname}}->{{name}} = NULL; + } + {{/isBinary}} + {{#isDate}} + if ({{{classname}}}->{{{name}}}) { + ogs_free({{{classname}}}->{{{name}}}); + {{classname}}->{{name}} = NULL; + } + {{/isDate}} + {{#isDateTime}} + if ({{{classname}}}->{{{name}}}) { + ogs_free({{{classname}}}->{{{name}}}); + {{classname}}->{{name}} = NULL; + } + {{/isDateTime}} + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isArray}} + if ({{{classname}}}->{{{name}}}) { + {{^isEnum}} + OpenAPI_list_for_each({{classname}}->{{name}}, node) { + {{#isPrimitiveType}} + ogs_free(node->data); + {{/isPrimitiveType}} + {{^isPrimitiveType}} + OpenAPI_{{complexType}}_free(node->data); + {{/isPrimitiveType}} + } + {{/isEnum}} + OpenAPI_list_free({{classname}}->{{name}}); + {{classname}}->{{name}} = NULL; + } + {{/isArray}} + {{#isMap}} + if ({{{classname}}}->{{{name}}}) { + OpenAPI_list_for_each({{classname}}->{{name}}, node) { + OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*)node->data; + ogs_free(localKeyValue->key); + {{#isPrimitiveType}} + ogs_free(localKeyValue->value); + {{/isPrimitiveType}} + {{^isPrimitiveType}} + OpenAPI_{{complexType}}_free(localKeyValue->value); + {{/isPrimitiveType}} + OpenAPI_map_free(localKeyValue); + } + OpenAPI_list_free({{classname}}->{{name}}); + {{classname}}->{{name}} = NULL; + } + {{/isMap}} + {{/isContainer}} +{{/vars}} + ogs_free({{classname}}); +} + +cJSON *OpenAPI_{{classname}}_convertToJSON(OpenAPI_{{classname}}_t *{{classname}}) +{ + cJSON *item = NULL; + + if ({{classname}} == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + return NULL; + } + + item = cJSON_CreateObject(); +{{#vars}} + {{#required}} + {{^isEnum}} + {{^isNumeric}} + {{^isBoolean}} + if (!{{{classname}}}->{{{name}}}) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + return NULL; + } + {{/isBoolean}} + {{/isNumeric}} + {{/isEnum}} + {{#isEnum}} + {{#isPrimitiveType}} + if ({{{classname}}}->{{{name}}} == OpenAPI_{{classVarName}}_{{enumName}}_NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + return NULL; + } + {{/isPrimitiveType}} + {{^isPrimitiveType}} + if ({{{classname}}}->{{{name}}} == OpenAPI_{{{complexType}}}_NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + return NULL; + } + {{/isPrimitiveType}} + {{/isEnum}} + {{/required}} + {{^required}} + {{^isEnum}} + {{#isNumeric}} + if ({{{classname}}}->is_{{{name}}}) { + {{/isNumeric}} + {{#isBoolean}} + if ({{{classname}}}->is_{{{name}}}) { + {{/isBoolean}} + {{^isNumeric}} + {{^isBoolean}} + if ({{{classname}}}->{{{name}}}) { + {{/isBoolean}} + {{/isNumeric}} + {{/isEnum}} + {{#isEnum}} + {{#isPrimitiveType}} + if ({{{classname}}}->{{{name}}} != OpenAPI_{{classVarName}}_{{enumName}}_NULL) { + {{/isPrimitiveType}} + {{^isPrimitiveType}} + if ({{{classname}}}->{{{name}}} != OpenAPI_{{{complexType}}}_NULL) { + {{/isPrimitiveType}} + {{/isEnum}} + {{/required}} + {{^isContainer}} + {{#isPrimitiveType}} + {{#isEnum}} + if (cJSON_AddStringToObject(item, "{{{baseName}}}", OpenAPI_{{{name}}}{{classname}}_ToString({{{classname}}}->{{{name}}})) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isEnum}} + {{^isEnum}} + {{#isNumeric}} + if (cJSON_AddNumberToObject(item, "{{{baseName}}}", {{{classname}}}->{{{name}}}) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isNumeric}} + {{#isBoolean}} + if (cJSON_AddBoolToObject(item, "{{{baseName}}}", {{{classname}}}->{{{name}}}) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isBoolean}} + {{#isString}} + if (cJSON_AddStringToObject(item, "{{{baseName}}}", {{{classname}}}->{{{name}}}) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isString}} + {{/isEnum}} + {{#isByteArray}} + if (cJSON_AddStringToObject(item, "{{{baseName}}}", {{{classname}}}->{{{name}}}) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isByteArray}} + {{#isBinary}} + char* encoded_str_{{{name}}} = OpenAPI_base64encode({{{classname}}}->{{{name}}}->data,{{{classname}}}->{{{name}}}->len); + if (cJSON_AddStringToObject(item, "{{{baseName}}}", encoded_str_{{{name}}}) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + ogs_free(encoded_str_{{{name}}}); + {{/isBinary}} + {{#isDate}} + if (cJSON_AddStringToObject(item, "{{{baseName}}}", {{{classname}}}->{{{name}}}) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isDate}} + {{#isDateTime}} + if (cJSON_AddStringToObject(item, "{{{baseName}}}", {{{classname}}}->{{{name}}}) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isDateTime}} + {{/isPrimitiveType}} + {{^isPrimitiveType}} + {{#isEnum}} + if (cJSON_AddStringToObject(item, "{{{baseName}}}", OpenAPI_{{{complexType}}}_ToString({{{classname}}}->{{{name}}})) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isEnum}} + {{^isEnum}} + {{#isModel}} + cJSON *{{{name}}}_local_JSON = OpenAPI_{{complexType}}{{#isFreeFormObject}}object{{/isFreeFormObject}}_convertToJSON({{{classname}}}->{{{name}}}); + if ({{{name}}}_local_JSON == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + cJSON_AddItemToObject(item, "{{{baseName}}}", {{{name}}}_local_JSON); + if (item->child == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isModel}} + {{^isModel}} + {{#isUuid}} + if (cJSON_AddStringToObject(item, "{{{baseName}}}", {{{classname}}}->{{{name}}}) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isUuid}} + {{#isEmail}} + if (cJSON_AddStringToObject(item, "{{{baseName}}}", {{{classname}}}->{{{name}}}) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isEmail}} + {{#isFreeFormObject}} + cJSON *{{{name}}}_object = OpenAPI_object_convertToJSON({{{classname}}}->{{{name}}}); + if ({{{name}}}_object == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + cJSON_AddItemToObject(item, "{{{baseName}}}", {{{name}}}_object); + if (item->child == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isFreeFormObject}} + {{#isAnyType}} + cJSON *{{{name}}}_object = OpenAPI_any_type_convertToJSON({{{classname}}}->{{{name}}}); + if ({{{name}}}_object == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + cJSON_AddItemToObject(item, "{{{baseName}}}", {{{name}}}_object); + if (item->child == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isAnyType}} + {{/isModel}} + {{/isEnum}} + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isArray}} + {{#isEnum}} + cJSON *{{{name}}} = cJSON_AddArrayToObject(item, "{{{baseName}}}"); + if ({{{name}}} == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + OpenAPI_lnode_t *{{{name}}}_node; + OpenAPI_list_for_each({{classname}}->{{{name}}}, {{{name}}}_node) { + if (cJSON_AddStringToObject({{{name}}}, "", OpenAPI_{{{complexType}}}_ToString((intptr_t){{{name}}}_node->data)) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + } + {{/isEnum}} + {{^isEnum}} + {{#isPrimitiveType}} + cJSON *{{{name}}} = cJSON_AddArrayToObject(item, "{{{baseName}}}"); + if ({{{name}}} == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + + OpenAPI_lnode_t *{{{name}}}_node; + OpenAPI_list_for_each({{{classname}}}->{{{name}}}, {{{name}}}_node) { + {{#items}} + {{#isString}} + if (cJSON_AddStringToObject({{{name}}}, "", (char*){{{name}}}_node->data) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isString}} + {{#isBoolean}} + if (cJSON_AddBoolToObject({{{name}}}, "", *(cJSON_bool *){{{name}}}_node->data) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isBoolean}} + {{#isNumeric}} + if (cJSON_AddNumberToObject({{{name}}}, "", *(double *){{{name}}}_node->data) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isNumeric}} + {{/items}} + } + {{/isPrimitiveType}} + {{^isPrimitiveType}} + cJSON *{{{name}}}List = cJSON_AddArrayToObject(item, "{{{baseName}}}"); + if ({{{name}}}List == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + + OpenAPI_lnode_t *{{{name}}}_node; + if ({{{classname}}}->{{{name}}}) { + OpenAPI_list_for_each({{classname}}->{{{name}}}, {{{name}}}_node) { + cJSON *itemLocal = OpenAPI_{{complexType}}_convertToJSON({{#isEnum}}{{#items}}(intptr_t){{/items}}{{/isEnum}}{{{name}}}_node->data); + if (itemLocal == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + cJSON_AddItemToArray({{{name}}}List, itemLocal); + } + } + {{/isPrimitiveType}} + {{/isEnum}} + {{/isArray}} + {{#isMap}} + cJSON *{{{name}}} = cJSON_AddObjectToObject(item, "{{{baseName}}}"); + if ({{{name}}} == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + cJSON *localMapObject = {{{name}}}; + OpenAPI_lnode_t *{{{name}}}_node; + if ({{{classname}}}->{{{name}}}) { + OpenAPI_list_for_each({{{classname}}}->{{{name}}}, {{{name}}}_node) { + OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*){{{name}}}_node->data; + {{#items}} + {{#isPrimitiveType}} + {{#isString}} + if (cJSON_AddStringToObject(localMapObject, localKeyValue->key, (char*)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isString}} + {{#isNumeric}} + if (cJSON_AddNumberToObject(localMapObject, localKeyValue->key, *(double *)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isNumeric}} + {{#isByteArray}} + if(cJSON_AddStringToObject(localMapObject, localKeyValue->key, (char*)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isByteArray}} + {{#isBoolean}} + if (cJSON_AddBoolToObject(localMapObject, localKeyValue->key, *(cJSON_bool *)localKeyValue->value) == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + {{/isBoolean}} + {{/isPrimitiveType}} + {{^isPrimitiveType}} + cJSON *itemLocal = localKeyValue->value ? + OpenAPI_{{complexType}}_convertToJSON(localKeyValue->value) : + cJSON_CreateNull(); + if (itemLocal == NULL) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed [{{{name}}}]"); + goto end; + } + cJSON_AddItemToObject(localMapObject, localKeyValue->key, itemLocal); + {{/isPrimitiveType}} + {{/items}} + } + } + {{/isMap}} + {{/isContainer}} + {{^required}} + } + {{/required}} + +{{/vars}} +end: + return item; +} + +OpenAPI_{{classname}}_t *OpenAPI_{{classname}}_parseFromJSON(cJSON *{{classname}}JSON) +{ + OpenAPI_{{classname}}_t *{{classname}}_local_var = NULL; + OpenAPI_lnode_t *node = NULL; +{{#vars}} + cJSON *{{{name}}} = NULL; + {{^isContainer}} + {{#isPrimitiveType}} + {{#isEnum}} + OpenAPI_{{classVarName}}_{{name}}_e {{name}}Variable = 0; + {{/isEnum}} + {{#isBinary}} + OpenAPI_binary_t *decoded_str_{{{name}}} = NULL; + {{/isBinary}} + {{/isPrimitiveType}} + {{^isPrimitiveType}} + {{#isEnum}} + OpenAPI_{{complexType}}_e {{name}}Variable = 0; + {{/isEnum}} + {{^isEnum}} + {{#isModel}} + {{^isFreeFormObject}}OpenAPI_{{complexType}}{{/isFreeFormObject}}{{#isFreeFormObject}}OpenAPI_object{{/isFreeFormObject}}_t *{{name}}_local_nonprim = NULL; + {{/isModel}} + {{^isModel}} + {{#isFreeFormObject}} + OpenAPI_object_t *{{name}}_local_object = NULL; + {{/isFreeFormObject}} + {{#isAnyType}} + OpenAPI_any_type_t *{{name}}_local_object = NULL; + {{/isAnyType}} + {{/isModel}} + {{/isEnum}} + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isArray}} + OpenAPI_list_t *{{{name}}}List = NULL; + {{/isArray}} + {{#isMap}} + OpenAPI_list_t *{{{name}}}List = NULL; + {{/isMap}} + {{/isContainer}} +{{/vars}} +{{#vars}} + {{{name}}} = cJSON_GetObjectItemCaseSensitive({{classname}}JSON, "{{{baseName}}}"); + {{#required}} + if (!{{{name}}}) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{/required}} + {{^required}} + if ({{{name}}}) { + {{/required}} + {{^isContainer}} + {{#isPrimitiveType}} + {{#isEnum}} + if (!cJSON_IsString({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{name}}Variable = OpenAPI_{{name}}{{classname}}_FromString({{{name}}}->valuestring); + {{/isEnum}} + {{^isEnum}} + {{#isNumeric}} + if (!cJSON_IsNumber({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{/isNumeric}} + {{#isBoolean}} + if (!cJSON_IsBool({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{/isBoolean}} + {{#isString}} + if (!cJSON_IsString({{{name}}}){{^required}} && !cJSON_IsNull({{{name}}}){{/required}}) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{/isString}} + {{/isEnum}} + {{#isByteArray}} + if (!cJSON_IsString({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{/isByteArray}} + {{#isBinary}} + decoded_str_{{{name}}} = ogs_malloc(sizeof(OpenAPI_binary_t)); + ogs_assert(decoded_str_{{{name}}}); + if (!cJSON_IsString({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + decoded_str_{{{name}}}->data = OpenAPI_base64decode({{{name}}}->valuestring, strlen({{{name}}}->valuestring), &decoded_str_{{{name}}}->len); + if (!decoded_str_{{{name}}}->data) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{/isBinary}} + {{#isDate}} + if (!cJSON_IsString({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{/isDate}} + {{#isDateTime}} + if (!cJSON_IsString({{{name}}}) && !cJSON_IsNull({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{/isDateTime}} + {{/isPrimitiveType}} + {{^isPrimitiveType}} + {{#isEnum}} + if (!cJSON_IsString({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{name}}Variable = OpenAPI_{{complexType}}_FromString({{{name}}}->valuestring); + {{/isEnum}} + {{^isEnum}} + {{#isModel}} + {{{name}}}_local_nonprim = OpenAPI_{{complexType}}{{#isFreeFormObject}}object{{/isFreeFormObject}}_parseFromJSON({{{name}}}); + {{/isModel}} + {{^isModel}} + {{#isUuid}} + if (!cJSON_IsString({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{/isUuid}} + {{#isEmail}} + if (!cJSON_IsString({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{/isEmail}} + {{#isFreeFormObject}} + if (!cJSON_IsObject({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{{name}}}_local_object = OpenAPI_object_parseFromJSON({{{name}}}); + {{/isFreeFormObject}} + {{#isAnyType}} + {{{name}}}_local_object = OpenAPI_any_type_parseFromJSON({{{name}}}); + {{/isAnyType}} + {{/isModel}} + {{/isEnum}} + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isArray}} + {{#isEnum}} + cJSON *{{{name}}}_local_nonprimitive = NULL; + if (!cJSON_IsArray({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + + {{{name}}}List = OpenAPI_list_create(); + + cJSON_ArrayForEach({{{name}}}_local_nonprimitive, {{{name}}} ) { + if (!cJSON_IsString({{{name}}}_local_nonprimitive)){ + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + + OpenAPI_list_add({{{name}}}List, (void *)OpenAPI_{{{complexType}}}_FromString({{{name}}}_local_nonprimitive->valuestring)); + } + {{/isEnum}} + {{^isEnum}} + {{#isPrimitiveType}} + cJSON *{{{name}}}_local; + if (!cJSON_IsArray({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{{name}}}List = OpenAPI_list_create(); + + cJSON_ArrayForEach({{{name}}}_local, {{{name}}}) { + {{#items}} + {{#isString}} + if (!cJSON_IsString({{{name}}}_local)) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + OpenAPI_list_add({{{name}}}List, ogs_strdup({{{name}}}_local->valuestring)); + {{/isString}} + {{#isNumeric}} + if (!cJSON_IsNumber({{{name}}}_local)) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + double *{{{name}}}_local_value = (double *)ogs_calloc(1, sizeof(double)); + if(!{{{name}}}_local_value) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + *{{{name}}}_local_value = {{{name}}}_local->valuedouble; + OpenAPI_list_add({{{name}}}List, {{{name}}}_local_value); + {{/isNumeric}} + {{#isBoolean}} + if (!cJSON_IsBool({{{name}}}_local)) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + OpenAPI_list_add({{{name}}}List, {{{name}}}_local->valueint); + {{/isBoolean}} + {{/items}} + } + {{/isPrimitiveType}} + {{^isPrimitiveType}} + cJSON *{{{name}}}_local_nonprimitive; + if (!cJSON_IsArray({{{name}}})){ + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + + {{{name}}}List = OpenAPI_list_create(); + + cJSON_ArrayForEach({{{name}}}_local_nonprimitive, {{{name}}} ) { + if (!cJSON_IsObject({{{name}}}_local_nonprimitive)) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{#isEnum}}{{#items}}{{datatypeWithEnum}}_e {{/items}}{{/isEnum}}{{^isEnum}}OpenAPI_{{complexType}}_t *{{/isEnum}}{{{name}}}Item = OpenAPI_{{complexType}}_parseFromJSON({{{name}}}_local_nonprimitive); + + {{^isEnum}} + if (!{{{name}}}Item) { + ogs_error("No {{{name}}}Item"); + OpenAPI_list_free({{{name}}}List); + goto end; + } + {{/isEnum}} + + OpenAPI_list_add({{{name}}}List, {{#isEnum}}{{#items}}(void *){{/items}}{{/isEnum}}{{{name}}}Item); + } + {{/isPrimitiveType}} + {{/isEnum}} + {{/isArray}} + {{#isMap}} + cJSON *{{{name}}}_local_map = NULL; + if (!cJSON_IsObject({{{name}}}) && !cJSON_IsNull({{{name}}})) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + if (cJSON_IsObject({{{name}}})) { + {{{name}}}List = OpenAPI_list_create(); + OpenAPI_map_t *localMapKeyPair = NULL; + cJSON_ArrayForEach({{{name}}}_local_map, {{{name}}}) { + cJSON *localMapObject = {{{name}}}_local_map; + {{#items}} + {{#isPrimitiveType}} + {{#isString}} + if (!cJSON_IsString(localMapObject)) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),ogs_strdup(localMapObject->valuestring)); + {{/isString}} + {{#isByteArray}} + if (!cJSON_IsString(localMapObject)) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),ogs_strdup(localMapObject->valuestring)); + {{/isByteArray}} + {{#isBoolean}} + if (!cJSON_IsBool(localMapObject)) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), &localMapObject->valueint); + {{/isBoolean}} + {{#isNumeric}} + if (!cJSON_IsNumber(localMapObject)) { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string),&localMapObject->valuedouble ); + {{/isNumeric}} + {{/isPrimitiveType}} + {{^isPrimitiveType}} + if (cJSON_IsObject(localMapObject)) { + localMapKeyPair = OpenAPI_map_create( + ogs_strdup(localMapObject->string), OpenAPI_{{complexType}}_parseFromJSON(localMapObject)); + } else if (cJSON_IsNull(localMapObject)) { + localMapKeyPair = OpenAPI_map_create(ogs_strdup(localMapObject->string), NULL); + } else { + ogs_error("OpenAPI_{{classname}}_parseFromJSON() failed [{{{name}}}]"); + goto end; + } + {{/isPrimitiveType}} + {{/items}} + OpenAPI_list_add({{{name}}}List, localMapKeyPair); + } + } + {{/isMap}} + {{/isContainer}} + {{^required}} + } + {{/required}} + +{{/vars}} + {{classname}}_local_var = OpenAPI_{{classname}}_create ( +{{#vars}} + {{^isContainer}} + {{^isPrimitiveType}} + {{#isEnum}} + {{^required}}{{{name}}} ? {{/required}}{{{name}}}Variable{{^required}} : 0{{/required}}{{^-last}},{{/-last}} + {{/isEnum}} + {{^isEnum}} + {{#isModel}} + {{^required}}{{{name}}} ? {{/required}}{{{name}}}_local_nonprim{{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isModel}} + {{^isModel}} + {{#isUuid}} + {{^required}}{{{name}}} ? {{/required}}ogs_strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isUuid}} + {{#isEmail}} + {{^required}}{{{name}}} ? {{/required}}ogs_strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isEmail}} + {{#isFreeFormObject}} + {{^required}}{{{name}}} ? {{/required}}{{{name}}}_local_object{{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isFreeFormObject}} + {{#isAnyType}} + {{^required}}{{{name}}} ? {{/required}}{{{name}}}_local_object{{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isAnyType}} + {{/isModel}} + {{/isEnum}} + {{/isPrimitiveType}} + {{#isPrimitiveType}} + {{#isEnum}} + {{^required}}{{{name}}} ? {{/required}}{{name}}Variable{{^required}} : 0{{/required}}{{^-last}},{{/-last}} + {{/isEnum}} + {{^isEnum}} + {{#isNumeric}} + {{^required}}{{{name}}} ? true : false,{{/required}} + {{^required}}{{{name}}} ? {{/required}}{{{name}}}->valuedouble{{^required}} : 0{{/required}}{{^-last}},{{/-last}} + {{/isNumeric}} + {{#isBoolean}} + {{^required}}{{{name}}} ? true : false,{{/required}} + {{^required}}{{{name}}} ? {{/required}}{{{name}}}->valueint{{^required}} : 0{{/required}}{{^-last}},{{/-last}} + {{/isBoolean}} + {{#isString}} + {{^required}}{{{name}}} && !cJSON_IsNull({{{name}}}) ? {{/required}}ogs_strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isString}} + {{/isEnum}} + {{#isByteArray}} + {{^required}}{{{name}}} ? {{/required}}ogs_strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isByteArray}} + {{#isBinary}} + {{^required}}{{{name}}} ? {{/required}}decoded_str_{{{name}}}{{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isBinary}} + {{#isDate}} + {{^required}}{{{name}}} ? {{/required}}ogs_strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isDate}} + {{#isDateTime}} + {{^required}}{{{name}}} && !cJSON_IsNull({{{name}}}) ? {{/required}}ogs_strdup({{{name}}}->valuestring){{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isDateTime}} + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isArray}} + {{^required}}{{{name}}} ? {{/required}}{{{name}}}List{{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isArray}} + {{#isMap}} + {{^required}}{{{name}}} ? {{/required}}{{{name}}}List{{^required}} : NULL{{/required}}{{^-last}},{{/-last}} + {{/isMap}} + {{/isContainer}} +{{/vars}} + ); + + return {{classname}}_local_var; +end: +{{#vars}} + {{^isContainer}} + {{^isPrimitiveType}} + {{^isEnum}} + {{#isModel}} + if ({{{name}}}_local_nonprim) { + OpenAPI_{{{complexType}}}_free({{{name}}}_local_nonprim); + {{{name}}}_local_nonprim = NULL; + } + {{/isModel}} + {{^isModel}} + {{#isFreeFormObject}} + if ({{{name}}}_local_object) { + OpenAPI_{{{datatype}}}_free({{{name}}}_local_object); + {{{name}}}_local_object = NULL; + } + {{/isFreeFormObject}} + {{#isAnyType}} + if ({{name}}_local_object) { + OpenAPI_{{{datatype}}}_free({{name}}_local_object); + {{name}}_local_object = NULL; + } + {{/isAnyType}} + {{/isModel}} + {{/isEnum}} + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isArray}} + if ({{{name}}}List) { + {{^isEnum}} + OpenAPI_list_for_each({{{name}}}List, node) { + {{#isPrimitiveType}} + ogs_free(node->data); + {{/isPrimitiveType}} + {{^isPrimitiveType}} + OpenAPI_{{complexType}}_free(node->data); + {{/isPrimitiveType}} + } + {{/isEnum}} + OpenAPI_list_free({{{name}}}List); + {{{name}}}List = NULL; + } + {{/isArray}} + {{#isMap}} + if ({{{name}}}List) { + OpenAPI_list_for_each({{{name}}}List, node) { + OpenAPI_map_t *localKeyValue = (OpenAPI_map_t*) node->data; + ogs_free(localKeyValue->key); + {{#isPrimitiveType}} + ogs_free(localKeyValue->value); + {{/isPrimitiveType}} + {{^isPrimitiveType}} + OpenAPI_{{complexType}}_free(localKeyValue->value); + {{/isPrimitiveType}} + OpenAPI_map_free(localKeyValue); + } + OpenAPI_list_free({{{name}}}List); + {{{name}}}List = NULL; + } + {{/isMap}} + {{/isContainer}} +{{/vars}} + return NULL; +} + +OpenAPI_{{classname}}_t *OpenAPI_{{classname}}_copy(OpenAPI_{{classname}}_t *dst, OpenAPI_{{classname}}_t *src) +{ + cJSON *item = NULL; + char *content = NULL; + + ogs_assert(src); + item = OpenAPI_{{classname}}_convertToJSON(src); + if (!item) { + ogs_error("OpenAPI_{{classname}}_convertToJSON() failed"); + return NULL; + } + + content = cJSON_Print(item); + cJSON_Delete(item); + + if (!content) { + ogs_error("cJSON_Print() failed"); + return NULL; + } + + item = cJSON_Parse(content); + ogs_free(content); + if (!item) { + ogs_error("cJSON_Parse() failed"); + return NULL; + } + + OpenAPI_{{classname}}_free(dst); + dst = OpenAPI_{{classname}}_parseFromJSON(item); + cJSON_Delete(item); + + return dst; +} +{{/isEnum}} +{{/model}}{{/models}} diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/model-header.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/model-header.mustache new file mode 100644 index 000000000..d702deb6d --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/model-header.mustache @@ -0,0 +1,204 @@ +{{#models}}{{#model}}/* + * {{classname}}.h + * + * {{description}} + */ + +#ifndef _OpenAPI_{{classname}}_H_ +#define _OpenAPI_{{classname}}_H_ + +#include +#include "../external/cJSON.h" +#include "../include/list.h" +#include "../include/keyValuePair.h" +#include "../include/binary.h" +{{#imports}} +#include "{{{.}}}.h" +{{/imports}} + +#ifdef __cplusplus +extern "C" { +#endif + +{{#isEnum}} + {{#allowableValues}} +typedef enum { OpenAPI_{{classVarName}}_NULL = 0{{#enumVars}}, OpenAPI_{{classVarName}}_{{{value}}}{{/enumVars}} } OpenAPI_{{classVarName}}_e; + {{/allowableValues}} + +char* OpenAPI_{{classname}}_ToString(OpenAPI_{{classVarName}}_e {{classname}}); + +OpenAPI_{{classVarName}}_e OpenAPI_{{classname}}_FromString(char* {{classname}}); +{{/isEnum}} +{{^isEnum}} +typedef struct OpenAPI_{{classname}}_s OpenAPI_{{classname}}_t; +{{#vars}} + {{^isContainer}} + {{#isPrimitiveType}} + {{#isEnum}} + {{#allowableValues}} +typedef enum { OpenAPI_{{classVarName}}_{{enumName}}_NULL = 0{{#enumVars}}, OpenAPI_{{classVarName}}_{{enumName}}_{{{value}}}{{/enumVars}} } OpenAPI_{{classVarName}}_{{name}}_e; + {{/allowableValues}} + +char* OpenAPI_{{classVarName}}_{{name}}_ToString(OpenAPI_{{classVarName}}_{{name}}_e {{name}}); + +OpenAPI_{{classVarName}}_{{name}}_e OpenAPI_{{classVarName}}_{{name}}_FromString(char* {{name}}); + {{/isEnum}} + {{/isPrimitiveType}} + {{/isContainer}} +{{/vars}} +typedef struct OpenAPI_{{classname}}_s { +{{#vars}} + {{^isContainer}} + {{^isPrimitiveType}} + {{#isEnum}} + OpenAPI_{{datatype}}_e {{name}}; + {{/isEnum}} + {{^isEnum}} + {{#isModel}} + struct OpenAPI_{{datatype}}_s *{{name}}; + {{/isModel}} + {{^isModel}} + {{#isUuid}} + {{datatype}} *{{name}}; + {{/isUuid}} + {{#isEmail}} + {{datatype}} *{{name}}; + {{/isEmail}} + {{#isFreeFormObject}} + OpenAPI_{{datatype}}_t *{{name}}; + {{/isFreeFormObject}} + {{#isAnyType}} + OpenAPI_{{datatype}}_t *{{name}}; + {{/isAnyType}} + {{/isModel}} + {{/isEnum}} + {{/isPrimitiveType}} + {{#isPrimitiveType}} + {{#isEnum}} + OpenAPI_{{classVarName}}_{{name}}_e {{name}}; + {{/isEnum}} + {{^isEnum}} + {{#isNumeric}} + {{^required}} + bool is_{{name}}; + {{/required}} + {{datatype}} {{name}}; + {{/isNumeric}} + {{#isBoolean}} + {{^required}} + bool is_{{name}}; + {{/required}} + {{datatype}} {{name}}; + {{/isBoolean}} + {{#isString}} + {{datatype}} *{{name}}; + {{/isString}} + {{/isEnum}} + {{#isByteArray}} + {{datatype}} *{{name}}; + {{/isByteArray}} + {{#isBinary}} + OpenAPI_{{datatype}} {{name}}; + {{/isBinary}} + {{#isDate}} + {{datatype}} *{{name}}; + {{/isDate}} + {{#isDateTime}} + {{datatype}} *{{name}}; + {{/isDateTime}} + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isArray}} + OpenAPI_{{datatype}}_t *{{name}}; + {{/isArray}} + {{#isMap}} + OpenAPI_{{datatype}} {{name}}; + {{/isMap}} + {{/isContainer}} +{{/vars}} +} OpenAPI_{{classname}}_t; + +OpenAPI_{{classname}}_t *OpenAPI_{{classname}}_create( +{{#vars}} + {{^isContainer}} + {{^isPrimitiveType}} + {{#isEnum}} + OpenAPI_{{datatype}}_e {{name}}{{^-last}},{{/-last}} + {{/isEnum}} + {{^isEnum}} + {{#isModel}} + OpenAPI_{{datatype}}_t *{{name}}{{^-last}},{{/-last}} + {{/isModel}} + {{^isModel}} + {{#isUuid}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isUuid}} + {{#isEmail}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isEmail}} + {{#isFreeFormObject}} + OpenAPI_{{datatype}}_t *{{name}}{{^-last}},{{/-last}} + {{/isFreeFormObject}} + {{#isAnyType}} + OpenAPI_{{datatype}}_t *{{name}}{{^-last}},{{/-last}} + {{/isAnyType}} + {{/isModel}} + {{/isEnum}} + {{/isPrimitiveType}} + {{#isPrimitiveType}} + {{#isEnum}} + OpenAPI_{{classVarName}}_{{name}}_e {{name}}{{^-last}},{{/-last}} + {{/isEnum}} + {{^isEnum}} + {{#isNumeric}} + {{^required}} + bool is_{{name}}, + {{/required}} + {{datatype}} {{name}}{{^-last}},{{/-last}} + {{/isNumeric}} + {{#isBoolean}} + {{^required}} + bool is_{{name}}, + {{/required}} + {{datatype}} {{name}}{{^-last}},{{/-last}} + {{/isBoolean}} + {{#isString}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isString}} + {{/isEnum}} + {{#isByteArray}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isByteArray}} + {{#isBinary}} + OpenAPI_{{datatype}} {{name}}{{^-last}},{{/-last}} + {{/isBinary}} + {{#isDate}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isDate}} + {{#isDateTime}} + {{datatype}} *{{name}}{{^-last}},{{/-last}} + {{/isDateTime}} + {{/isPrimitiveType}} + {{/isContainer}} + {{#isContainer}} + {{#isArray}} + OpenAPI_{{datatype}}_t *{{name}}{{^-last}},{{/-last}} + {{/isArray}} + {{#isMap}} + OpenAPI_{{datatype}} {{name}}{{^-last}},{{/-last}} + {{/isMap}} + {{/isContainer}} +{{/vars}}); +void OpenAPI_{{classname}}_free(OpenAPI_{{classname}}_t *{{classname}}); +OpenAPI_{{classname}}_t *OpenAPI_{{classname}}_parseFromJSON(cJSON *{{classname}}JSON); +cJSON *OpenAPI_{{classname}}_convertToJSON(OpenAPI_{{classname}}_t *{{classname}}); +OpenAPI_{{classname}}_t *OpenAPI_{{classname}}_copy(OpenAPI_{{classname}}_t *dst, OpenAPI_{{classname}}_t *src); +{{/isEnum}} + +#ifdef __cplusplus +} +#endif + +#endif /* _OpenAPI_{{classname}}_H_ */ +{{/model}}{{/models}} diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/object-body.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/object-body.mustache new file mode 100644 index 000000000..5192c6593 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/object-body.mustache @@ -0,0 +1,55 @@ +#include +#include +#include +#include "object.h" + +OpenAPI_object_t *OpenAPI_object_create(void) +{ + OpenAPI_object_t *object = ogs_calloc(1, sizeof(OpenAPI_object_t)); + + return object; +} + +void OpenAPI_object_free(OpenAPI_object_t *object) +{ + if (!object) { + return; + } + + if (object->temporary) { + ogs_free(object->temporary); + object->temporary = NULL; + } + + ogs_free (object); +} + +cJSON *OpenAPI_object_convertToJSON(OpenAPI_object_t *object) +{ + if (!object) { + return NULL; + } + + if (!object->temporary) { + return cJSON_Parse("{}"); + } + + return cJSON_Parse(object->temporary); +} + +OpenAPI_object_t *OpenAPI_object_parseFromJSON(cJSON *json) +{ + if (!json) { + goto end; + } + + OpenAPI_object_t *object = OpenAPI_object_create(); + if (!object) { + goto end; + } + object->temporary = cJSON_Print(json); + return object; + +end: + return NULL; +} diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/object-header.mustache b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/object-header.mustache new file mode 100644 index 000000000..8b5e45ad3 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/templates/object-header.mustache @@ -0,0 +1,30 @@ +#ifndef OGS_SBI_OBJECT_H +#define OGS_SBI_OBJECT_H + +#include +#include "../external/cJSON.h" +#include "../include/list.h" +#include "../include/keyValuePair.h" +#include "../include/binary.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct OpenAPI_object_s { + void *temporary; +} OpenAPI_object_t; + +OpenAPI_object_t *OpenAPI_object_create(void); + +void OpenAPI_object_free(OpenAPI_object_t *object); + +OpenAPI_object_t *OpenAPI_object_parseFromJSON(cJSON *json); + +cJSON *OpenAPI_object_convertToJSON(OpenAPI_object_t *object); + +#ifdef __cplusplus +} +#endif + +#endif /* OGS_SBI_OBJECT_H */ diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/uncrustify-rules.cfg b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/uncrustify-rules.cfg new file mode 100644 index 000000000..fa6d5bfb3 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapi-generator/uncrustify-rules.cfg @@ -0,0 +1,210 @@ +tok_split_gte=false +utf8_byte=false +utf8_force=true +indent_cmt_with_tabs=false +indent_align_string=false +indent_braces=false +indent_braces_no_func=false +indent_braces_no_class=false +indent_braces_no_struct=false +indent_brace_parent=false +indent_namespace=false +indent_extern=true +indent_class=false +indent_class_colon=false +indent_else_if=false +indent_var_def_cont=false +indent_func_call_param=false +indent_func_def_param=false +indent_func_proto_param=false +indent_func_class_param=false +indent_func_ctor_var_param=false +indent_template_param=false +indent_func_param_double=false +indent_relative_single_line_comments=false +indent_col1_comment=false +indent_access_spec_body=false +indent_paren_nl=false +indent_comma_paren=false +indent_bool_paren=false +indent_first_bool_expr=false +indent_square_nl=false +indent_preserve_sql=false +indent_align_assign=true +sp_balance_nested_parens=false +align_keep_tabs=false +align_with_tabs=true +align_on_tabstop=true +align_func_params=true +align_same_func_call_params=false +align_var_def_colon=false +align_var_def_attribute=false +align_var_def_inline=false +align_right_cmt_mix=false +align_on_operator=false +align_mix_var_proto=false +align_single_line_func=false +align_single_line_brace=false +align_nl_cont=false +align_left_shift=true +align_oc_decl_colon=false +nl_collapse_empty_body=true +nl_assign_leave_one_liners=false +nl_class_leave_one_liners=false +nl_enum_leave_one_liners=false +nl_getset_leave_one_liners=false +nl_func_leave_one_liners=false +nl_if_leave_one_liners=false +nl_multi_line_cond=true +nl_multi_line_define=false +nl_before_case=true +nl_after_case=true +nl_after_return=false +nl_after_semicolon=true +nl_after_brace_open=false +nl_after_brace_open_cmt=false +nl_after_vbrace_open=false +nl_after_vbrace_open_empty=false +nl_after_brace_close=false +nl_after_vbrace_close=false +nl_define_macro=false +nl_squeeze_ifdef=false +nl_ds_struct_enum_cmt=false +nl_ds_struct_enum_close_brace=false +nl_create_if_one_liner=false +nl_create_for_one_liner=false +nl_create_while_one_liner=false +ls_for_split_full=false +ls_func_split_full=false +nl_after_multiline_comment=false +eat_blanks_after_open_brace=true +eat_blanks_before_close_brace=true +mod_full_brace_if_chain=false +mod_pawn_semicolon=false +mod_full_paren_if_bool=true +mod_remove_extra_semicolon=true +mod_sort_import=true +mod_sort_using=false +mod_sort_include=false +mod_move_case_break=false +mod_remove_empty_return=true +cmt_indent_multi=true +cmt_c_group=false +cmt_c_nl_start=true +cmt_c_nl_end=true +cmt_cpp_group=false +cmt_cpp_nl_start=true +cmt_cpp_nl_end=true +cmt_cpp_to_c=false +cmt_star_cont=false +cmt_multi_check_last=true +cmt_insert_before_preproc=false +pp_indent_at_level=false +pp_region_indent_code=false +pp_if_indent_code=false +pp_define_at_level=false +align_var_def_star_style=1 +align_var_def_amp_style=0 +code_width=80 +indent_with_tabs=1 +sp_arith=force +sp_assign=force +sp_assign_default=force +sp_enum_assign=force +sp_bool=force +sp_compare=force +sp_inside_paren=remove +sp_before_ptr_star=force +sp_before_unnamed_ptr_star=force +sp_between_ptr_star=remove +sp_after_ptr_star=remove +sp_before_sparen=remove +sp_inside_sparen=remove +sp_sparen_brace=force +sp_before_semi=remove +sp_before_semi_for_empty=force +sp_after_semi=force +sp_after_semi_for=force +sp_after_semi_for_empty=force +sp_before_square=remove +sp_before_squares=remove +sp_inside_square=remove +sp_after_comma=force +sp_before_comma=remove +sp_paren_comma=force +sp_before_case_colon=remove +sp_after_cast=force +sp_inside_paren_cast=remove +sp_sizeof_paren=remove +sp_inside_braces_struct=force +sp_type_func=remove +sp_func_proto_paren=remove +sp_func_def_paren=remove +sp_inside_fparens=remove +sp_inside_fparen=remove +sp_square_fparen=remove +sp_fparen_brace=force +sp_func_call_paren=remove +sp_attribute_paren=remove +sp_defined_paren=remove +sp_macro=force +sp_macro_func=force +sp_else_brace=force +sp_brace_else=force +sp_brace_typedef=force +sp_not=remove +sp_inv=remove +sp_addr=remove +sp_member=remove +sp_deref=remove +sp_sign=remove +sp_incdec=remove +sp_before_nl_cont=force +sp_cond_colon=force +sp_cond_question=force +sp_case_label=force +sp_cmt_cpp_start=force +sp_endif_cmt=force +sp_before_tr_emb_cmt=force +nl_start_of_file=remove +nl_end_of_file=add +nl_assign_brace=remove +nl_enum_brace=remove +nl_struct_brace=remove +nl_union_brace=remove +nl_if_brace=remove +nl_brace_else=remove +nl_elseif_brace=remove +nl_else_brace=remove +nl_else_if=remove +nl_brace_finally=remove +nl_finally_brace=remove +nl_try_brace=remove +nl_for_brace=remove +nl_catch_brace=remove +nl_brace_catch=remove +nl_while_brace=remove +nl_do_brace=remove +nl_brace_while=remove +nl_switch_brace=remove +nl_class_brace=remove +nl_func_type_name=remove +nl_func_proto_type_name=remove +nl_func_paren=remove +nl_func_def_paren=remove +nl_func_decl_start=remove +nl_func_def_start=remove +nl_func_decl_args=remove +nl_func_def_args=remove +nl_func_decl_end=remove +nl_func_def_end=remove +nl_func_decl_empty=remove +nl_func_def_empty=remove +nl_fdef_brace=remove +nl_return_expr=remove +pos_bool=trail_break +mod_full_brace_do=force +mod_full_brace_for=force +mod_full_brace_if=force +mod_full_brace_while=force +mod_paren_on_return=remove \ No newline at end of file diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapitools.json b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapitools.json new file mode 100644 index 000000000..1338bb732 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/openapitools.json @@ -0,0 +1,7 @@ +{ + "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", + "spaces": 2, + "generator-cli": { + "version": "6.4.0" + } +} diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_AsSessionWithQoS.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_AsSessionWithQoS.yaml new file mode 100644 index 000000000..63ed0ed06 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_AsSessionWithQoS.yaml @@ -0,0 +1,595 @@ +openapi: 3.0.0 +info: + title: 3gpp-as-session-with-qos + version: 1.1.3 + description: | + API for setting us an AS session with required QoS. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-as-session-with-qos/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/subscriptions: + get: + summary: read all of the active subscriptions for the SCS/AS + tags: + - AsSessionWithQoS API SCS/AS level GET Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + responses: + '200': + description: OK. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new subscription resource + tags: + - AsSessionWithQoS API Subscription level POST Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + requestBody: + description: Request to create a new subscription resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlaneNotificationData' + responses: + '204': + description: No Content (successful notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/subscriptions/{subscriptionId}: + get: + summary: read an active subscriptions for the SCS/AS and the subscription Id + tags: + - AsSessionWithQoS API Subscription level GET Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing subscription resource + tags: + - AsSessionWithQoS API subscription level PUT Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates/replaces an existing subscription resource + tags: + - AsSessionWithQoS API subscription level PATCH Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscriptionPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/AsSessionWithQoSSubscription' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing subscription + tags: + - AsSessionWithQoS API Subscription level DELETE Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/UserPlaneNotificationData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + AsSessionWithQoSSubscription: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + flowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Describe the data flow which requires QoS. + ethFlowInfo: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet flows. + qosReference: + type: string + description: Identifies a pre-defined QoS information + altQoSReferences: + type: array + items: + type: string + minItems: 1 + description: Identifies an ordered list of pre-defined QoS information. The lower the index of the array for a given entry, the higher the priority. + disUeNotif: + type: boolean + ueIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipDomain: + type: string + ueIpv6Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + macAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + usageThreshold: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + sponsorInfo: + $ref: 'TS29122_CommonData.yaml#/components/schemas/SponsorInformation' + qosMonInfo: + $ref: '#/components/schemas/QosMonitoringInformation' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + required: + - notificationDestination + AsSessionWithQoSSubscriptionPatch: + type: object + properties: + flowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Describe the data flow which requires QoS. + ethFlowInfo: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet flows. + qosReference: + type: string + description: Pre-defined QoS reference + altQoSReferences: + type: array + items: + type: string + minItems: 1 + description: Identifies an ordered list of pre-defined QoS information. The lower the index of the array for a given entry, the higher the priority. + disUeNotif: + type: boolean + usageThreshold: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThresholdRm' + qosMonInfo: + $ref: '#/components/schemas/QosMonitoringInformationRm' + QosMonitoringInformation: + type: object + properties: + reqQosMonParams: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter' + minItems: 1 + repFreqs: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ReportingFrequency' + minItems: 1 + repThreshDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + repThreshUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + repThreshRp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + waitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - reqQosMonParams + - repFreqs + QosMonitoringInformationRm: + type: object + properties: + reqQosMonParams: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter' + minItems: 1 + repFreqs: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ReportingFrequency' + minItems: 1 + repThreshDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + repThreshUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + repThreshRp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm' + waitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + QosMonitoringReport: + type: object + properties: + ulDelays: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + dlDelays: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + rtDelays: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + UserPlaneNotificationData: + type: object + properties: + transaction: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + eventReports: + type: array + items: + $ref: '#/components/schemas/UserPlaneEventReport' + minItems: 1 + description: Contains the reported event and applicable information + required: + - transaction + - eventReports + UserPlaneEventReport: + type: object + properties: + event: + $ref: '#/components/schemas/UserPlaneEvent' + accumulatedUsage: + $ref: 'TS29122_CommonData.yaml#/components/schemas/AccumulatedUsage' + flowIds: + type: array + items: + type: integer + minItems: 1 + description: Identifies the IP flows that were sent during event subscription + appliedQosRef: + type: string + description: The currently applied QoS reference. Applicable for event QOS_NOT_GUARANTEED or SUCCESSFUL_RESOURCES_ALLOCATION. + qosMonReports: + type: array + items: + $ref: '#/components/schemas/QosMonitoringReport' + minItems: 1 + description: Contains the QoS Monitoring Reporting information + required: + - event + UserPlaneEvent: + anyOf: + - type: string + enum: + - SESSION_TERMINATION + - LOSS_OF_BEARER + - RECOVERY_OF_BEARER + - RELEASE_OF_BEARER + - USAGE_REPORT + - FAILED_RESOURCES_ALLOCATION + - QOS_GUARANTEED + - QOS_NOT_GUARANTEED + - QOS_MONITORING + - SUCCESSFUL_RESOURCES_ALLOCATION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SESSION_TERMINATION: Indicates that Rx session is terminated. + - LOSS_OF_BEARER : Indicates a loss of a bearer. + - RECOVERY_OF_BEARER: Indicates a recovery of a bearer. + - RELEASE_OF_BEARER: Indicates a release of a bearer. + - USAGE_REPORT: Indicates the usage report event. + - FAILED_RESOURCES_ALLOCATION: Indicates the resource allocation is failed. + - QOS_GUARANTEED: The QoS targets of one or more SDFs are guaranteed again. + - QOS_NOT_GUARANTEED: The QoS targets of one or more SDFs are not being guaranteed. + - QOS_MONITORING: Indicates a QoS monitoring event. + - SUCCESSFUL_RESOURCES_ALLOCATION: Indicates the resource allocation is successful. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ChargeableParty.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ChargeableParty.yaml new file mode 100644 index 000000000..9722d9fdc --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ChargeableParty.yaml @@ -0,0 +1,390 @@ +openapi: 3.0.0 +info: + title: 3gpp-chargeable-party + version: 1.1.3 + description: | + API for Chargeable Party management. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-chargeable-party/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/transactions: + get: + summary: Read all chargeable party transaction resources for a given SCS/AS + tags: + - Chargeable Party Transaction Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of Chargeable Party resource) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ChargeableParty' + minItems: 0 + description: individual BDT policy subscription. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Create a new chargeable party transaction resource + tags: + - Chargeable Party Transaction Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + requestBody: + description: representation of the Chargeable Party resource to be Created in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeableParty' + callbacks: + eventNotification: + '{$request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/NotificationData' + responses: + '204': + description: No Content (The successful acknowledgement of the notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: successful creation of a chargeable party resource + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeableParty' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/transactions/{transactionId}: + get: + summary: read a chargeable party resource for a given SCS/AS and a transaction Id + tags: + - Individual chargeable party resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of a chargeable party resource) + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeableParty' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates a existing chargeable party resource for a given SCS/AS and transaction Id. + tags: + - Individual chargeable party resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + requestBody: + description: representation of the chargeable party resource to be udpated in the SCEF + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ChargeablePartyPatch' + responses: + '200': + description: successful update of a chargeable party resource + content: + application/json: + schema: + $ref: '#/components/schemas/ChargeableParty' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: deletes a chargeable party resource for a given SCS/AS and a transcation Id. + tags: + - Individual chargeable party resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + responses: + '204': + description: successful deletion of an resouce of chargeable party + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/NotificationData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + ChargeableParty: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + ipv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipDomain: + type: string + ipv6Addr : + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + macAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + flowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Describes the application flows. + ethFlowInfo: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet flows. + sponsorInformation: + $ref: 'TS29122_CommonData.yaml#/components/schemas/SponsorInformation' + sponsoringEnabled: + type: boolean + description: Indicates sponsoring status. + referenceId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + usageThreshold: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + required: + - notificationDestination + - sponsorInformation + - sponsoringEnabled + ChargeablePartyPatch: + type: object + properties: + flowInfo: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Describes the application flows. + ethFlowInfo: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet flows. + sponsoringEnabled: + type: boolean + description: Indicates sponsoring status. + referenceId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + usageThreshold: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThresholdRm' diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_CommonData.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_CommonData.yaml new file mode 100644 index 000000000..7a0cabe31 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_CommonData.yaml @@ -0,0 +1,521 @@ +openapi: 3.0.0 +info: + title: TS 29.122 Common Data Types + version: 1.1.1 + description: | + Data types applicable to several APIs. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +paths: {} +components: + schemas: + SponsorInformation: + type: object + properties: + sponsorId: + type: string + description: It indicates Sponsor ID. + aspId: + type: string + description: It indicates Application Service Provider ID. + required: + - sponsorId + - aspId + UsageThreshold: + type: object + properties: + duration: + $ref: '#/components/schemas/DurationSec' + totalVolume: + $ref: '#/components/schemas/Volume' + downlinkVolume: + $ref: '#/components/schemas/Volume' + uplinkVolume: + $ref: '#/components/schemas/Volume' + UsageThresholdRm: + type: object + properties: + duration: + $ref: '#/components/schemas/DurationSecRm' + totalVolume: + $ref: '#/components/schemas/VolumeRm' + downlinkVolume: + $ref: '#/components/schemas/VolumeRm' + uplinkVolume: + $ref: '#/components/schemas/VolumeRm' + nullable: true + TimeWindow: + type: object + properties: + startTime: + $ref: '#/components/schemas/DateTime' + stopTime: + $ref: '#/components/schemas/DateTime' + required: + - startTime + - stopTime + Acknowledgement: + type: object + properties: + details: + type: string + description: A human-readable explanation specific to this successful acknowledgement + required: + - details + NotificationData: + type: object + properties: + transaction: + $ref: '#/components/schemas/Link' + eventReports: + type: array + items: + $ref: '#/components/schemas/EventReport' + minItems: 1 + description: Contains the reported event and applicable information + required: + - transaction + - eventReports + EventReport: + type: object + properties: + event: + $ref: '#/components/schemas/Event' + accumulatedUsage: + $ref: '#/components/schemas/AccumulatedUsage' + flowIds: + type: array + items: + type: integer + minItems: 1 + description: Identifies the IP flows that were sent during event subscription + required: + - event + AccumulatedUsage: + type: object + properties: + duration: + $ref: '#/components/schemas/DurationSec' + totalVolume: + $ref: '#/components/schemas/Volume' + downlinkVolume: + $ref: '#/components/schemas/Volume' + uplinkVolume: + $ref: '#/components/schemas/Volume' + FlowInfo: + type: object + properties: + flowId: + type: integer + description: Indicates the IP flow. + flowDescriptions: + type: array + items: + type: string + description: Indicates the packet filters of the IP flow. Refer to subclause 5.3.8 of 3GPP TS 29.214 for encoding. It shall contain UL and/or DL IP flow description. + minItems: 1 + maxItems: 2 + required: + - flowId + TestNotification: + type: object + properties: + subscription: + $ref: '#/components/schemas/Link' + required: + - subscription + WebsockNotifConfig: + type: object + properties: + websocketUri: + $ref: '#/components/schemas/Link' + requestWebsocketUri: + type: boolean + description: Set by the SCS/AS to indicate that the Websocket delivery is requested. + LocationArea: + type: object + properties: + cellIds: + type: array + items: + type: string + minItems: 1 + description: Indicates a list of Cell Global Identities of the user which identifies the cell the UE is registered. + enodeBIds: + type: array + items: + type: string + minItems: 1 + description: Indicates a list of eNodeB identities in which the UE is currently located. + routingAreaIds: + type: array + items: + type: string + minItems: 1 + description: Identifies a list of Routing Area Identities of the user where the UE is located. + trackingAreaIds: + type: array + items: + type: string + minItems: 1 + description: Identifies a list of Tracking Area Identities of the user where the UE is located. + geographicAreas: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + description: Identifies a list of geographic area of the user where the UE is located. + civicAddresses: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 1 + description: Identifies a list of civic addresses of the user where the UE is located. + LocationArea5G: + type: object + properties: + geographicAreas: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 0 + description: Identifies a list of geographic area of the user where the UE is located. + civicAddresses: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 0 + description: Identifies a list of civic addresses of the user where the UE is located. + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + ProblemDetails: + type: object + properties: + type: + $ref: '#/components/schemas/Uri' + title: + type: string + description: A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem. + status: + type: integer + description: The HTTP status code for this occurrence of the problem. + detail: + type: string + description: A human-readable explanation specific to this occurrence of the problem. + instance: + $ref: '#/components/schemas/Uri' + cause: + type: string + description: A machine-readable application error cause specific to this occurrence of the problem. This IE should be present and provide application-related error information, if available. + invalidParams: + type: array + items: + $ref: '#/components/schemas/InvalidParam' + minItems: 1 + description: Description of invalid parameters, for a request rejected due to invalid parameters. + InvalidParam: + type: object + properties: + param: + type: string + description: Attribute's name encoded as a JSON Pointer, or header's name. + reason: + type: string + description: A human-readable reason, e.g. "must be a positive integer". + required: + - param + PlmnId: + type: object + properties: + mcc: + $ref: '#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + required: + - mcc + - mnc + ConfigResult: + type: object + properties: + externalIds: + type: array + items: + $ref: '#/components/schemas/ExternalId' + minItems: 1 + description: Each element indicates an external identifier of the UE. + msisdns: + type: array + items: + $ref: '#/components/schemas/Msisdn' + minItems: 1 + description: Each element identifies the MS internal PSTN/ISDN number allocated for the UE. + resultReason: + $ref: '#/components/schemas/ResultReason' + required: + - resultReason + oneOf: + - required: [externalIds] + - required: [msisdns] + Bandwidth: + type: integer + minimum: 0 + description: integer indicating a bandwidth in bits per second. + BdtReferenceId: + type: string + description: string identifying a BDT Reference ID as defined in subclause 5.3.3 of 3GPP TS 29.154. + BdtReferenceIdRm: + type: string + description: This data type is defined in the same way as the BdtReferenceId data type, but with the nullable property set to true. + nullable: true + Binary: + type: string + description: string with format "binary" as defined in OpenAPI Specification. + Bytes: + type: string + description: String with format "byte" as defined in OpenAPI Specification, i.e, base64-encoded characters. + DayOfWeek: + type: integer + minimum: 1 + maximum: 7 + description: integer between and including 1 and 7 denoting a weekday. 1 shall indicate Monday, and the subsequent weekdays shall be indicated with the next higher numbers. 7 shall indicate Sunday. + DateTime: + type: string + description: string with format "date-time" as defined in OpenAPI. + DateTimeRm: + type: string + description: string with format "date-time" as defined in OpenAPI with "nullable=true" property. + nullable: true + DateTimeRo: + type: string + description: string with format "date-time" as defined in OpenAPI with "readOnly=true" property. + readOnly: true + DurationSec: + type: integer + minimum: 0 + description: Unsigned integer identifying a period of time in units of seconds. + DurationSecRm: + type: integer + minimum: 0 + description: Unsigned integer identifying a period of time in units of seconds with "nullable=true" property. + nullable: true + DurationSecRo: + type: integer + minimum: 0 + description: Unsigned integer identifying a period of time in units of seconds with "readOnly=true" property. + readOnly: true + DurationMin: + type: integer + format: int32 + minimum: 0 + description: Unsigned integer identifying a period of time in units of minutes. + ExternalId: + type: string + description: string containing a local identifier followed by "@" and a domain identifier. Both the local identifier and the domain identifier shall be encoded as strings that do not contain any "@" characters. See Clause 4.6.2 of 3GPP TS 23.682 for more information. + ExternalGroupId: + type: string + description: string containing a local identifier followed by "@" and a domain identifier. Both the local identifier and the domain identifier shall be encoded as strings that do not contain any "@" characters. See Clauses 4.6.2 and 4.6.3 of 3GPP TS 23.682 for more information. + Ipv4Addr: + type: string + description: string identifying a Ipv4 address formatted in the "dotted decimal" notation as defined in IETF RFC 1166. + Ipv6Addr: + type: string + description: string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used. + Ipv4AddrRo: + type: string + description: string identifying a Ipv4 address formatted in the "dotted decimal" notation as defined in IETF RFC 1166, with "readOnly=true" property. + readOnly: true + Ipv6AddrRo: + type: string + description: string identifying a Ipv6 address formatted according to clause 4 in IETF RFC 5952, with "readOnly=true" property. The mixed Ipv4 Ipv6 notation according to clause 5 of IETF RFC 5952 shall not be used. + readOnly: true + Link: + type: string + description: string formatted according to IETF RFC 3986 identifying a referenced resource. + Mcc: + type: string + description: String encoding a Mobile Country Code part of the PLMN, comprising 3 digits, as defined in 3GPP TS 38.413. + Mnc: + type: string + description: String encoding a Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in 3GPP TS 38.413. + Msisdn: + type: string + description: string formatted according to subclause 3.3 of 3GPP TS 23.003 that describes an MSISDN. + Port: + type: integer + description: Unsigned integer with valid values between 0 and 65535. + minimum: 0 + maximum: 65535 + PortRo: + type: integer + description: Unsigned integer with valid values between 0 and 65535, with "readOnly=true" property. + minimum: 0 + maximum: 65535 + readOnly: true + ResourceId: + type: string + description: string chosen by the SCEF to serve as identifier in a resource URI. + ScsAsId: + type: string + description: string that identifies an SCS/AS. + TimeOfDay: + type: string + description: String with format partial-time or full-time as defined in subclause 5.6 of IETF RFC 3339. Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). + Uri: + type: string + description: string providing an URI formatted according to IETF RFC 3986. + Volume: + type: integer + format: int64 + minimum: 0 + description: Unsigned integer identifying a volume in units of bytes. + VolumeRm: + type: integer + format: int64 + minimum: 0 + description: Unsigned integer identifying a volume in units of bytes with "nullable=true" property. + nullable: true + Event: + anyOf: + - type: string + enum: + - SESSION_TERMINATION + - LOSS_OF_BEARER + - RECOVERY_OF_BEARER + - RELEASE_OF_BEARER + - USAGE_REPORT + - FAILED_RESOURCES_ALLOCATION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SESSION_TERMINATION: Indicates that Rx session is terminated. + - LOSS_OF_BEARER : Indicates a loss of a bearer. + - RECOVERY_OF_BEARER: Indicates a recovery of a bearer. + - RELEASE_OF_BEARER: Indicates a release of a bearer. + - USAGE_REPORT: Indicates the usage report event. + - FAILED_RESOURCES_ALLOCATION: Indicates the resource allocation is failed. + ResultReason: + anyOf: + - type: string + enum: + - ROAMING_NOT_ALLOWED + - OTHER_REASON + - type: string + description: > + This string provides a failure reason. + description: > + Possible values are + - ROAMING_NOT_ALLOWED: Identifies the configuration parameters are not allowed by roaming agreement. + - OTHER_REASON: Identifies the configuration parameters are not configured due to other reason. +# +# HTTP responses +# + responses: + '307': + description: Temporary Redirect + headers: + Location: + description: 'An alternative URI of the resource.' + required: true + schema: + type: string + '308': + description: Permanent Redirect + headers: + Location: + description: 'An alternative URI of the resource.' + required: true + schema: + type: string + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '406': + description: Not Acceptable + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '409': + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '411': + description: Length Required + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '412': + description: Precondition Failed + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '413': + description: Payload Too Large + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '414': + description: URI Too Long + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '415': + description: Unsupported Media Type + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '429': + description: Too Many Requests + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + default: + description: Generic Error diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_CpProvisioning.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_CpProvisioning.yaml new file mode 100644 index 000000000..f4fca0eb8 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_CpProvisioning.yaml @@ -0,0 +1,661 @@ +openapi: 3.0.0 +info: + title: 3gpp-cp-parameter-provisioning + version: 1.1.1 + description: | + API for provisioning communication pattern parameters. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-cp-parameter-provisioning/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/subscriptions: + get: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + responses: + '200': + description: OK. The subscription information related to the request URI is returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CpInfo' + minItems: 0 + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + post: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + requestBody: + description: create new subscriptions for a given SCS/AS and the provisioning CP parameter sets. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CpInfo' + responses: + '201': + description: Created. The subscription was created successfully. The SCEF shall return the created subscription in the response payload body. + content: + application/json: + schema: + $ref: '#/components/schemas/CpInfo' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The CP parameters for all sets were not created successfully. CpReport may be included with detailed information. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CpReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/subscriptions/{subscriptionId}: + get: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. The subscription information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/CpInfo' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + requestBody: + description: Modify a CP parameter provisioning subscription resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CpInfo' + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. The subscription was modified successfully. The SCEF shall return an updated subscription in the response payload body. + content: + application/json: + schema: + $ref: '#/components/schemas/CpInfo' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The CP parameters for all sets were not updated successfully. CpReport may be included with detailed information. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/CpReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. The subscription was deleted successfully. The payload body shall be empty. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/subscriptions/{subscriptionId}/cpSets/{setId}: + get: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + - name: setId + in: path + description: Identifier of the CP parameter set + required: true + schema: + type: string + responses: + '200': + description: OK. The subscription information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/CpParameterSet' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + requestBody: + description: Change information for a CP parameter set. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CpParameterSet' + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + - name: setId + in: path + description: Identifier of the CP parameter set + required: true + schema: + type: string + responses: + '200': + description: OK. The CP parameter set resource was modified successfully. The SCEF shall return an updated CP parameter set resource in the response payload body. + content: + application/json: + schema: + $ref: '#/components/schemas/CpParameterSet' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + description: The CP parameters for the CP set were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CpReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The CP parameters for the CP set were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/CpReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Subscription ID + required: true + schema: + type: string + - name: setId + in: path + description: Identifier of the CP parameter set + required: true + schema: + type: string + responses: + '204': + description: No Content. The subscription was deleted successfully. The payload body shall be empty. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + CpInfo: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtcProviderId: + type: string + description: Identifies the MTC Service Provider and/or MTC Application. + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + cpParameterSets: + type: object + additionalProperties: + $ref: '#/components/schemas/CpParameterSet' + minProperties: 1 + description: Identifies a set of CP parameter information that may be part of this CpInfo structure. + cpReports: + type: object + additionalProperties: + $ref: '#/components/schemas/CpReport' + minProperties: 1 + description: Supplied by the SCEF and contains the CP set identifiers for which CP parameter(s) are not added or modified successfully. The failure reason is also included. Each element provides the related information for one or more CP set identifier(s) and is identified in the map via the failure identifier as key. + readOnly: true + required: + - cpParameterSets + oneOf: + - required: [externalId] + - required: [msisdn] + - required: [externalGroupId] + CpParameterSet: + type: object + properties: + setId: + type: string + description: SCS/AS-chosen correlator provided by the SCS/AS in the request to create a resource fo CP parameter set(s). + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + validityTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + periodicCommunicationIndicator: + $ref: '#/components/schemas/CommunicationIndicator' + communicationDurationTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + periodicTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + scheduledCommunicationTime: + $ref: '#/components/schemas/ScheduledCommunicationTime' + scheduledCommunicationType: + $ref: '#/components/schemas/ScheduledCommunicationType' + stationaryIndication: + $ref: '#/components/schemas/StationaryIndication' + batteryInds: + type: array + items: + $ref: '#/components/schemas/BatteryIndication' + minItems: 1 + trafficProfile: + $ref: '#/components/schemas/TrafficProfile' + expectedUmts: + type: array + items: + $ref: '#/components/schemas/UmtLocationArea5G' + minItems: 1 + description: Identifies the UE's expected geographical movement. The attribute is only applicable in 5G. + expectedUmtDays: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DayOfWeek' + required: + - setId + ScheduledCommunicationTime: + type: object + properties: + daysOfWeek: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DayOfWeek' + minItems: 1 + maxItems: 6 + description: Identifies the day(s) of the week. If absent, it indicates every day of the week. + timeOfDayStart: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeOfDay' + timeOfDayEnd: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeOfDay' + CpReport: + type: object + properties: + setIds: + type: array + items: + type: string + minItems: 1 + description: Identifies the CP set identifier(s) which CP parameter(s) are not added or modified successfully + failureCode: + $ref: '#/components/schemas/CpFailureCode' + required: + - failureCode + UmtLocationArea5G: + allOf: + - $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + - type: object + properties: + umtTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeOfDay' + umtDuration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + CommunicationIndicator: + anyOf: + - type: string + enum: + - PERIODICALLY + - ON_DEMAND + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - PERIODICALLY: Identifies the UE communicates periodically + - ON_DEMAND: Identifies the UE communicates on demand + StationaryIndication: + anyOf: + - type: string + enum: + - STATIONARY + - MOBILE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - STATIONARY: Identifies the UE is stationary + - MOBILE: Identifies the UE is mobile + CpFailureCode: + anyOf: + - type: string + enum: + - MALFUNCTION + - SET_ID_DUPLICATED + - OTHER_REASON + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - MALFUNCTION: This value indicates that something functions wrongly in CP parameter provisioning or the CP parameter provisioning does not function at all. + - SET_ID_DUPLICATED: The received CP set identifier(s) are already provisioned. + - OTHER_REASON: Other reason unspecified. + BatteryIndication: + anyOf: + - type: string + enum: + - BATTERY_RECHARGE + - BATTERY_REPLACE + - BATTERY_NO_RECHARGE + - BATTERY_NO_REPLACE + - NO_BATTERY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - BATTERY_RECHARGE: UE powered with rechargeable battery. + - BATTERY_REPLACE: UE powered with replaceable battery. + - BATTERY_NO_RECHARGE: UE powered with no rechargeable battery. + - BATTERY_NO_REPLACE: UE powered with no replaceable battery. + - NO_BATTERY: UE not battery powered. + TrafficProfile: + anyOf: + - type: string + enum: + - SINGLE_TRANS_UL + - SINGLE_TRANS_DL + - DUAL_TRANS_UL_FIRST + - DUAL_TRANS_DL_FIRST + - MULTI_TRANS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SINGLE_TRANS_UL: Uplink single packet transmission. + - SINGLE_TRANS_DL: Downlink single packet transmission. + - DUAL_TRANS_UL_FIRST: Dual packet transmission, firstly uplink packet transmission with subsequent downlink packet transmission. + - DUAL_TRANS_DL_FIRST: Dual packet transmission, firstly downlink packet transmission with subsequent uplink packet transmission. + - MULTI_TRANS: Multiple packet transmission. + ScheduledCommunicationType: + anyOf: + - type: string + enum: + - DOWNLINK + - UPLINK + - BIDIRECTIONAL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - DOWNLINK: Downlink only. + - UPLINK: Uplink only. + - BIDIRECTIONAL: Bi-directional. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_DeviceTriggering.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_DeviceTriggering.yaml new file mode 100644 index 000000000..d96f62e15 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_DeviceTriggering.yaml @@ -0,0 +1,413 @@ +openapi: 3.0.0 +info: + title: 3gpp-device-triggering + version: 1.1.0 + description: | + API for device trigger. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-device-triggering/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/transactions: + get: + summary: read all active device triggering transactions for a given SCS/AS. + tags: + - Device Triggering API SCS/AS level GET Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + responses: + '200': + description: OK (Successful get all of the active device triggering transactions for the SCS/AS) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DeviceTriggering' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + post: + summary: Create a long-term transaction for a device triggering. + tags: + - DeviceTriggering API Transaction level POST Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + requestBody: + description: Parameters to request a device triggering delivery. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggeringDeliveryReportNotification' + responses: + '200': + description: OK (successful notification) + content: + application/json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Acknowledgement' + '204': + description: No Content (successful notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/transactions/{transactionId}: + get: + summary: Read a device triggering transaction resource. + tags: + - DeviceTriggering API Transaction level GET Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + - name: transactionId + in: path + description: Identifier of the transaction resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + summary: Replace an existing device triggering transaction resource and the corresponding device trigger request. + tags: + - DeviceTriggering API transaction level PUT Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + - name: transactionId + in: path + description: Identifier of the transaction resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing device triggering + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + responses: + '200': + description: OK (Successful update of the device triggering) + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes an already existing device triggering transaction. + tags: + - DeviceTriggering API Transaction level DELETE Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + - name: transactionId + in: path + description: Identifier of the transaction resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceTriggering' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + DeviceTriggering: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + validityPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + priority: + $ref: '#/components/schemas/Priority' + applicationPortId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + appSrcPortId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + triggerPayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + deliveryResult: + $ref: '#/components/schemas/DeliveryResult' + required: + - validityPeriod + - priority + - applicationPortId + - triggerPayload + - notificationDestination + oneOf: + - required: [externalId] + - required: [msisdn] + DeviceTriggeringDeliveryReportNotification: + type: object + properties: + transaction: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + result: + $ref: '#/components/schemas/DeliveryResult' + required: + - transaction + - result + DeliveryResult: + anyOf: + - type: string + enum: + - SUCCESS + - UNKNOWN + - FAILURE + - TRIGGERED + - EXPIRED + - UNCONFIRMED + - REPLACED + - TERMINATE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SUCCESS: This value indicates that the device action request was successfully completed. + - UNKNOWN: This value indicates any unspecified errors. + - FAILURE: This value indicates that this trigger encountered a delivery error and is deemed permanently undeliverable. + - TRIGGERED: This value indicates that device triggering request is accepted by the SCEF. + - EXPIRED: This value indicates that the validity period expired before the trigger could be delivered. + - UNCONFIRMED: This value indicates that the delivery of the device action request is not confirmed. + - REPLACED: This value indicates that the device triggering replacement request is accepted by the SCEF. + - TERMINATE: This value indicates that the delivery of the device action request is terminated by the SCS/AS. + readOnly: true + Priority: + anyOf: + - type: string + enum: + - NO_PRIORITY + - PRIORITY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - NO_PRIORITY: This value indicates that the device trigger has no priority. + - PRIORITY: This value indicates that the device trigger has priority. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ECRControl.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ECRControl.yaml new file mode 100644 index 000000000..647747d8c --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ECRControl.yaml @@ -0,0 +1,191 @@ +openapi: 3.0.0 +info: + title: 3gpp-ecr-control + version: 1.1.1 + description: | + API for enhanced converage restriction control. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-ecr-control/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /query: + post: + summary: Query the status of enhanced converage restriction for a UE. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ECRControl' + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ECRData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /configure: + post: + summary: Configure the enhanced converage restriction for a UE. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ECRControl' + responses: + '200': + description: The Enhanced Coverage Restriction setting was configured successfully.. + content: + application/json: + schema: + $ref: '#/components/schemas/ECRData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + ECRControl: + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtcProviderId: + type: string + description: Identifies the MTC Service Provider and/or MTC Application. + scsAsId: + type: string + description: Identifier of the SCS/AS. + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + ecrDataWbs: + type: array + items: + $ref: '#/components/schemas/PlmnEcRestrictionDataWb' + minItems: 0 + restrictedPlmnIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + minItems: 0 + description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be restricted. This attribute shall not be present for the query custom operation. + allowedPlmnIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + minItems: 0 + description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be allowed. This attribute shall not be present for the query custom operation. + required: + - supportedFeatures + oneOf: + - required: [externalId] + - required: [msisdn] + not: + required: [restrictedPlmnIds, allowedPlmnIds] + ECRData: + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + visitedPlmnId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + ecrDataWbs: + type: array + items: + $ref: '#/components/schemas/PlmnEcRestrictionDataWb' + minItems: 0 + restrictedPlmnIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + minItems: 0 + description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be restricted. + allowedPlmnIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + minItems: 0 + description: Indicates a complete list (and possibly empty) of serving PLMNs where Enhanced Coverage shall be allowed. + required: + - supportedFeatures + not: + required: [restrictedPlmnIds, allowedPlmnIds] + PlmnEcRestrictionDataWb: + type: object + properties: + plmnId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + plmnEcrDataWb: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/EcRestrictionDataWb' + required: + - plmnId diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_GMDviaMBMSbyMB2.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_GMDviaMBMSbyMB2.yaml new file mode 100644 index 000000000..8aa65b2bc --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_GMDviaMBMSbyMB2.yaml @@ -0,0 +1,771 @@ +openapi: 3.0.0 +info: + title: GMDviaMBMSbyMB2 + description: | + API for Group Message Delivery via MBMS by MB2 + © 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.0.1 +externalDocs: + description: 3GPP TS 29.122 V15.4.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-group-message-delivery-mb2/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/tmgi-allocation: + get: + summary: read all TMGI Allocation resource for a given SCS/AS + tags: + - TMGI Allocatin Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of TMGI Allocation resource) + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: creates a new TMGI Allocation resource for a given SCS/AS + tags: + - TMGI Allocatin Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + requestBody: + description: representation of the TMGI Allocation to be created in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + responses: + '201': + description: successful creation of an TMGI Allocation + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/tmgi-allocation/{tmgi}: + get: + summary: read a TMGI Allocation resource for a given SCS/AS and a TMGI + tags: + - Individual TMGI Allocatin Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of TMGI Allocation resource) + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates an existing TMGI Allocation resource for a given SCS/AS and a TMGI + tags: + - Individual TMGI Allocatin Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + requestBody: + description: representation of the TMGI Allocation to be updated in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + responses: + '200': + description: successful creation of an TMGI Allocation + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates an existing TMGI Allocation resource for a given SCS/AS and a TMGI + tags: + - Individual TMGI Allocatin Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + requestBody: + description: representation of the TMGI Allocation to be updated in the SCEF + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/TMGIAllocationPatch' + responses: + '200': + description: successful creation of an TMGI Allocation + content: + application/json: + schema: + $ref: '#/components/schemas/TMGIAllocation' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: deletes an existing TMGI Allocation resource for a given SCS/AS and a TMGI + tags: + - Individual TMGI Allocatin Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + responses: + '204': + description: No Content, successful deletion of an TMGI Allocation + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/tmgi-allocation/{tmgi}/delivery-via-mbms/: + get: + summary: read all group message delivery via MBMS resource for a given SCS/AS and a TMGI + tags: + - Delivery via MBMS Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of Delivery via MBMS resource) + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new delivery via MBMS for a given SCS/AS and a TMGI + tags: + - Delivery via MBMS Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by MB2 resource to be Created in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + callbacks: + gMDByMb2Notification: + '{$request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDByMb2Notification' + responses: + '200': + description: OK (The successful acknowledgement of the notification with a body) + content: + application/json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Acknowledgement' + '204': + description: successful notification + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: successful creation of an GMD via MBMS by MB2 resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/tmgi-allocation/{tmgi}/delivery-via-mbms/{transactionId}: + get: + summary: read all group message delivery via MBMS resource for a given SCS/AS and a TMGI + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of an Delivery via MBMS resource) + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates a existing delivery via MBMS for a given SCS/AS, a TMGI and transaction Id. + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by MB2 resource to be udpated in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + responses: + '200': + description: successful update of an individual GMD via MBMS by MB2 resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates a existing delivery via MBMS for a given SCS/AS, a TMGI and transaction Id. + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by MB2 resource to be udpated in the SCEF + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2Patch' + responses: + '200': + description: successful update of an individual GMD via MBMS by MB2 resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByMb2' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: deletes a delivery via MBMS resource for a given SCS/AS, a TMGI and a transcation Id. + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: tmgi + in: path + description: TMGI + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + responses: + '204': + description: No Content, successful deletion of an resouce of deliery via MBMS + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + TMGIAllocation: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + tmgiExpiration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTimeRo' + GMDViaMBMSByMb2: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + messageDeliveryStartTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + groupMessagePayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + scefMessageDeliveryIPv4: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4AddrRo' + scefMessageDeliveryIPv6: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6AddrRo' + scefMessageDeliveryPort: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PortRo' + required: + - notificationDestination + GMDByMb2Notification: + type: object + properties: + transaction: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + deliveryTriggerStatus: + type: boolean + description: Indicates whether delivery of group message payload corresponding to the TMGI was successful (TRUE) or not (FALSE) + required: + - transaction + - deliveryTriggerStatus + TMGIAllocationPatch: + type: object + properties: + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + GMDViaMBMSByMb2Patch: + type: object + properties: + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + messageDeliveryStartTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + groupMessagePayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + MbmsLocArea: + type: object + properties: + cellId: + type: array + items: + type: string + minItems: 1 + description: Indicates a Cell Global Identification of the user which identifies the cell the UE is registered. + enodeBId: + type: array + items: + type: string + minItems: 1 + description: Indicates an eNodeB in which the UE is currently located. + geographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + description: Identifies a geographic area of the user where the UE is located. + mbmsServiceAreaId: + type: array + items: + type: string + minItems: 1 + description: Identifies an MBMS Service Area Identity of the user where the UE is located. + civicAddress: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 1 + description: Identifies a civic address of the user where the UE is located. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_GMDviaMBMSbyxMB.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_GMDviaMBMSbyxMB.yaml new file mode 100644 index 000000000..13b8965c5 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_GMDviaMBMSbyxMB.yaml @@ -0,0 +1,704 @@ +openapi: 3.0.0 +info: + title: GMDviaMBMSbyxMB + description: | + API for Group Message Delivery via MBMS by xMB + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + version: 1.1.0 +externalDocs: + description: 3GPP TS 29.122 V16.6.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-group-message-delivery-xmb/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/services/: + get: + summary: read all service resources for a given SCS/AS + tags: + - Service Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of service creation resource) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceCreation' + minItems: 0 + description: The service resource for the SCS/AS in the request URI is returned. + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: creates a new service creation resource for a given SCS/AS + tags: + - Service Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + requestBody: + description: representation of the service to be created in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceCreation' + responses: + '201': + description: successful creation of a service + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceCreation' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/services/{serviceId}: + get: + summary: read a service resource for a given SCS/AS and a Service Id + tags: + - Individual Service Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of service resource) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceCreation' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: deletes an existing service resource for a given SCS/AS and a service id + tags: + - Individual service Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + responses: + '204': + description: No Content, successful deletion of a service resource + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/services/{serviceId}/delivery-via-mbms: + get: + summary: read all group message delivery via MBMS resource for a given SCS/AS and a service id + tags: + - Delivery via MBMS Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of Delivery via MBMS resource) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + minItems: 0 + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new delivery via MBMS for a given SCS/AS and a service Id + tags: + - Delivery via MBMS Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by xMB resource to be Created in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + callbacks: + gMDByxMBNotification: + '{$request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDByxMBNotification' + responses: + '200': + description: OK (The successful acknowledgement of the notification with a body) + content: + application/json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Acknowledgement' + '204': + description: successful notification + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: successful creation of an GMD via MBMS by xMB resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/services/{serviceId}/delivery-via-mbms/{transactionId}: + get: + summary: read all group message delivery via MBMS resource for a given SCS/AS and a service Id + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + responses: + '200': + description: OK (successful query of an Delivery via MBMS resource) + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates an existing delivery via MBMS for a given SCS/AS, a service Id and transaction Id. + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by xMB resource to be udpated in the SCEF + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + responses: + '200': + description: successful update of an individual GMD via MBMS by xMB resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates an existing delivery via MBMS for a given SCS/AS, a service Id and transaction Id. + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + requestBody: + description: representation of the GMD via MBMS by xMB resource to be udpated in the SCEF + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMBPatch' + responses: + '200': + description: successful update of an individual GMD via MBMS by xMB resource + content: + application/json: + schema: + $ref: '#/components/schemas/GMDViaMBMSByxMB' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: deletes a delivery via MBMS resource for a given SCS/AS, a service Id and a transcation Id. + tags: + - Individual Delivery via MBMS resource Operation + parameters: + - name: scsAsId + in: path + description: Identifier of SCS/AS + required: true + schema: + type: string + - name: serviceId + in: path + description: Service Id + required: true + schema: + type: string + - name: transactionId + in: path + description: Identifier of transaction + required: true + schema: + type: string + responses: + '204': + description: No Content, successful deletion of an resouce of deliery via MBMS + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + ServiceCreation: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + userServiceId: + type: string + description: Identifies the MBMS User Service supplied by the SCEF. + readOnly: true + serviceClass: + type: string + description: The service class that service belongs to supplied by the SCEF. + readOnly: true + serviceLanguages: + type: array + items: + type: string + minItems: 1 + description: List of language of the service content supplied by the SCEF. + readOnly: true + serviceNames: + type: array + items: + type: string + minItems: 1 + description: List of Service Names supplied by the SCEF. + readOnly: true + receiveOnlyMode: + type: boolean + description: When set to 'true', the Content Provider indicates that the service is a Receive Only Mode service. This parameter is supplied by the SCEF. + readOnly: true + serviceAnnouncementMode: + $ref: '#/components/schemas/ServiceAnnouncementMode' + GMDViaMBMSByxMB: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + messageDeliveryStartTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + messageDeliveryStopTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + groupMessagePayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + scefMessageDeliveryIPv4: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4AddrRo' + scefMessageDeliveryIPv6: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6AddrRo' + scefMessageDeliveryPort: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PortRo' + required: + - notificationDestination + GMDByxMBNotification: + type: object + properties: + transaction: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + deliveryTriggerStatus: + type: boolean + description: Indicates whether delivery of group message payload was successful(TRUE) or not (FALSE) + required: + - transaction + - deliveryTriggerStatus + GMDViaMBMSByxMBPatch: + type: object + properties: + mbmsLocArea: + $ref: '#/components/schemas/MbmsLocArea' + messageDeliveryStartTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + messageDeliveryStopTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + groupMessagePayload: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + MbmsLocArea: + type: object + properties: + cellId: + type: array + items: + type: string + minItems: 1 + description: Indicates a Cell Global Identification of the user which identifies the cell the UE is registered. + enodeBId: + type: array + items: + type: string + minItems: 1 + description: Indicates an eNodeB in which the UE is currently located. + geographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + description: Identifies a geographic area of the user where the UE is located. + mbmsServiceAreaId: + type: array + items: + type: string + minItems: 1 + description: Identifies an MBMS Service Area Identity of the user where the UE is located. + civicAddress: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 1 + description: Identifies a civic address of the user where the UE is located. + ServiceAnnouncementMode: + anyOf: + - type: string + enum: + - SACH + - CONTENT_PROVIDER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SACH: BM-SC performs the service announcement for the current service using the SACH channel. + - CONTENT_PROVIDER: BM-SC provides the necessary service access information used by the Content Provider to create the service announcement information. + readOnly: true diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_MonitoringEvent.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_MonitoringEvent.yaml new file mode 100644 index 000000000..e8db986eb --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_MonitoringEvent.yaml @@ -0,0 +1,857 @@ +openapi: 3.0.0 +info: + title: 3gpp-monitoring-event + version: 1.1.3 + description: | + API for Monitoring Event. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-monitoring-event/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/subscriptions: + get: + summary: read all of the active subscriptions for the SCS/AS + tags: + - MonitoringEvent API SCS/AS level GET Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get all of the active subscriptions for the SCS/AS) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MonitoringEventSubscription' + minItems: 0 + description: Monitoring event subscriptions + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new subscription resource for monitoring event notification + tags: + - MonitoringEvent API Subscription level POST Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + requestBody: + description: Subscription for notification about monitoring event + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringEventSubscription' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringNotification' + responses: + '204': + description: No Content (successful notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringEventSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: The operation is successful and immediate report is included. + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringEventReport' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/subscriptions/{subscriptionId}: + get: + summary: read an active subscriptions for the SCS/AS and the subscription Id + tags: + - MonitoringEvent API Subscription level GET Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringEventSubscription' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing subscription resource + tags: + - MonitoringEvent API subscription level PUT Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringEventSubscription' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/MonitoringEventSubscription' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing monitoring event subscription + tags: + - MonitoringEvent API Subscription level DELETE Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MonitoringEventReport' + minItems: 1 + description: The subscription was terminated successfully, the monitoring event report(s) shall be included if received. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + MonitoringEventSubscription: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtcProviderId: + type: string + description: Identifies the MTC Service Provider and/or MTC Application. + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + addExtGroupId: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + minItems: 2 + ipv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr : + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + monitoringType: + $ref: '#/components/schemas/MonitoringType' + maximumNumberOfReports: + type: integer + minimum: 1 + description: Identifies the maximum number of event reports to be generated by the HSS, MME/SGSN as specified in subclause 5.6.0 of 3GPP TS 23.682 [2]. + monitorExpireTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + groupReportGuardTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maximumDetectionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + reachabilityType: + $ref: '#/components/schemas/ReachabilityType' + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maximumResponseTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + suggestedNumberOfDlPackets: + type: integer + minimum: 0 + description: If "monitoringType" is "UE_REACHABILITY", this parameter may be included to identify the number of packets that the serving gateway shall buffer in case that the UE is not reachable. + idleStatusIndication: + type: boolean + description: If "monitoringType" is set to "UE_REACHABILITY" or "AVAILABILITY_AFTER_DDN_FAILURE", this parameter may be included to indicate the notification of when a UE, for which PSM is enabled, transitions into idle mode. - "true" indicate enabling of notification - "false" indicate no need to notify Default "false". + locationType: + $ref: '#/components/schemas/LocationType' + accuracy: + $ref: '#/components/schemas/Accuracy' + minimumReportInterval: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maxRptExpireIntvl: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + samplingInterval: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + reportingLocEstInd: + type: boolean + description: Indicates whether to request the location estimate for event reporting. + linearDistance: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LinearDistance' + locQoS: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS' + svcId: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/ServiceIdentity' + ldrType: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LdrType' + velocityRequested: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityRequested' + maxAgeOfLocEst: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate' + locTimeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + supportedGADShapes: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/SupportedGADShapes' + codeWord: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/CodeWord' + associationType: + $ref: '#/components/schemas/AssociationType' + plmnIndication: + type: boolean + description: If "monitoringType" is "ROAMING_STATUS", this parameter may be included to indicate the notification of UE's Serving PLMN ID. - "true" The value shall be used to indicate enabling of notification; - "false" The value shall be used to indicate disabling of notification. Default "false". + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea' + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + dddTraDescriptors: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + dddStati: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + apiNames: + type: array + items: + type: string + minItems: 1 + monitoringEventReport: + $ref: '#/components/schemas/MonitoringEventReport' + required: + - notificationDestination + - monitoringType + anyOf: + - required: [maximumNumberOfReports] + - required: [monitorExpireTime] + MonitoringNotification: + type: object + properties: + subscription: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + configResults: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ConfigResult' + minItems: 1 + description: Each element identifies a notification of grouping configuration result. + monitoringEventReports: + type: array + items: + $ref: '#/components/schemas/MonitoringEventReport' + minItems: 1 + description: Monitoring event reports. + cancelInd: + type: boolean + description: Indicates whether to request to cancel the corresponding monitoring subscription. Set to false or omitted otherwise. + appliedParam: + $ref: '#/components/schemas/AppliedParameterConfiguration' + required: + - subscription + MonitoringEventReport: + type: object + properties: + imeiChange: + $ref: '#/components/schemas/AssociationType' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + idleStatusInfo: + $ref: '#/components/schemas/IdleStatusInfo' + locationInfo: + $ref: '#/components/schemas/LocationInfo' + locFailureCause: + $ref: '#/components/schemas/LocationFailureCause' + lossOfConnectReason: + type: integer + description: If "monitoringType" is "LOSS_OF_CONNECTIVITY", this parameter shall be included if available to identify the reason why loss of connectivity is reported. Refer to 3GPP TS 29.336 [11] Subclause 8.4.58. + maxUEAvailabilityTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + monitoringType: + $ref: '#/components/schemas/MonitoringType' + uePerLocationReport: + $ref: '#/components/schemas/UePerLocationReport' + plmnId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/PlmnId' + reachabilityType: + $ref: '#/components/schemas/ReachabilityType' + roamingStatus: + type: boolean + description: If "monitoringType" is "ROAMING_STATUS", this parameter shall be set to "true" if the UE is on roaming status. Set to false or omitted otherwise. + failureCause: + $ref: '#/components/schemas/FailureCause' + eventTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + pdnConnInfoList: + type: array + items: + $ref: '#/components/schemas/PdnConnectionInformation' + minItems: 1 + dddStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + dddTrafDescriptor: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + maxWaitTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + apiCaps: + type: array + items: + $ref: '#/components/schemas/ApiCapabilityInfo' + minItems: 0 + required: + - monitoringType + IdleStatusInfo: + type: object + properties: + activeTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + edrxCycleLength: + format: float + type: number + minimum: 0 + suggestedNumberOfDlPackets: + type: integer + minimum: 0 + description: Identifies the number of packets shall be buffered in the serving gateway. It shall be present if the idle status indication is requested by the SCS/AS with "idleStatusIndication" in the "monitoringEventSubscription" sets to "true". + idleStatusTimestamp: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + periodicAUTimer: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + UePerLocationReport: + type: object + properties: + ueCount: + type: integer + minimum: 0 + description: Identifies the number of UEs. + externalIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + minItems: 1 + description: Each element uniquely identifies a user. + msisdns: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + minItems: 1 + description: Each element identifies the MS internal PSTN/ISDN number allocated for a UE. + required: + - ueCount + LocationInfo: + type: object + properties: + ageOfLocationInfo: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationMin' + cellId: + type: string + description: Indicates the Cell Global Identification of the user which identifies the cell the UE is registered. + enodeBId: + type: string + description: Indicates the eNodeB in which the UE is currently located. + routingAreaId: + type: string + description: Identifies the Routing Area Identity of the user where the UE is located. + trackingAreaId: + type: string + description: Identifies the Tracking Area Identity of the user where the UE is located. + plmnId: + type: string + description: Identifies the PLMN Identity of the user where the UE is located. + twanId: + type: string + description: Identifies the TWAN Identity of the user where the UE is located. + geographicArea: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + civicAddress: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + positionMethod: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PositioningMethod' + qosFulfilInd: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AccuracyFulfilmentIndicator' + ueVelocity: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityEstimate' + ldrType: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LdrType' + FailureCause: + type: object + properties: + bssgpCause: + type: integer + description: Identifies a non-transparent copy of the BSSGP cause code. Refer to 3GPP TS 29.128 [12]. + causeType: + type: integer + description: Identify the type of the S1AP-Cause. Refer to 3GPP TS 29.128 [12]. + gmmCause: + type: integer + description: Identifies a non-transparent copy of the GMM cause code. Refer to 3GPP TS 29.128 [12]. + ranapCause: + type: integer + description: Identifies a non-transparent copy of the RANAP cause code. Refer to 3GPP TS 29.128 [12]. + ranNasCause: + type: string + description: Indicates RAN and/or NAS release cause code information, TWAN release cause code information or untrusted WLAN release cause code information. Refer to 3GPP TS 29.214 [10]. + s1ApCause: + type: integer + description: Identifies a non-transparent copy of the S1AP cause code. Refer to 3GPP TS 29.128 [12]. + smCause: + type: integer + description: Identifies a non-transparent copy of the SM cause code. Refer to 3GPP TS 29.128 [12]. + PdnConnectionInformation: + type: object + properties: + status: + $ref: '#/components/schemas/PdnConnectionStatus' + apn: + type: string + description: Identify the APN, it is depending on the SCEF local configuration whether or not this attribute is sent to the SCS/AS. + pdnType: + $ref: '#/components/schemas/PdnType' + interfaceInd: + $ref: '#/components/schemas/InterfaceIndication' + ipv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addrs: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + required: + - status + - pdnType + AppliedParameterConfiguration: + type: object + properties: + externalIds: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + minItems: 1 + description: Each element uniquely identifies a user. + msisdns: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + minItems: 1 + description: Each element identifies the MS internal PSTN/ISDN number allocated for a UE. + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maximumResponseTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maximumDetectionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + ApiCapabilityInfo: + type: object + properties: + apiName: + type: string + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - apiName + - suppFeat +# +# ENUMS +# + MonitoringType: + anyOf: + - type: string + enum: + - LOSS_OF_CONNECTIVITY + - UE_REACHABILITY + - LOCATION_REPORTING + - CHANGE_OF_IMSI_IMEI_ASSOCIATION + - ROAMING_STATUS + - COMMUNICATION_FAILURE + - AVAILABILITY_AFTER_DDN_FAILURE + - NUMBER_OF_UES_IN_AN_AREA + - PDN_CONNECTIVITY_STATUS + - DOWNLINK_DATA_DELIVERY_STATUS + - API_SUPPORT_CAPABILITY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - LOSS_OF_CONNECTIVITY: The SCS/AS requests to be notified when the 3GPP network detects that the UE is no longer reachable for signalling or user plane communication + - UE_REACHABILITY: The SCS/AS requests to be notified when the UE becomes reachable for sending either SMS or downlink data to the UE + - LOCATION_REPORTING: The SCS/AS requests to be notified of the current location or the last known location of the UE + - CHANGE_OF_IMSI_IMEI_ASSOCIATION: The SCS/AS requests to be notified when the association of an ME (IMEI(SV)) that uses a specific subscription (IMSI) is changed + - ROAMING_STATUS: The SCS/AS queries the UE's current roaming status and requests to get notified when the status changes + - COMMUNICATION_FAILURE: The SCS/AS requests to be notified of communication failure events + - AVAILABILITY_AFTER_DDN_FAILURE: The SCS/AS requests to be notified when the UE has become available after a DDN failure + - NUMBER_OF_UES_IN_AN_AREA: The SCS/AS requests to be notified the number of UEs in a given geographic area + - PDN_CONNECTIVITY_STATUS: The SCS/AS requests to be notified when the 3GPP network detects that the UE’s PDN connection is set up or torn down + - DOWNLINK_DATA_DELIVERY_STATUS: The AF requests to be notified when the 3GPP network detects that the downlink data delivery status is changed. + - API_SUPPORT_CAPABILITY: The SCS/AS requests to be notified of the availability of support of service APIs. + ReachabilityType: + anyOf: + - type: string + enum: + - SMS + - DATA + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SMS : The SCS/AS requests to be notified when the UE becomes reachable for sending SMS to the UE + - DATA: The SCS/AS requests to be notified when the UE becomes reachable for sending downlink data to the UE + LocationType: + anyOf: + - type: string + enum: + - CURRENT_LOCATION + - LAST_KNOWN_LOCATION + - CURRENT_OR_LAST_KNOWN_LOCATION + - INITIAL_LOCATION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - CURRENT_LOCATION: The SCS/AS requests to be notified for current location + - LAST_KNOWN_LOCATION: The SCS/AS requests to be notified for last known location + - CURRENT_OR_LAST_KNOWN_LOCATION: The AF requests the current or last known location + - INITIAL_LOCATION: The AF requests the initial location + AssociationType: + anyOf: + - type: string + enum: + - IMEI + - IMEISV + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - IMEI: The value shall be used when the change of IMSI-IMEI association shall be detected + - IMEISV: The value shall be used when the change of IMSI-IMEISV association shall be detected + Accuracy: + anyOf: + - type: string + enum: + - CGI_ECGI + - ENODEB + - TA_RA + - PLMN + - TWAN_ID + - GEO_AREA + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - CGI_ECGI: The SCS/AS requests to be notified at cell level location accuracy. + - ENODEB: The SCS/AS requests to be notified at eNodeB level location accuracy. + - TA_RA: The SCS/AS requests to be notified at TA/RA level location accuracy. + - PLMN: The SCS/AS requests to be notified at PLMN level location accuracy. + - TWAN_ID: The SCS/AS requests to be notified at TWAN identifier level location accuracy. + - GEO_AREA: The SCS/AS requests to be notified of the geographical area accuracy. + PdnConnectionStatus: + anyOf: + - type: string + enum: + - CREATED + - RELEASED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - CREATED: The PDN connection is created. + - RELEASED: The PDN connection is released. + PdnType: + anyOf: + - type: string + enum: + - IPV4 + - IPV6 + - IPV4V6 + - NON_IP + - ETHERNET + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - IPV4: PDN connection of IPv4 type. + - IPV6: PDN connection of IPv6 type. + - IPV4V6: PDN connection of IPv4v6 type. + - NON_IP: PDN connection of non-IP type. + - ETHERNET: PDN connection of Ethernet type. + InterfaceIndication: + anyOf: + - type: string + enum: + - EXPOSURE_FUNCTION + - PDN_GATEWAY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - EXPOSURE_FUNCTION: SCEF is used for the PDN connection towards the SCS/AS. + - PDN_GATEWAY: PDN gateway is used for the PDN connection towards the SCS/AS. + LocationFailureCause: + anyOf: + - type: string + enum: + - POSITIONING_DENIED + - UNSUPPORTED_BY_UE + - NOT_REGISTED_UE + - UNSPECIFIED + - type: string + description: > + This string Indicates the location positioning failure cause. + Possible values are + - POSITIONING_DENIED: Positioning is denied. + - UNSUPPORTED_BY_UE: Positioning is not supported by UE. + - NOT_REGISTED_UE: UE is not registered. + - UNSPECIFIED: Unspecified. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_MsisdnLessMoSms.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_MsisdnLessMoSms.yaml new file mode 100644 index 000000000..8e0ecb3a1 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_MsisdnLessMoSms.yaml @@ -0,0 +1,96 @@ +openapi: 3.0.0 +info: + title: 3gpp-msisdn-less-mo-sms + version: 1.1.0 + description: | + API for MSISDN-less Mobile Originated SMS. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /: + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MsisdnLessMoSmsNotification' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/MsisdnLessMoSmsNotificationReply' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + MsisdnLessMoSmsNotification: + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + sms: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + externalId: + type: string + description: External identifier has the form username@realm. + applicationPort: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + required: + - supportedFeatures + - sms + - externalId + - applicationPort + MsisdnLessMoSmsNotificationReply: + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supportedFeatures diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_NIDD.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_NIDD.yaml new file mode 100644 index 000000000..8e834ce6a --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_NIDD.yaml @@ -0,0 +1,1044 @@ +openapi: 3.0.0 +info: + title: 3gpp-nidd + version: 1.1.1 + description: | + API for non IP data delivery. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-nidd/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/configurations: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + get: + responses: + '200': + description: all NIDD configurations. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NiddConfiguration' + minItems: 0 + description: individual NIDD configuration. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + post: + requestBody: + description: Contains the data to create a NIDD configuration. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfiguration' + responses: + '201': + description: NIDD configuration is successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfiguration' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + callbacks: + niddNotifications: + '{$request.body#/notificationDestination}': + post: + requestBody: + description: Notification for NIDD configuration status, MO NIDD, MT NIDD delivery report. + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/NiddConfigurationStatusNotification' + - $ref: '#/components/schemas/NiddUplinkDataNotification' + - $ref: '#/components/schemas/NiddDownlinkDataDeliveryStatusNotification' + - $ref: '#/components/schemas/GmdNiddDownlinkDataDeliveryNotification' + - $ref: '#/components/schemas/ManagePortNotification' + responses: + '204': + description: Expected response to a successful callback processing without a body + '200': + description: Expected response to a successful callback processing with a body + content: + application/json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Acknowledgement' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/configurations/{configurationId}: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying the individual NIDD configuration resource in the SCEF. + in: path + required: true + schema: + type: string + get: + responses: + '200': + description: The individual NIDD configuration is successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfiguration' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + patch: + requestBody: + description: Contains information to be applied to the individual NIDD configuration. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/NiddConfigurationPatch' + responses: + '200': + description: The Individual NIDD configuration is modified successfully and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfiguration' + '204': + description: The Individual NIDD configuration is modified successfully. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + responses: + '204': + description: The Individual NIDD configuration is deleted. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/configurations/{configurationId}/downlink-data-deliveries: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying the individual NIDD configuration resource in the SCEF. + in: path + required: true + schema: + type: string + get: + responses: + '200': + description: all NIDD downlink data deliveries. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + minItems: 0 + description: individual NIDD downlink data delivery. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + post: + requestBody: + description: Contains the data to create a NIDD downlink data delivery. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + responses: + '200': + description: NIDD downlink data delivery is successful. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + '201': + description: NIDD downlink data delivery is pending. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The NIDD downlink data delivery request was not successful. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataDeliveryFailure' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/configurations/{configurationId}/downlink-data-deliveries/{downlinkDataDeliveryId}: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying the individual NIDD configuration resource in the SCEF. + in: path + required: true + schema: + type: string + - name: downlinkDataDeliveryId + description: String identifying the individual NIDD downlink data delivery in the SCEF. + in: path + required: true + schema: + type: string + get: + responses: + '200': + description: The individual NIDD downlink data delivery is successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + requestBody: + description: Contains information to be applied to the individual NIDD downlink data delivery. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + responses: + '200': + description: The pending NIDD downlink data is replaced sucessfully but delivery is pending. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The NIDD downlink data replacement request was not successful. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataDeliveryFailure' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + responses: + '204': + description: The pending NIDD downlink data is deleted. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The NIDD downlink data cancellation request was not successful. + content: + application/json: + schema: + $ref: '#/components/schemas/NiddDownlinkDataDeliveryFailure' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/configurations/{configurationId}/rds-ports: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying the individual NIDD configuration resource in the SCEF. + in: path + required: true + schema: + type: string + get: + responses: + '200': + description: all ManagePort configurations. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ManagePort' + minItems: 0 + description: individual ManagePort configuration. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/configurations/{configurationId}/rds-ports/{portId}: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: configurationId + description: String identifying the individual NIDD configuration resource in the SCEF. + in: path + required: true + schema: + type: string + - name: portId + description: The UE port number. + in: path + required: true + schema: + type: string + pattern: '^(ue([0-9]|(1[0-5]))-ef([0-9]|(1[0-5])))$' + get: + responses: + '200': + description: The individual ManagePort configuration is successfully retrieved. + content: + application/json: + schema: + $ref: '#/components/schemas/ManagePort' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + requestBody: + description: Contains information to be applied to the individual ManagePort configuration. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ManagePort' + responses: + '201': + description: The individual ManagePort configuration is created. + content: + application/json: + schema: + $ref: '#/components/schemas/ManagePort' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '202': + description: The request is accepted and under processing. + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The request was not successful. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/RdsDownlinkDataDeliveryFailure' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + responses: + '202': + description: The request is accepted and under processing. + '204': + description: The individual ManagePort configuration is deleted. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The request was not successful. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/RdsDownlinkDataDeliveryFailure' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + NiddConfiguration: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtcProviderId: + type: string + description: Identifies the MTC Service Provider and/or MTC Application. + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + duration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + reliableDataService: + type: boolean + description: The reliable data service (as defined in subclause 4.5.15.3 of 3GPP TS 23.682) to indicate if a reliable data service acknowledgment is enabled or not. + rdsPorts: + type: array + items: + $ref: '#/components/schemas/RdsPort' + minItems: 1 + description: Indicates the static port configuration that is used for reliable data transfer between specific applications using RDS (as defined in subclause 5.2.4 and 5.2.5 of 3GPP TS 24.250). + pdnEstablishmentOption: + $ref: '#/components/schemas/PdnEstablishmentOptions' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + maximumPacketSize: + type: integer + minimum: 1 + description: The Maximum Packet Size is the maximum NIDD packet size that was transferred to the UE by the SCEF in the PCO, see subclause 4.5.14.1 of 3GPP TS 23.682. If no maximum packet size was provided to the UE by the SCEF, the SCEF sends a default configured max packet size to SCS/AS. Unit bit. + readOnly: true + niddDownlinkDataTransfers: + type: array + items: + $ref: '#/components/schemas/NiddDownlinkDataTransfer' + minItems: 1 + description: The downlink data deliveries that needed to be executed by the SCEF. The cardinality of the property shall be 0..1 in the request and 0..N in the response (i.e. response may contain multiple buffered MT NIDD). + status: + $ref: '#/components/schemas/NiddStatus' + required: + - notificationDestination + oneOf: + - required: [externalId] + - required: [msisdn] + - required: [externalGroupId] + NiddDownlinkDataTransfer: + type: object + properties: + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + data: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + reliableDataService: + type: boolean + description: The reliable data service (as defined in subclause 4.5.15.3 of 3GPP TS 23.682) to indicate if a reliable data service acknowledgment is enabled or not. + rdsPort: + $ref: '#/components/schemas/RdsPort' + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + priority: + type: integer + description: It is used to indicate the priority of the non-IP data packet relative to other non-IP data packets. + pdnEstablishmentOption: + $ref: '#/components/schemas/PdnEstablishmentOptions' + deliveryStatus: + $ref: '#/components/schemas/DeliveryStatus' + requestedRetransmissionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - data + oneOf: + - required: [externalId] + - required: [msisdn] + - required: [externalGroupId] + NiddUplinkDataNotification: + type: object + properties: + niddConfiguration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + data: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes' + reliableDataService: + type: boolean + description: Indicates whether the reliable data service is enabled. + rdsPort: + $ref: '#/components/schemas/RdsPort' + required: + - niddConfiguration + - data + oneOf: + - required: [externalId] + - required: [msisdn] + NiddDownlinkDataDeliveryStatusNotification: + type: object + properties: + niddDownlinkDataTransfer: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + deliveryStatus: + $ref: '#/components/schemas/DeliveryStatus' + requestedRetransmissionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - niddDownlinkDataTransfer + - deliveryStatus + NiddConfigurationStatusNotification: + type: object + properties: + niddConfiguration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + status: + $ref: '#/components/schemas/NiddStatus' + rdsCapIndication: + type: boolean + description: It indicates whether the network capability for the reliable data service is enabled or not. + rdsPort: + $ref: '#/components/schemas/RdsPort' + required: + - niddConfiguration + - status + oneOf: + - required: [externalId] + - required: [msisdn] + GmdNiddDownlinkDataDeliveryNotification: + type: object + properties: + niddDownlinkDataTransfer: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + gmdResults: + type: array + items: + $ref: '#/components/schemas/GmdResult' + minItems: 1 + description: Indicates the group message delivery result. + required: + - niddDownlinkDataTransfer + - gmdResults + RdsPort: + type: object + properties: + portUE: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + portSCEF: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Port' + required: + - portUE + - portSCEF + GmdResult: + type: object + properties: + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + deliveryStatus: + $ref: '#/components/schemas/DeliveryStatus' + requestedRetransmissionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - deliveryStatus + oneOf: + - required: [externalId] + - required: [msisdn] + NiddDownlinkDataDeliveryFailure: + type: object + properties: + problemDetail: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + requestedRetransmissionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + required: + - problemDetail + ManagePort: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + appId: + type: string + description: Identifies the application. + manageEntity: + $ref: '#/components/schemas/ManageEntity' + skipUeInquiry: + type: boolean + description: Indicate whether to skip UE inquiry. + required: + - appId + ManagePortNotification: + type: object + properties: + niddConfiguration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + managedPorts: + type: array + items: + $ref: '#/components/schemas/ManagePort' + minItems: 1 + description: Indicates the reserved RDS port configuration information. + required: + - niddConfiguration + oneOf: + - required: [externalId] + - required: [msisdn] + RdsDownlinkDataDeliveryFailure: + allOf: + - $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + - type: object + properties: + requestedRetransmissionTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + PdnEstablishmentOptions: + anyOf: + - type: string + enum: + - WAIT_FOR_UE + - INDICATE_ERROR + - SEND_TRIGGER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - WAIT_FOR_UE: wait for the UE to establish the PDN connection + - INDICATE_ERROR: respond with an error cause + - SEND_TRIGGER: send a device trigger + PdnEstablishmentOptionsRm: + anyOf: + - $ref: '#/components/schemas/PdnEstablishmentOptions' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' + DeliveryStatus: + anyOf: + - type: string + enum: + - SUCCESS + - SUCCESS_NEXT_HOP_ACKNOWLEDGED + - SUCCESS_NEXT_HOP_UNACKNOWLEDGED + - SUCCESS_ACKNOWLEDGED + - SUCCESS_UNACKNOWLEDGED + - TRIGGERED + - BUFFERING + - BUFFERING_TEMPORARILY_NOT_REACHABLE + - SENDING + - FAILURE + - FAILURE_RDS_DISABLED + - FAILURE_NEXT_HOP + - FAILURE_TIMEOUT + - FAILURE_TEMPORARILY_NOT_REACHABLE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SUCCESS: Success but details not provided + - SUCCESS_NEXT_HOP_ACKNOWLEDGED: Successful delivery to the next hop with acknowledgment. + - SUCCESS_NEXT_HOP_UNACKNOWLEDGED: Successful delivery to the next hop without acknowledgment + - SUCCESS_ACKNOWLEDGED: Reliable delivery was acknowledged by the UE + - SUCCESS_UNACKNOWLEDGED: Reliable delivery was not acknowledged by the UE + - TRIGGERED: The SCEF triggered the device and is buffering the data. + - BUFFERING: The SCEF is buffering the data due to no PDN connection established. + - BUFFERING_TEMPORARILY_NOT_REACHABLE: The SCEF has been informed that the UE is temporarily not reachable but is buffering the data + - SENDING: The SCEF has forwarded the data, but they may be stored elsewhere + - FAILURE: Delivery failure but details not provided + - FAILURE_RDS_DISABLED: RDS was disabled + - FAILURE_NEXT_HOP: Unsuccessful delivery to the next hop. + - FAILURE_TIMEOUT: Unsuccessful delivery due to timeout. + - FAILURE_TEMPORARILY_NOT_REACHABLE: The SCEF has been informed that the UE is temporarily not reachable without buffering the data. + readOnly: true + NiddStatus: + anyOf: + - type: string + enum: + - ACTIVE + - TERMINATED_UE_NOT_AUTHORIZED + - TERMINATED + - RDS_PORT_UNKNOWN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - ACTIVE: The NIDD configuration is active. + - TERMINATED_UE_NOT_AUTHORIZED: The NIDD configuration was terminated because the UE´s authorisation was revoked. + - TERMINATED: The NIDD configuration was terminated. + - RDS_PORT_UNKNOWN: The RDS port is unknown. + readOnly: true + ManageEntity: + anyOf: + - type: string + enum: + - UE + - AS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UE: Representing the UE. + - AS: Representing the Application Server. + readOnly: true + NiddConfigurationPatch: + type: object + properties: + duration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTimeRm' + reliableDataService: + type: boolean + description: The reliable data service (as defined in subclause 4.5.15.3 of 3GPP TS 23.682) to indicate if a reliable data service acknowledgment is enabled or not. + nullable: true + rdsPorts: + type: array + items: + $ref: '#/components/schemas/RdsPort' + minItems: 1 + description: Indicates the static port configuration that is used for reliable data transfer between specific applications using RDS (as defined in subclause 5.2.4 and 5.2.5 of 3GPP TS 24.250). + pdnEstablishmentOption: + $ref: '#/components/schemas/PdnEstablishmentOptionsRm' diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_NpConfiguration.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_NpConfiguration.yaml new file mode 100644 index 000000000..7725ce50d --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_NpConfiguration.yaml @@ -0,0 +1,452 @@ +openapi: 3.0.0 +info: + title: 3gpp-network-parameter-configuration + version: 1.1.2 + description: | + API for network parameter configuration. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-network-parameter-configuration/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause of 3GPP TS 29.122. +paths: + /{scsAsId}/configurations: + get: + summary: read all of the active configurations for the SCS/AS + tags: + - NpConfiguration API SCS/AS level GET Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get all of the active NpConfigurations for the SCS/AS) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NpConfiguration' + minItems: 0 + description: Network Parameter configurations + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new configuration resource for network parameter configuration + tags: + - NpConfiguration API Configuration level POST Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + requestBody: + description: new configuration creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NpConfiguration' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConfigurationNotification' + responses: + '204': + description: No Content (successful notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: Created (Successful creation of configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/NpConfiguration' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/configurations/{configurationId}: + get: + summary: read an active configuration for the SCS/AS and the configuration Id + tags: + - NpConfiguration API Configuration level GET Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/NpConfiguration' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing configuration resource + tags: + - NpConfiguration API Configuration level PUT Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing configuration + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NpConfiguration' + responses: + '200': + description: OK (Successful deletion of the existing configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/NpConfiguration' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates/replaces an existing configuration resource + tags: + - NpConfiguration API Configuration level PATCH Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/NpConfigurationPatch' + responses: + '200': + description: OK. The configuration was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/NpConfiguration' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing configuration + tags: + - NpConfiguration API Configuration level DELETE Operation + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing configuration) + '200': + description: OK. (Successful deletion of the existing configuration) + content: + application/json: + schema: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ConfigResult' + minItems: 1 + description: The configuration was terminated successfully, the configuration failure information for group members shall be included if received. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + NpConfiguration: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtcProviderId: + type: string + description: Identifies the MTC Service Provider and/or MTC Application. + externalId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId' + msisdn: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + maximumResponseTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + suggestedNumberOfDlPackets: + type: integer + minimum: 0 + description: This parameter may be included to identify the number of packets that the serving gateway shall buffer in case that the UE is not reachable. + groupReportingGuardTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + validityTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + oneOf: + - required: [externalId] + - required: [msisdn] + - required: [externalGroupId] + NpConfigurationPatch: + type: object + properties: + maximumLatency: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' + maximumResponseTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' + suggestedNumberOfDlPackets: + type: integer + minimum: 0 + description: This parameter may be included to identify the number of packets that the serving gateway shall buffer in case that the UE is not reachable. + nullable: true + groupReportGuardTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' + validityTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTimeRm' + ConfigurationNotification: + type: object + properties: + configuration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + configResults: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ConfigResult' + minItems: 1 + description: The grouping configuration result notification provided by the SCEF. + appliedParam: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/AppliedParameterConfiguration' + required: + - configuration diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_PfdManagement.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_PfdManagement.yaml new file mode 100644 index 000000000..57a740363 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_PfdManagement.yaml @@ -0,0 +1,636 @@ +openapi: 3.0.0 +info: + title: 3gpp-pfd-management + version: 1.1.1 + description: | + API for PFD management. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-pfd-management/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/transactions: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + get: + responses: + '200': + description: OK. All transactions related to the request URI are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdManagement' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + description: Create a new transaction for PFD management. + responses: + '201': + description: Created. The transaction was created successfully. The SCEF shall return the created transaction in the response payload body. PfdReport may be included to provide detailed failure information for some applications. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The PFDs for all applications were not created successfully. PfdReport is included with detailed information. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdReport' + minItems: 1 + responses: + '204': + description: No Content (successful notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/transactions/{transactionId}: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: transactionId + in: path + description: Transaction ID + required: true + schema: + type: string + get: + responses: + '200': + description: OK. The transaction information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + description: Change information in PFD management transaction. + responses: + '200': + description: OK. The transaction was modified successfully. The SCEF shall return an updated transaction in the response payload body. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdManagement' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The PFDs for all applications were not updated successfully. PfdReport is included with detailed information. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + responses: + '204': + description: No Content. The transaction was deleted successfully. The payload body shall be empty. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/transactions/{transactionId}/applications/{appId}: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: transactionId + in: path + description: Transaction ID + required: true + schema: + type: string + - name: appId + in: path + description: Identifier of the application + required: true + schema: + type: string + get: + responses: + '200': + description: OK. The application information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + description: Change information in application. + responses: + '200': + description: OK. The application resource was modified successfully. The SCEF shall return an updated application resource in the response payload body. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + patch: + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PfdData' + description: Change information in PFD management transaction. + responses: + '200': + description: OK. The transaction was modified successfully. The SCEF shall return an updated transaction in the response payload body. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The PFDs for the application were not updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdReport' + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + responses: + '204': + description: No Content. The application was deleted successfully. The payload body shall be empty. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + PfdManagement: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pfdDatas: + type: object + additionalProperties: + $ref: '#/components/schemas/PfdData' + minProperties: 1 + description: Each element uniquely identifies the PFDs for an external application identifier. Each element is identified in the map via an external application identifier as key. The response shall include successfully provisioned PFD data of application(s). + pfdReports: + type: object + additionalProperties: + $ref: '#/components/schemas/PfdReport' + minProperties: 1 + description: Supplied by the SCEF and contains the external application identifiers for which PFD(s) are not added or modified successfully. The failure reason is also included. Each element provides the related information for one or more external application identifier(s) and is identified in the map via the failure identifier as key. + readOnly: true + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + required: + - pfdDatas + PfdData: + type: object + properties: + externalAppId: + type: string + description: Each element uniquely external application identifier + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + pfds: + type: object + additionalProperties: + $ref: '#/components/schemas/Pfd' + description: Contains the PFDs of the external application identifier. Each PFD is identified in the map via a key containing the PFD identifier. + allowedDelay: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRm' + cachingTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSecRo' + required: + - externalAppId + - pfds + Pfd: + type: object + properties: + pfdId: + type: string + description: Identifies a PDF of an application identifier. + flowDescriptions: + type: array + items: + type: string + minItems: 1 + description: Represents a 3-tuple with protocol, server ip and server port for UL/DL application traffic. The content of the string has the same encoding as the IPFilterRule AVP value as defined in IETF RFC 6733. + urls: + type: array + items: + type: string + minItems: 1 + description: Indicates a URL or a regular expression which is used to match the significant parts of the URL. + domainNames: + type: array + items: + type: string + minItems: 1 + description: Indicates an FQDN or a regular expression as a domain name matching criteria. + dnProtocol: + $ref: '#/components/schemas/DomainNameProtocol' + required: + - pfdId + PfdReport: + type: object + properties: + externalAppIds: + type: array + items: + type: string + minItems: 1 + description: Identifies the external application identifier(s) which PFD(s) are not added or modified successfully + failureCode: + $ref: '#/components/schemas/FailureCode' + cachingTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + locationArea: + $ref: '#/components/schemas/UserPlaneLocationArea' + required: + - externalAppIds + - failureCode + UserPlaneLocationArea: + type: object + properties: + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea' + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 0 + description: Identifies a list of DNAI which the user plane functions support. + FailureCode: + anyOf: + - type: string + enum: + - MALFUNCTION + - RESOURCE_LIMITATION + - SHORT_DELAY + - APP_ID_DUPLICATED + - PARTIAL_FAILURE + - OTHER_REASON + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - MALFUNCTION: This value indicates that something functions wrongly in PFD provisioning or the PFD provisioning does not function at all. + - RESOURCE_LIMITATION: This value indicates there is resource limitation for PFD storage. + - SHORT_DELAY: This value indicates that the allowed delay is too short and PFD(s) are not stored. + - APP_ID_DUPLICATED: The received external application identifier(s) are already provisioned. + - PARTIAL_FAILURE: The PFD(s) are not provisioned to all PCEFs/TDFs/SMFs. + - OTHER_REASON: Other reason unspecified. + DomainNameProtocol: + anyOf: + - type: string + enum: + - DNS_QNAME + - TLS_SNI + - TLS_SAN + - TSL_SCN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - DNS_QNAME: Identifies the DNS protocol and the question name in DNS query. + - TLS_SNI: Identifies the Server Name Indication in TLS ClientHello message. + - TLS_SAN: Identifies the Subject Alternative Name in TLS ServerCertificate message. + - TLS_SCN: Identifies the Subject Common Name in TLS ServerCertificate message. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_RacsParameterProvisioning.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_RacsParameterProvisioning.yaml new file mode 100644 index 000000000..d3e7f0220 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_RacsParameterProvisioning.yaml @@ -0,0 +1,400 @@ +openapi: 3.0.0 +info: + title: 3gpp-racs-parameter-provisioning + version: 1.0.1 + description: | + API for provisioning UE radio capability parameters. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-racs-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/provisionings: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + get: + responses: + '200': + description: OK. The provisioning information related to the request URI is returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RacsProvisioningData' + minItems: 0 + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + post: + requestBody: + description: create new provisionings for a given SCS/AS. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + responses: + '201': + description: Created. The provisioning was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The RACS data for all RACS IDs were not provisioned successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RacsFailureReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/provisionings/{provisioningId}: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS as defined in subclause subclause 5.2.4 of 3GPP TS 29.122. + required: true + schema: + type: string + - name: provisioningId + in: path + description: Provisioning ID + required: true + schema: + type: string + get: + responses: + '200': + description: OK. The provisioning information related to the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + patch: + requestBody: + description: update an existing parameter provisioning. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/RacsProvisioningDataPatch' + responses: + '200': + description: OK. The provisioning data was updated successfully. The SCEF shall return an updated provisioning information in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The RACS data for all RACS IDs were not provisioned successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RacsFailureReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + requestBody: + description: update an existing parameter provisioning. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + responses: + '200': + description: OK. The provisioning data was updated successfully. The SCEF shall return an updated provisioning information in the response. + content: + application/json: + schema: + $ref: '#/components/schemas/RacsProvisioningData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + description: The RACS data for all RACS IDs were not provisioned successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RacsFailureReport' + minItems: 1 + application/problem+json: + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + responses: + '204': + description: No Content. The provisioning was terminated successfully. The payload body shall be empty. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + RacsProvisioningData: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + racsConfigs: + type: object + additionalProperties: + $ref: '#/components/schemas/RacsConfiguration' + minProperties: 1 + description: Identifies the configuration related to manufacturer specific UE radio capability. Each element uniquely identifies an RACS configuration for an RACS ID and is identified in the map via the RACS ID as key. The response shall include successfully provisioned RACS data. + racsReports: + type: object + additionalProperties: + $ref: '#/components/schemas/RacsFailureReport' + minProperties: 1 + description: Supplied by the SCEF. Contains the RACS IDs for which the RACS data are not provisioned successfully. + readOnly: true + required: + - racsConfigs + RacsFailureReport: + type: object + properties: + racsIds: + type: array + items: + type: string + minItems: 1 + description: Identifies the RACS ID(s) for which the RACS data are not provisioned successfully. + failureCode: + $ref: '#/components/schemas/RacsFailureCode' + required: + - racsIds + - failureCode + RacsConfiguration: + type: object + properties: + racsId: + type: string + description: The UE radio capability ID provided by the SCS/AS to identify the UE radio capability data. See 3GPP TS 23.003 for the encoding. + racsParamEps: + type: string + description: The UE radio capability data in EPS. + racsParam5Gs: + type: string + description: The UE radio capability data in 5GS. + imeiTacs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TypeAllocationCode' + minItems: 1 + description: Related UE model's IMEI-TAC values. + anyOf: + - required: [racsParamEps] + - required: [racsParam5Gs] + required: + - racsId + - imeiTacs + RacsProvisioningDataPatch: + type: object + properties: + racsConfigs: + type: object + additionalProperties: + $ref: '#/components/schemas/RacsConfigurationRm' + minProperties: 1 + description: Identifies the configuration related to manufactuer specific UE radio capability. Each element uniquely identifies an RACS configuration for an RACS ID and is identified in the map via the RACS ID as key. + RacsConfigurationRm: + type: object + properties: + racsParamEps: + type: string + description: The UE radio capability data in EPS. + nullable: true + racsParam5Gs: + type: string + description: The UE radio capability data in 5GS. + nullable: true + imeiTacs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TypeAllocationCode' + minItems: 1 + description: Related UE model's IMEI-TAC values. + nullable: true + RacsFailureCode: + anyOf: + - type: string + enum: + - MALFUNCTION + - RESOURCE_LIMITATION + - RACS_ID_DUPLICATED + - OTHER_REASON + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - MALFUNCTION: This value indicates that something functions wrongly in RACS provisioning or the RACS provisioning does not function at all. + - RESOURCE_LIMITATION: This value indicates there is resource limitation for RACS data storage. + - RACS_ID_DUPLICATED: The received RACS identifier(s) are already provisioned. + - OTHER_REASON: Other reason unspecified. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ReportingNetworkStatus.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ReportingNetworkStatus.yaml new file mode 100644 index 000000000..df30057a0 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ReportingNetworkStatus.yaml @@ -0,0 +1,317 @@ +openapi: 3.0.0 +info: + title: 3gpp-network-status-reporting + version: 1.0.1 + description: | + API for reporting network status. + © 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V15.4.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-net-stat-report/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/subscriptions: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + get: + summary: Read all network status reporting subscription resources for a given SCS/AS. + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + minItems: 0 + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Create a new network status reporting subscription resource. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingNotification' + responses: + '204': + description: No Content (successful notification) + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: The subscription was created successfully. The URI of the created resource shall be returned in the "Location" HTTP header. + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{scsAsId}/subscriptions/{subscriptionId}: + parameters: + - name: scsAsId + in: path + description: Identifier of the SCS/AS + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ScsAsId' + - name: subscriptionId + in: path + description: Identifier of the subscription resource of type string + required: true + schema: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ResourceId' + get: + summary: Read an active network status reporting subscription resource. + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + summary: Modify an existing subscription resource to update a subscription. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + responses: + '200': + description: The subscription was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkStatusReportingSubscription' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an existing continuous network status reporting subscription resource. + responses: + '204': + description: The subscription was updated successfully. + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + NetworkStatusReportingSubscription: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea' + timeDuration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + thresholdValues: + type: array + items: + $ref: '#/components/schemas/CongestionValue' + minItems: 1 + description: Identifies a list of congestion level(s) with exact value that the SCS/AS requests to be informed of when reached. + thresholdTypes: + type: array + items: + $ref: '#/components/schemas/CongestionType' + minItems: 1 + description: Identifies a list of congestion level(s) with abstracted value that the SCS/AS requests to be informed of when reached. + required: + - notificationDestination + - locationArea + not: + required: [thresholdValues, thresholdTypes] + NetworkStatusReportingNotification: + type: object + properties: + subscription: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + nsiValue: + $ref: '#/components/schemas/CongestionValue' + nsiType: + $ref: '#/components/schemas/CongestionType' + required: + - subscription + not: + required: [nsiValue, nsiType] + CongestionValue: + type: integer + minimum: 0 + maximum: 31 + description: Unsigned integer with valid values between 0 and 31. The value 0 indicates that there is no congestion. The value 1 is the lowest congestion level and value 31 is the highest congestion level. + CongestionType: + anyOf: + - type: string + enum: + - HIGH + - MEDIUM + - LOW + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - HIGH: The congestion status is high. + - MEDIUM: The congestion status is medium. + - LOW: The congestion status is low. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ResourceManagementOfBdt.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ResourceManagementOfBdt.yaml new file mode 100644 index 000000000..29f011331 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29122_ResourceManagementOfBdt.yaml @@ -0,0 +1,403 @@ +openapi: 3.0.0 +info: + title: 3gpp-bdt + version: 1.1.1 + description: | + API for BDT resouce management. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.122 V16.9.0 T8 reference point for Northbound APIs + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-bdt/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{scsAsId}/subscriptions: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + get: + responses: + '200': + description: all BDT policy subscriptions. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Bdt' + minItems: 0 + description: individual BDT policy subscription. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + post: + requestBody: + description: Contains the data to create a BDT subscription. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + callbacks: + bDTWarningNotification: + '{$request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExNotification' + responses: + '204': + description: No Content (successful notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: Background data transfer policies offered to the SCS/AS. + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29122_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + /{scsAsId}/subscriptions/{subscriptionId}: + parameters: + - name: scsAsId + description: String identifying the SCS/AS. + in: path + required: true + schema: + type: string + - name: subscriptionId + description: String identifying the individual BDT policy resource in the SCEF. + in: path + required: true + schema: + type: string + get: + responses: + '200': + description: Background data transfer policies offered to and selected by the SCEF. + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + put: + requestBody: + description: Parameters to update/replace the existing BDT subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + responses: + '200': + description: OK (Successful update of the BDT subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + patch: + requestBody: + description: Contains information to be performed on the Bdt data structure to select a transfer policy. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/BdtPatch' + responses: + '200': + description: The Individual BDT Policy resource is modified with a selected policy and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/Bdt' + '204': + description: The Individual BDT Policy resource is modified with a selected policy. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + responses: + '204': + description: The Individual BDT Policy resource is deleted. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + Bdt: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + volumePerUE: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + numberOfUEs: + type: integer + minimum: 1 + description: Identifies the number of UEs. + desiredTimeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + locationArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea' + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + referenceId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + transferPolicies: + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + description: Identifies an offered transfer policy. + readOnly: true + selectedPolicy: + type: integer + description: Identity of the selected background data transfer policy. Shall not be present in initial message exchange, can be provided by NF service consumer in a subsequent message exchange. + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + warnNotifEnabled: + type: boolean + description: Indicates whether the BDT warning notification is enabled or not. + trafficDes: + $ref: '#/components/schemas/TrafficDescriptor' + required: + - volumePerUE + - numberOfUEs + - desiredTimeWindow + BdtPatch: + type: object + properties: + selectedPolicy: + type: integer + description: Identity of the selected background data transfer policy. + warnNotifEnabled: + type: boolean + description: Indicates whether the BDT warning notification is enabled or not. + required: + - selectedPolicy + TransferPolicy: + type: object + properties: + bdtPolicyId: + type: integer + description: Identifier for the transfer policy + maxUplinkBandwidth: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + maxDownlinkBandwidth: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Bandwidth' + ratingGroup: + type: integer + minimum: 0 + description: Indicates the rating group during the time window. + timeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + required: + - bdtPolicyId + - ratingGroup + - timeWindow + ExNotification: + type: object + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + locationArea5G: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + timeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + candPolicies: + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + description: This IE indicates a list of the candidate transfer policies from which the AF may select a new transfer policy due to network performance degradation. + required: + - bdtRefId + TrafficDescriptor: + type: string + description: Identify a traffic descriptor as defined in Figure 5.2.2 of 3GPP TS 24.526, octets v+5 to w. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29502_Nsmf_PDUSession.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29502_Nsmf_PDUSession.yaml new file mode 100644 index 000000000..3d39bc265 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29502_Nsmf_PDUSession.yaml @@ -0,0 +1,4375 @@ +openapi: 3.0.0 + +info: + version: '1.1.4' + title: 'Nsmf_PDUSession' + description: | + SMF PDU Session Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.502 V16.8.0; 5G System; Session Management Services; Stage 3 + url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.502/ + +servers: + - url: '{apiRoot}/nsmf-pdusession/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. The sm-contexts and pdu-sessions resources can be distributed on different processing instances or hosts. Thus the authority and/or deployment-specific string of the apiRoot of the created individual sm context and pdu-session resources' URIs may differ from the authority and/or deployment-specific string of the apiRoot of the sm-contexts and pdu-sessions collections' URIs. + +security: + - {} + - oAuth2ClientCredentials: + - nsmf-pdusession + +paths: + /sm-contexts: + post: + summary: Create SM Context + tags: + - SM contexts collection + operationId: PostSmContexts + requestBody: + description: representation of the SM context to be created in the SMF + required: true + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateData' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + binaryDataN2SmInformationExt1: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + callbacks: + smContextStatusNotification: + '{$request.body#/smContextStatusUri}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextStatusNotification' + responses: + '204': + description: successful notification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + responses: + '201': + description: successful creation of an SM context + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreatedData' + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nsmf-pdusession/{apiVersion}/sm-contexts/{smContextRef}' + required: true + schema: + type: string + + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: unsuccessful creation of an SM context - bad request + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '403': + description: unsuccessful creation of an SM context - forbidden + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '404': + description: unsuccessful creation of an SM context - not found + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: '#/components/responses/413' + '415': + $ref: '#/components/responses/415' + '429': + $ref: '#/components/responses/429' + + '500': + description: unsuccessful creation of an SM context - internal server error + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '503': + description: unsuccessful creation of an SM context - service unavailable + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + + '504': + description: unsuccessful creation of an SM context - gateway timeout + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextCreateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmMessage: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + + /sm-contexts/{smContextRef}/retrieve: + post: + summary: Retrieve SM Context + tags: + - Individual SM context + operationId: RetrieveSmContext + parameters: + - name: smContextRef + in: path + description: SM context reference + required: true + schema: + type: string + requestBody: + description: parameters used to retrieve the SM context + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextRetrieveData' + responses: + '200': + description: successful retrieval of an SM context + content: + application/json: + schema: + $ref: '#/components/schemas/SmContextRetrievedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /sm-contexts/{smContextRef}/modify: + post: + summary: Update SM Context + tags: + - Individual SM context + operationId: UpdateSmContext + parameters: + - name: smContextRef + in: path + description: SM context reference + required: true + schema: + type: string + requestBody: + description: representation of the updates to apply to the SM context + required: true + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateData' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + binaryDataN2SmInformationExt1: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + responses: + '200': + description: successful update of an SM context with content in the response + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdatedData' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '204': + description: successful update of an SM context without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: unsuccessful update of an SM context - bad request + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '403': + description: unsuccessful update of an SM context - forbidden + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '404': + description: unsuccessful update of an SM context - not found + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateError' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: '#/components/responses/413' + '415': + $ref: '#/components/responses/415' + '429': + $ref: '#/components/responses/429' + '500': + description: unsuccessful update of an SM context - Internal server error + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '503': + description: unsuccessful update of an SM context - Service Unavailable + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextUpdateError' + binaryDataN1SmMessage: + type: string + format: binary + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmMessage: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /sm-contexts/{smContextRef}/release: + post: + summary: Release SM Context + tags: + - Individual SM context + operationId: ReleaseSmContext + parameters: + - name: smContextRef + in: path + description: SM context reference + required: true + schema: + type: string + requestBody: + description: representation of the data to be sent to the SMF when releasing the SM context + required: false + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextReleaseData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/SmContextReleaseData' + binaryDataN2SmInformation: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2SmInformation: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + + responses: + '200': + description: successful release of a PDU session with content in the response + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/SmContextReleasedData' + '204': + description: successful release of an SM context without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /sm-contexts/{smContextRef}/send-mo-data: + post: + summary: Send MO Data + tags: + - Individual SM context + operationId: SendMoData + parameters: + - name: smContextRef + in: path + description: SM context reference + required: true + schema: + type: string + requestBody: + description: representation of the payload of Send MO Data Request + required: true + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/SendMoDataReqData' + binaryMoData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryMoData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: successful sending of MO data + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: '#/components/responses/413' + '415': + $ref: '#/components/responses/415' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '503': + $ref: '#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pdu-sessions: + post: + summary: Create + tags: + - PDU sessions collection + operationId: PostPduSessions + requestBody: + description: representation of the PDU session to be created in the H-SMF or SMF + required: true + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/PduSessionCreateData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/PduSessionCreateData' + binaryDataN1SmInfoFromUe: + type: string + format: binary + binaryDataUnknownN1SmInfo: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoFromUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataUnknownN1SmInfo: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + callbacks: + statusNotification: + '{$request.body#/vsmfPduSessionUri}': + post: + summary: Notify Status + tags: + - Individual PDU session (V-SMF) + operationId: NotifyStatus + requestBody: + $ref: '#/components/requestBodies/NotifyStatusRequestBody' + responses: + '204': + description: successful notificationof the status change + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + statusNotification-ismf: + '{$request.body#/ismfPduSessionUri}': + post: + summary: Notify Status + tags: + - Individual PDU session (I-SMF) + operationId: NotifyStatus-isfm + requestBody: + $ref: '#/components/requestBodies/NotifyStatusRequestBody' + responses: + '204': + description: successful notificationof the status change + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + + update: + '{$request.body#/vsmfPduSessionUri}/modify': + post: + summary: Update (initiated by H-SMF) + tags: + - Individual PDU session (V-SMF) + operationId: ModifyPduSession + requestBody: + $ref: '#/components/requestBodies/VsmfUpdateRequestBody' + responses: + '200': + $ref: '#/components/responses/VsmfUpdateResponse200' + '204': + description: successful update of a PDU session without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: '#/components/responses/VsmfUpdateError' + '403': + $ref: '#/components/responses/VsmfUpdateError' + '404': + $ref: '#/components/responses/VsmfUpdateError' + '409': + $ref: '#/components/responses/VsmfUpdateError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/VsmfUpdateError' + '503': + $ref: '#/components/responses/VsmfUpdateError' + '504': + $ref: '#/components/responses/VsmfUpdateError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + update-ismf: + '{$request.body#/ismfPduSessionUri}/modify': + post: + summary: Update (initiated by SMF) + tags: + - Individual PDU session (I-SMF) + operationId: ModifyPduSession-ismf + requestBody: + $ref: '#/components/requestBodies/VsmfUpdateRequestBody' + responses: + '200': + $ref: '#/components/responses/VsmfUpdateResponse200' + '204': + description: successful update of a PDU session without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: '#/components/responses/VsmfUpdateError' + '403': + $ref: '#/components/responses/VsmfUpdateError' + '404': + $ref: '#/components/responses/VsmfUpdateError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/VsmfUpdateError' + '503': + $ref: '#/components/responses/VsmfUpdateError' + '504': + $ref: '#/components/responses/VsmfUpdateError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + transferMtData: + '{$request.body#/vsmfPduSessionUri}/transfer-mt-data': + post: + summary: Transfer MT Data (by H-SMF) + tags: + - Individual PDU session (V-SMF) + operationId: TransferMtData + requestBody: + description: representation of the payload of Transfer MT Data Request + required: true + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/TransferMtDataReqData' + binaryMtData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryMtData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: successful transfering of MT data + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: unsuccessful delivery of mobile terminated data - gateway timeout + content: + application/json: + schema: + $ref: '#/components/schemas/TransferMtDataError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + transferMtData-ismf: + '{$request.body#/ismfPduSessionUri}/transfer-mt-data': + post: + summary: Transfer MT Data (by SMF) + tags: + - Individual PDU session (I-SMF) + operationId: TransferMtData-ismf + requestBody: + description: representation of the payload of Transfer MT Data Request + required: true + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/TransferMtDataReqData' + binaryMtData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryMtData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: successful transfering of MT data + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: unsuccessful delivery of mobile terminated data - gateway timeout + content: + application/json: + schema: + $ref: '#/components/schemas/TransferMtDataError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + responses: + '201': + description: successful creation of a PDU session + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/PduSessionCreatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/PduSessionCreatedData' + binaryDataN1SmInfoToUe: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoToUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nsmf-pdusession/{apiVersion}/pdu-sessions/{pduSessionRef}' + required: true + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: '#/components/responses/PduSessionCreateError' + '403': + $ref: '#/components/responses/PduSessionCreateError' + '404': + $ref: '#/components/responses/PduSessionCreateError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/PduSessionCreateError' + '503': + $ref: '#/components/responses/PduSessionCreateError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pdu-sessions/{pduSessionRef}/modify: + post: + summary: Update (initiated by V-SMF or I-SMF) + tags: + - Individual PDU session (H-SMF or SMF) + operationId: UpdatePduSession + parameters: + - name: pduSessionRef + in: path + description: PDU session reference + required: true + schema: + type: string + requestBody: + description: representation of the updates to apply to the PDU session + required: true + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/HsmfUpdateData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/HsmfUpdateData' + binaryDataN1SmInfoFromUe: + type: string + format: binary + binaryDataUnknownN1SmInfo: + type: string + format: binary + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoFromUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataUnknownN1SmInfo: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + responses: + '200': + description: successful update of a PDU session with content in the response + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/HsmfUpdatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/HsmfUpdatedData' + binaryDataN1SmInfoToUe: + type: string + format: binary + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoToUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + '204': + description: successful update of a PDU session without content in the response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: '#/components/responses/HsmfUpdateError' + '403': + $ref: '#/components/responses/HsmfUpdateError' + '404': + $ref: '#/components/responses/HsmfUpdateError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: '#/components/responses/HsmfUpdateError' + '503': + $ref: '#/components/responses/HsmfUpdateError' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pdu-sessions/{pduSessionRef}/release: + post: + summary: Release + tags: + - Individual PDU session (H-SMF or SMF) + operationId: ReleasePduSession + parameters: + - name: pduSessionRef + in: path + description: PDU session reference + required: true + schema: + type: string + requestBody: + description: data sent to H-SMF or SMF when releasing the PDU session + required: false + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/ReleaseData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/ReleaseData' + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + + responses: + '200': + description: successful release of a PDU session with content in the response + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/ReleasedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/ReleasedData' + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + '204': + description: successful release of a PDU session + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pdu-sessions/{pduSessionRef}/retrieve: + post: + summary: Retrieve + tags: + - Individual PDU session (H-SMF or SMF) + operationId: RetrievePduSession + parameters: + - name: pduSessionRef + in: path + description: PDU session reference + required: true + schema: + type: string + requestBody: + description: representation of the payload of the Retrieve Request + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RetrieveData' + responses: + '200': + description: successful information retrieval + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/RetrievedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /pdu-sessions/{pduSessionRef}/transfer-mo-data: + post: + summary: Transfer MO Data + tags: + - Individual PDU session (H-SMF or SMF) + operationId: TransferMoData + parameters: + - name: pduSessionRef + in: path + description: PDU session reference + required: true + schema: + type: string + requestBody: + description: representation of the payload of Transfer MO Data Request + required: true + content: + multipart/related: # message with a binary body part + schema: + type: object + properties: + jsonData: + $ref: '#/components/schemas/TransferMoDataReqData' + binaryMoData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryMoData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: successful transfering of MO data + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nsmf-pdusession: Access to the nsmf-pdusession API + + schemas: +# +# STRUCTURED DATA TYPES +# + SmContextCreateData: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + unauthenticatedSupi: + type: boolean + default: false + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + selectedDnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + hplmnSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + servingNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + serviceName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + requestType: + $ref: '#/components/schemas/RequestType' + n1SmMsg: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAnType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + presenceInLadn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + smContextStatusUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + hSmfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + hSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + additionalHsmfUri: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + additionalHsmfId: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + additionalSmfUri: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + additionalSmfId: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + oldPduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + pduSessionsActivateList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + ueEpsPdnConnection: + $ref: '#/components/schemas/EpsPdnCnxContainer' + hoState: + $ref: '#/components/schemas/HoState' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + nrfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + selMode: + $ref: '#/components/schemas/DnnSelectionMode' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + minItems: 1 + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + epsInterworkingInd: + $ref: '#/components/schemas/EpsInterworkingIndication' + indirectForwardingFlag: + type: boolean + directForwardingFlag: + type: boolean + targetId: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/NgRanTargetId' + epsBearerCtxStatus: + $ref: '#/components/schemas/EpsBearerContextStatus' + cpCiotEnabled: + type: boolean + default: false + cpOnlyInd: + type: boolean + default: false + invokeNef: + type: boolean + default: false + maRequestInd: + type: boolean + default: false + maNwUpgradeInd: + type: boolean + default: false + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + n2SmInfoExt1: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoTypeExt1: + $ref: '#/components/schemas/N2SmInfoType' + smContextRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smContextSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smContextSmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + smContextSmfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + smContextSmfBinding: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/SbiBindingLevel' + upCnxState: + $ref: '#/components/schemas/UpCnxState' + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + extendedNasSmTimerInd: + type: boolean + default: false + dlDataWaitingInd: + type: boolean + default: false + ddnFailureSubs: + $ref: '#/components/schemas/DdnFailureSubs' + smfTransferInd: + type: boolean + default: false + oldSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + oldSmContextRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + wAgfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/WAgfInfo' + tngfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TngfInfo' + twifInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TwifInfo' + ranUnchangedInd: + type: boolean + required: + - servingNfId + - servingNetwork + - anType + - smContextStatusUri + + SmContextCreatedData: + type: object + properties: + hSmfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + upCnxState: + $ref: '#/components/schemas/UpCnxState' + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + allocatedEbiList: + type: array + items: + $ref: '#/components/schemas/EbiArpMapping' + minItems: 1 + hoState: + $ref: '#/components/schemas/HoState' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + smfServiceInstanceId: + type: string + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + selectedSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + selectedOldSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + SmContextUpdateData: + type: object + properties: + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + servingNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + minItems: 1 + nullable: true + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAnType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + anTypeToReactivate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + presenceInLadn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + upCnxState: + $ref: '#/components/schemas/UpCnxState' + hoState: + $ref: '#/components/schemas/HoState' + toBeSwitched: + type: boolean + default: false + failedToBeSwitched: + type: boolean + n1SmMsg: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + targetId: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/NgRanTargetId' + targetServingNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smContextStatusUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + dataForwarding: + type: boolean + default: false + n9ForwardingTunnel: + $ref: '#/components/schemas/TunnelInfo' + n9DlForwardingTnlList: + type: array + items: + $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo' + minItems: 1 + n9UlForwardingTnlList: + type: array + items: + $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo' + minItems: 1 + epsBearerSetup: + type: array + items: + $ref: '#/components/schemas/EpsBearerContainer' + minItems: 0 + revokeEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + release: + type: boolean + default: false + cause: + $ref: '#/components/schemas/Cause' + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCauseValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + epsInterworkingInd: + $ref: '#/components/schemas/EpsInterworkingIndication' + anTypeCanBeChanged: + type: boolean + default: false + n2SmInfoExt1: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoTypeExt1: + $ref: '#/components/schemas/N2SmInfoType' + maReleaseInd: + $ref: '#/components/schemas/MaReleaseIndication' + maNwUpgradeInd: + type: boolean + default: false + maRequestInd: + type: boolean + default: false + exemptionInd: + $ref: '#/components/schemas/ExemptionInd' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + moExpDataCounter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter' + extendedNasSmTimerInd: + type: boolean + forwardingFTeid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + forwardingBearerContexts: + type: array + items: + $ref: '#/components/schemas/ForwardingBearerContainer' + minItems: 1 + ddnFailureSubs: + $ref: '#/components/schemas/DdnFailureSubs' + + SmContextUpdatedData: + type: object + properties: + upCnxState: + $ref: '#/components/schemas/UpCnxState' + hoState: + $ref: '#/components/schemas/HoState' + releaseEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + allocatedEbiList: + type: array + items: + $ref: '#/components/schemas/EbiArpMapping' + minItems: 1 + modifiedEbiList: + type: array + items: + $ref: '#/components/schemas/EbiArpMapping' + minItems: 1 + n1SmMsg: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + epsBearerSetup: + type: array + items: + $ref: '#/components/schemas/EpsBearerContainer' + minItems: 1 + dataForwarding: + type: boolean + n3DlForwardingTnlList: + type: array + items: + $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo' + minItems: 1 + n3UlForwardingTnlList: + type: array + items: + $ref: '#/components/schemas/IndirectDataForwardingTunnelInfo' + minItems: 1 + cause: + $ref: '#/components/schemas/Cause' + maAcceptedInd: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + forwardingFTeid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + forwardingBearerContexts: + type: array + items: + $ref: '#/components/schemas/ForwardingBearerContainer' + minItems: 1 + selectedSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + selectedOldSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + SmContextReleaseData: + type: object + properties: + cause: + $ref: '#/components/schemas/Cause' + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCauseValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + vsmfReleaseOnly: + type: boolean + default: false + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + ismfReleaseOnly: + type: boolean + default: false + + SmContextReleasedData: + type: object + properties: + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + + SmContextStatusNotification: + type: object + properties: + statusInfo : + $ref: '#/components/schemas/StatusInfo' + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + ddnFailureStatus: + type: boolean + default: false + notifyCorrelationIdsForddnFailure: + type: array + items: + type: string + minItems: 1 + newSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + newSmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + oldSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + oldSmContextRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altAnchorSmfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altAnchorSmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + required: + - statusInfo + + PduSessionCreateData: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + unauthenticatedSupi: + type: boolean + default: false + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + selectedDnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + vsmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ismfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + requestType: + $ref: '#/components/schemas/RequestType' + epsBearerId: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + pgwS8cFteid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + vsmfPduSessionUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ismfPduSessionUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + vcnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + icnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + n9ForwardingTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + additionalCnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAnType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + n1SmInfoFromUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + unknownN1SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + hPcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + hoPreparationIndication: + type: boolean + selMode: + $ref: '#/components/schemas/DnnSelectionMode' + alwaysOnRequested: + type: boolean + default: false + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + epsInterworkingInd: + $ref: '#/components/schemas/EpsInterworkingIndication' + vSmfServiceInstanceId: + type: string + iSmfServiceInstanceId: + type: string + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + roamingChargingProfile: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile' + chargingId: + type: string + oldPduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + epsBearerCtxStatus: + $ref: '#/components/schemas/EpsBearerContextStatus' + amfNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + maxIntegrityProtectedDataRateUl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + maxIntegrityProtectedDataRateDl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + cpCiotEnabled: + type: boolean + default: false + cpOnlyInd: + type: boolean + default: false + invokeNef: + type: boolean + default: false + maRequestInd: + type: boolean + default: false + maNwUpgradeInd: + type: boolean + default: false + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + presenceInLadn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + secondaryRatUsageInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo' + minItems: 1 + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + dlServingPlmnRateCtl: + type: integer + minimum: 10 + upSecurityInfo: + $ref: '#/components/schemas/UpSecurityInfo' + vplmnQos: + $ref: '#/components/schemas/VplmnQos' + required: + - dnn + - servingNetwork + - anType + oneOf: + - required: [ vsmfId, vsmfPduSessionUri ] + - required: [ ismfId, ismfPduSessionUri ] + + PduSessionCreatedData: + type: object + properties: + pduSessionType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + sscMode: + type: string + pattern: '^[0-7]$' + hcnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + cnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + additionalCnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + qosFlowsSetupList: + type: array + items: + $ref: '#/components/schemas/QosFlowSetupItem' + minItems: 1 + hSmfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + enablePauseCharging: + type: boolean + default: false + ueIpv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + n1SmInfoToUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + epsPdnCnxInfo: + $ref: '#/components/schemas/EpsPdnCnxInfo' + epsBearerInfo: + type: array + items: + $ref: '#/components/schemas/EpsBearerInfo' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + maxIntegrityProtectedDataRate: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + maxIntegrityProtectedDataRateDl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + alwaysOnGranted: + type: boolean + default: false + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + upSecurity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity' + roamingChargingProfile: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile' + hSmfServiceInstanceId: + type: string + smfServiceInstanceId: + type: string + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + ipv6MultiHomingInd: + type: boolean + default: false + maAcceptedInd: + type: boolean + default: false + homeProvidedChargingId: + type: string + nefExtBufSupportInd: + type: boolean + default: false + smallDataRateControlEnabled: + type: boolean + default: false + ueIpv6InterfaceId: + type: string + pattern: '^[A-Fa-f0-9]{16}$' + ipv6Index: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex' + dnAaaAddress: + $ref: '#/components/schemas/IpAddress' + redundantPduSessionInfo: + $ref: '#/components/schemas/RedundantPduSessionInformation' + required: + - pduSessionType + - sscMode + oneOf: + - required: [ hSmfInstanceId ] + - required: [ smfInstanceId ] + + HsmfUpdateData: + type: object + properties: + requestIndication: + $ref: '#/components/schemas/RequestIndication' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + vcnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + icnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + additionalCnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAnType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + pauseCharging: + type: boolean + pti: + $ref: '#/components/schemas/ProcedureTransactionId' + n1SmInfoFromUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + unknownN1SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + qosFlowsRelNotifyList: + type: array + items: + $ref: '#/components/schemas/QosFlowItem' + minItems: 1 + qosFlowsNotifyList: + type: array + items: + $ref: '#/components/schemas/QosFlowNotifyItem' + minItems: 1 + NotifyList: + type: array + items: + $ref: '#/components/schemas/PduSessionNotifyItem' + minItems: 1 + epsBearerId: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 0 + hoPreparationIndication: + type: boolean + revokeEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + cause: + $ref: '#/components/schemas/Cause' + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCauseValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + alwaysOnRequested: + type: boolean + default: false + epsInterworkingInd: + $ref: '#/components/schemas/EpsInterworkingIndication' + secondaryRatUsageReport: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageReport' + minItems: 1 + secondaryRatUsageInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo' + minItems: 1 + anTypeCanBeChanged: + type: boolean + default: false + maReleaseInd: + $ref: '#/components/schemas/MaReleaseIndication' + maNwUpgradeInd: + type: boolean + default: false + maRequestInd: + type: boolean + default: false + unavailableAccessInd: + $ref: '#/components/schemas/UnavailableAccessIndication' + psaInfo: + type: array + items: + $ref: '#/components/schemas/PsaInformation' + minItems: 1 + ulclBpInfo: + $ref: '#/components/schemas/UlclBpInformation' + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + presenceInLadn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + vsmfPduSessionUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + vsmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + vSmfServiceInstanceId: + type: string + ismfPduSessionUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ismfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + iSmfServiceInstanceId: + type: string + dlServingPlmnRateCtl: + type: integer + minimum: 10 + nullable: true + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + roamingChargingProfile: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile' + moExpDataCounter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter' + vplmnQos: + $ref: '#/components/schemas/VplmnQos' + securityResult: + $ref: '#/components/schemas/SecurityResult' + upSecurityInfo: + $ref: '#/components/schemas/UpSecurityInfo' + amfNfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + required: + - requestIndication + + HsmfUpdatedData: + type: object + properties: + n1SmInfoToUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + roamingChargingProfile: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile' + upSecurity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity' + maxIntegrityProtectedDataRateUl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + maxIntegrityProtectedDataRateDl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + ipv6MultiHomingInd: + type: boolean + default: false + qosFlowsSetupList: + type: array + items: + $ref: '#/components/schemas/QosFlowSetupItem' + minItems: 1 + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + epsPdnCnxInfo: + $ref: '#/components/schemas/EpsPdnCnxInfo' + epsBearerInfo: + type: array + items: + $ref: '#/components/schemas/EpsBearerInfo' + minItems: 1 + pti: + $ref: '#/components/schemas/ProcedureTransactionId' + + ReleaseData: + type: object + properties: + cause: + $ref: '#/components/schemas/Cause' + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCauseValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + secondaryRatUsageReport: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageReport' + minItems: 1 + secondaryRatUsageInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo' + minItems: 1 + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + + ReleasedData: + type: object + properties: + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + + VsmfUpdateData: + type: object + properties: + requestIndication: + $ref: '#/components/schemas/RequestIndication' + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + qosFlowsAddModRequestList: + type: array + items: + $ref: '#/components/schemas/QosFlowAddModifyRequestItem' + minItems: 1 + qosFlowsRelRequestList: + type: array + items: + $ref: '#/components/schemas/QosFlowReleaseRequestItem' + minItems: 1 + epsBearerInfo: + type: array + items: + $ref: '#/components/schemas/EpsBearerInfo' + minItems: 1 + assignEbiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + revokeEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + modifiedEbiList: + type: array + items: + $ref: '#/components/schemas/EbiArpMapping' + minItems: 1 + pti: + $ref: '#/components/schemas/ProcedureTransactionId' + n1SmInfoToUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + alwaysOnGranted: + type: boolean + default: false + hsmfPduSessionUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + cause: + $ref: '#/components/schemas/Cause' + n1smCause: + type: string + backOffTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + maReleaseInd: + $ref: '#/components/schemas/MaReleaseIndication' + maAcceptedInd: + type: boolean + default: false + additionalCnTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + smallDataRateControlEnabled: + type: boolean + qosMonitoringInfo: + $ref: '#/components/schemas/QosMonitoringInfo' + required: + - requestIndication + + VsmfUpdatedData: + type: object + properties: + qosFlowsAddModList: + type: array + items: + $ref: '#/components/schemas/QosFlowItem' + minItems: 1 + qosFlowsRelList: + type: array + items: + $ref: '#/components/schemas/QosFlowItem' + minItems: 1 + qosFlowsFailedtoAddModList: + type: array + items: + $ref: '#/components/schemas/QosFlowItem' + minItems: 1 + qosFlowsFailedtoRelList: + type: array + items: + $ref: '#/components/schemas/QosFlowItem' + minItems: 1 + n1SmInfoFromUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + unknownN1SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + addUeLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + assignedEbiList: + type: array + items: + $ref: '#/components/schemas/EbiArpMapping' + minItems: 1 + failedToAssignEbiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + releasedEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + secondaryRatUsageReport: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageReport' + minItems: 1 + secondaryRatUsageInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SecondaryRatUsageInfo' + minItems: 1 + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + + StatusNotification: + type: object + properties: + statusInfo : + $ref: '#/components/schemas/StatusInfo' + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + required: + - statusInfo + + QosFlowItem: + type: object + properties: + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + cause: + $ref: '#/components/schemas/Cause' + currentQosProfileIndex: + type: integer + minimum: 1 + maximum: 8 + nullQoSProfileIndex: + type: boolean + required: + - qfi + + QosFlowSetupItem: + type: object + properties: + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + qosRules: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + ebi: + $ref: '#/components/schemas/EpsBearerId' + qosFlowDescription: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + qosFlowProfile: + $ref: '#/components/schemas/QosFlowProfile' + associatedAnType: + $ref: '#/components/schemas/QosFlowAccessType' + required: + - qfi + - qosRules + + QosFlowAddModifyRequestItem: + type: object + properties: + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + ebi: + $ref: '#/components/schemas/EpsBearerId' + qosRules: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + qosFlowDescription: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + qosFlowProfile: + $ref: '#/components/schemas/QosFlowProfile' + associatedAnType: + $ref: '#/components/schemas/QosFlowAccessType' + required: + - qfi + + QosFlowReleaseRequestItem: + type: object + properties: + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + qosRules: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + qosFlowDescription: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + required: + - qfi + + QosFlowProfile: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + nonDynamic5Qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NonDynamic5Qi' + dynamic5Qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dynamic5Qi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + gbrQosFlowInfo: + $ref: '#/components/schemas/GbrQosFlowInformation' + rqa: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReflectiveQoSAttribute' + additionalQosFlowInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AdditionalQosFlowInfo' + qosMonitoringReq: + $ref: '#/components/schemas/QosMonitoringReq' + qosRepPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - 5qi + + GbrQosFlowInformation: + type: object + properties: + maxFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxFbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + guaFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + guaFbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + notifControl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotificationControl' + maxPacketLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + maxPacketLossRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate' + alternativeQosProfileList: + type: array + items: + $ref: '#/components/schemas/AlternativeQosProfile' + required: + - maxFbrDl + - maxFbrUl + - guaFbrDl + - guaFbrUl + + QosFlowNotifyItem: + type: object + properties: + qfi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + notificationCause: + $ref: '#/components/schemas/NotificationCause' + currentQosProfileIndex: + type: integer + minimum: 1 + maximum: 8 + nullQoSProfileIndex: + type: boolean + required: + - qfi + - notificationCause + + + SmContextRetrieveData: + type: object + properties: + targetMmeCap: + $ref: '#/components/schemas/MmeCapabilities' + smContextType: + $ref: '#/components/schemas/SmContextType' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + notToTransferEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + ranUnchangedInd: + type: boolean + default: false + + SmContextRetrievedData: + type: object + properties: + ueEpsPdnConnection: + $ref: '#/components/schemas/EpsPdnCnxContainer' + smContext: + $ref: '#/components/schemas/SmContext' + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + apnRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApnRateStatus' + dlDataWaitingInd: + type: boolean + default: false + required: + - ueEpsPdnConnection + + MmeCapabilities: + type: object + properties: + nonIpSupported: + type: boolean + default: false + ethernetSupported: + type: boolean + default: false + + TunnelInfo: + type: object + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + gtpTeid: + $ref: '#/components/schemas/Teid' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - gtpTeid + + StatusInfo: + type: object + properties: + resourceStatus: + $ref: '#/components/schemas/ResourceStatus' + cause: + $ref: '#/components/schemas/Cause' + cnAssistedRanPara: + $ref: '#/components/schemas/CnAssistedRanPara' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - resourceStatus + + + EpsPdnCnxInfo: + type: object + properties: + pgwS8cFteid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + pgwNodeName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + linkedBearerId: + $ref: '#/components/schemas/EpsBearerId' + required: + - pgwS8cFteid + + EpsBearerInfo: + type: object + properties: + ebi: + $ref: '#/components/schemas/EpsBearerId' + pgwS8uFteid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + bearerLevelQoS: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + required: + - ebi + - pgwS8uFteid + - bearerLevelQoS + + PduSessionNotifyItem: + type: object + properties: + notificationCause: + $ref: '#/components/schemas/NotificationCause' + required: + - notificationCause + + EbiArpMapping: + type: object + properties: + epsBearerId: + $ref: '#/components/schemas/EpsBearerId' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + required: + - epsBearerId + - arp + + SmContextCreateError: + type: object + properties: + error: + $ref: '#/components/schemas/ExtProblemDetails' + n1SmMsg: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - error + + SmContextUpdateError: + type: object + properties: + error: + $ref: '#/components/schemas/ExtProblemDetails' + n1SmMsg: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n2SmInfoType: + $ref: '#/components/schemas/N2SmInfoType' + upCnxState: + $ref: '#/components/schemas/UpCnxState' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - error + + PduSessionCreateError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + n1smCause: + type: string + pattern: '^[A-F0-9]{2}$' + n1SmInfoToUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + backOffTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - error + + HsmfUpdateError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + pti: + $ref: '#/components/schemas/ProcedureTransactionId' + n1smCause: + type: string + pattern: '^[A-F0-9]{2}$' + n1SmInfoToUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + backOffTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - error + + VsmfUpdateError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + pti: + $ref: '#/components/schemas/ProcedureTransactionId' + n1smCause: + type: string + pattern: '^[A-F0-9]{2}$' + n1SmInfoFromUe: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + unknownN1SmInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + failedToAssignEbiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCauseValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + n4Info: + $ref: '#/components/schemas/N4Information' + n4InfoExt1: + $ref: '#/components/schemas/N4Information' + n4InfoExt2: + $ref: '#/components/schemas/N4Information' + required: + - error + + SmContext: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + selectedDnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + hplmnSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + pduSessionType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + hSmfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smfUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + pduSessionRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + selMode: + $ref: '#/components/schemas/DnnSelectionMode' + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + qosFlowsList: + type: array + items: + $ref: '#/components/schemas/QosFlowSetupItem' + minItems: 1 + hSmfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pduSessionSmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + pduSessionSmfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + pduSessionSmfBinding: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/SbiBindingLevel' + enablePauseCharging: + type: boolean + default: false + ueIpv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + epsPdnCnxInfo: + $ref: '#/components/schemas/EpsPdnCnxInfo' + epsBearerInfo: + type: array + items: + $ref: '#/components/schemas/EpsBearerInfo' + minItems: 1 + maxIntegrityProtectedDataRate: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + alwaysOnGranted: + type: boolean + default: false + upSecurity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity' + hSmfServiceInstanceId: + type: string + smfServiceInstanceId: + type: string + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + forwardingInd: + type: boolean + default: false + psaTunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + chargingId: + type: string + chargingInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ChargingInformation' + roamingChargingProfile: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/RoamingChargingProfile' + nefExtBufSupportInd: + type: boolean + default: false + ipv6Index: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex' + dnAaaAddress: + $ref: '#/components/schemas/IpAddress' + redundantPduSessionInfo: + $ref: '#/components/schemas/RedundantPduSessionInformation' + ranTunnelInfo: + $ref: '#/components/schemas/QosFlowTunnel' + addRanTunnelInfo: + type: array + items: + $ref: '#/components/schemas/QosFlowTunnel' + minItems: 1 + redRanTunnelInfo: + $ref: '#/components/schemas/QosFlowTunnel' + addRedRanTunnelInfo: + type: array + items: + $ref: '#/components/schemas/QosFlowTunnel' + minItems: 1 + required: + - pduSessionId + - dnn + - sNssai + - pduSessionType + - sessionAmbr + - qosFlowsList + + ExemptionInd: + type: object + properties: + dnnCongestion: + type: boolean + default: false + snssaiOnlyCongestion: + type: boolean + default: false + snssaiDnnCongestion: + type: boolean + default: false + + PsaInformation: + type: object + properties: + psaInd: + $ref: '#/components/schemas/PsaIndication' + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + ueIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + psaUpfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + DnaiInformation: + type: object + properties: + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + noDnaiChangeInd: + type: boolean + noLocalPsaChangeInd: + type: boolean + required: + - dnai + + N4Information: + type: object + properties: + n4MessageType: + $ref: '#/components/schemas/N4MessageType' + n4MessagePayload: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + n4DnaiInfo: + $ref: '#/components/schemas/DnaiInformation' + required: + - n4MessageType + - n4MessagePayload + + IndirectDataForwardingTunnelInfo: + type: object + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + gtpTeid: + $ref: '#/components/schemas/Teid' + drbId: + $ref: '#/components/schemas/DrbId' + additionalTnlNb: + $ref: '#/components/schemas/AdditionalTnlNb' + required: + - gtpTeid + not: + required: [ drbId, additionalTnlNb ] + + SendMoDataReqData: + type: object + properties: + moData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + moExpDataCounter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + required: + - moData + + CnAssistedRanPara: + type: object + properties: + stationaryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StationaryIndication' + communicationDurationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + periodicTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + scheduledCommunicationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTime' + scheduledCommunicationType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationType' + trafficProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficProfile' + batteryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BatteryIndication' + + UlclBpInformation: + type: object + properties: + ulclBpUpfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + TransferMoDataReqData: + type: object + properties: + moData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + moExpDataCounter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter' + ueLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + required: + - moData + + TransferMtDataReqData: + type: object + properties: + mtData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - mtData + + TransferMtDataError: + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/TransferMtDataAddInfo' + + TransferMtDataAddInfo: + type: object + properties: + maxWaitingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + VplmnQos: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + maxFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxFbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + guaFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + guaFbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + + DdnFailureSubs: + type: object + properties: + ddnFailureSubsInd: + type: boolean + default: false + ddnFailureSubsInfoList: + type: array + items: + $ref: '#/components/schemas/DdnFailureSubInfo' + minItems: 1 + + DdnFailureSubInfo: + type: object + required: + - notifyCorrelationId + properties: + notifyCorrelationId: + type: string + dddTrafficDescriptorList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + + RetrieveData: + type: object + properties: + smallDataRateStatusReq: + type: boolean + default: false + + RetrievedData: + type: object + properties: + smallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + + SecurityResult: + type: object + properties: + integrityProtectionResult: + $ref: '#/components/schemas/ProtectionResult' + confidentialityProtectionResult: + $ref: '#/components/schemas/ProtectionResult' + + UpSecurityInfo: + type: object + properties: + upSecurity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity' + maxIntegrityProtectedDataRateUl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + maxIntegrityProtectedDataRateDl: + $ref: '#/components/schemas/MaxIntegrityProtectedDataRate' + securityResult: + $ref: '#/components/schemas/SecurityResult' + required: + - upSecurity + + AlternativeQosProfile: + type: object + properties: + index: + type: integer + minimum: 1 + maximum: 8 + guaFbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + guaFbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + packetDelayBudget: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + packetErrRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + required: + - index + + ExtProblemDetails: + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/ProblemDetailsAddInfo' + + ProblemDetailsAddInfo: + type: object + properties: + remoteError: + type: boolean + + QosMonitoringInfo: + type: object + properties: + qosMonitoringInd: + type: boolean + default: false + + IpAddress: + type: object + oneOf: + - required: + - ipv4Addr + - required: + - ipv6Addr + - required: + - ipv6Prefix + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + + RedundantPduSessionInformation: + description: Redundant PDU Session Information + type: object + properties: + rsn: + $ref: '#/components/schemas/Rsn' + required: + - rsn + + QosFlowTunnel: + description: Tunnel Information per QoS Flow + type: object + properties: + qfiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + minItems: 1 + tunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + required: + - qfiList + - tunnelInfo + + +# +# SIMPLE DATA TYPES +# + ProcedureTransactionId: + type: integer + minimum: 0 + maximum: 255 + + EpsBearerId: + type: integer + minimum: 0 + maximum: 15 + + EpsPdnCnxContainer: + type: string + + EpsBearerContainer: + type: string + + Teid: + type: string + pattern: '^[A-Fa-f0-9]{8}$' + + EpsBearerContextStatus: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + + DrbId: + type: integer + minimum: 1 + maximum: 32 + + AdditionalTnlNb: + type: integer + minimum: 1 + maximum: 3 + + ForwardingBearerContainer: + type: string + +# +# ENUMERATIONS +# + UpCnxState: + anyOf: + - type: string + enum: + - ACTIVATED + - DEACTIVATED + - ACTIVATING + - SUSPENDED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - ACTIVATED + - DEACTIVATED + - ACTIVATING + - SUSPENDED + + HoState: + anyOf: + - type: string + enum: + - NONE + - PREPARING + - PREPARED + - COMPLETED + - CANCELLED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - NONE + - PREPARING + - PREPARED + - COMPLETED + - CANCELLED + + RequestType: + anyOf: + - type: string + enum: + - INITIAL_REQUEST + - EXISTING_PDU_SESSION + - INITIAL_EMERGENCY_REQUEST + - EXISTING_EMERGENCY_PDU_SESSION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - INITIAL_REQUEST + - EXISTING_PDU_SESSION + - INITIAL_EMERGENCY_REQUEST + - EXISTING_EMERGENCY_PDU_SESSION + + RequestIndication: + anyOf: + - type: string + enum: + - UE_REQ_PDU_SES_MOD + - UE_REQ_PDU_SES_REL + - PDU_SES_MOB + - NW_REQ_PDU_SES_AUTH + - NW_REQ_PDU_SES_MOD + - NW_REQ_PDU_SES_REL + - EBI_ASSIGNMENT_REQ + - REL_DUE_TO_5G_AN_REQUEST + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UE_REQ_PDU_SES_MOD + - UE_REQ_PDU_SES_REL + - PDU_SES_MOB + - NW_REQ_PDU_SES_AUTH + - NW_REQ_PDU_SES_MOD + - NW_REQ_PDU_SES_REL + - EBI_ASSIGNMENT_REQ + - REL_DUE_TO_5G_AN_REQUEST + + NotificationCause: + anyOf: + - type: string + enum: + - QOS_FULFILLED + - QOS_NOT_FULFILLED + - UP_SEC_FULFILLED + - UP_SEC_NOT_FULFILLED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - QOS_FULFILLED + - QOS_NOT_FULFILLED + - UP_SEC_FULFILLED + - UP_SEC_NOT_FULFILLED + + Cause: + anyOf: + - type: string + enum: + - REL_DUE_TO_HO + - EPS_FALLBACK + - REL_DUE_TO_UP_SEC + - DNN_CONGESTION + - S_NSSAI_CONGESTION + - REL_DUE_TO_REACTIVATION + - 5G_AN_NOT_RESPONDING + - REL_DUE_TO_SLICE_NOT_AVAILABLE + - REL_DUE_TO_DUPLICATE_SESSION_ID + - PDU_SESSION_STATUS_MISMATCH + - HO_FAILURE + - INSUFFICIENT_UP_RESOURCES + - PDU_SESSION_HANDED_OVER + - PDU_SESSION_RESUMED + - CN_ASSISTED_RAN_PARAMETER_TUNING + - ISMF_CONTEXT_TRANSFER + - SMF_CONTEXT_TRANSFER + - REL_DUE_TO_PS_TO_CS_HO + - REL_DUE_TO_SUBSCRIPTION_CHANGE + - HO_CANCEL + - REL_DUE_TO_SLICE_NOT_AUTHORIZED + - PDU_SESSION_HAND_OVER_FAILURE + - DDN_FAILURE_STATUS + - REL_DUE_TO_CP_ONLY_NOT_APPLICABLE + - NOT_SUPPORTED_WITH_ISMF + - CHANGED_ANCHOR_SMF + - CHANGED_INTERMEDIATE_SMF + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - REL_DUE_TO_HO + - EPS_FALLBACK + - REL_DUE_TO_UP_SEC + - DNN_CONGESTION + - S_NSSAI_CONGESTION + - REL_DUE_TO_REACTIVATION + - 5G_AN_NOT_RESPONDING + - REL_DUE_TO_SLICE_NOT_AVAILABLE + - REL_DUE_TO_DUPLICATE_SESSION_ID + - PDU_SESSION_STATUS_MISMATCH + - HO_FAILURE + - INSUFFICIENT_UP_RESOURCES + - PDU_SESSION_HANDED_OVER + - PDU_SESSION_RESUMED + - CN_ASSISTED_RAN_PARAMETER_TUNING + - ISMF_CONTEXT_TRANSFER + - SMF_CONTEXT_TRANSFER + - REL_DUE_TO_PS_TO_CS_HO + - REL_DUE_TO_SUBSCRIPTION_CHANGE + - HO_CANCEL + - REL_DUE_TO_SLICE_NOT_AUTHORIZED + - PDU_SESSION_HAND_OVER_FAILURE + - DDN_FAILURE_STATUS + - REL_DUE_TO_CP_ONLY_NOT_APPLICABLE + - NOT_SUPPORTED_WITH_ISMF + - CHANGED_ANCHOR_SMF + - CHANGED_INTERMEDIATE_SMF + + ResourceStatus: + anyOf: + - type: string + enum: + - RELEASED + - UNCHANGED + - TRANSFERRED + - UPDATED + - ALT_ANCHOR_SMF + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - RELEASED + - UNCHANGED + - TRANSFERRED + - UPDATED + - ALT_ANCHOR_SMF + + DnnSelectionMode: + anyOf: + - type: string + enum: + - VERIFIED + - UE_DNN_NOT_VERIFIED + - NW_DNN_NOT_VERIFIED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - VERIFIED + - UE_DNN_NOT_VERIFIED + - NW_DNN_NOT_VERIFIED + + EpsInterworkingIndication: + anyOf: + - type: string + enum: + - NONE + - WITH_N26 + - WITHOUT_N26 + - IWK_NON_3GPP + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - NONE + - WITH_N26 + - WITHOUT_N26 + - IWK_NON_3GPP + + N2SmInfoType: + anyOf: + - type: string + enum: + - PDU_RES_SETUP_REQ + - PDU_RES_SETUP_RSP + - PDU_RES_SETUP_FAIL + - PDU_RES_REL_CMD + - PDU_RES_REL_RSP + - PDU_RES_MOD_REQ + - PDU_RES_MOD_RSP + - PDU_RES_MOD_FAIL + - PDU_RES_NTY + - PDU_RES_NTY_REL + - PDU_RES_MOD_IND + - PDU_RES_MOD_CFM + - PATH_SWITCH_REQ + - PATH_SWITCH_SETUP_FAIL + - PATH_SWITCH_REQ_ACK + - PATH_SWITCH_REQ_FAIL + - HANDOVER_REQUIRED + - HANDOVER_CMD + - HANDOVER_PREP_FAIL + - HANDOVER_REQ_ACK + - HANDOVER_RES_ALLOC_FAIL + - SECONDARY_RAT_USAGE + - PDU_RES_MOD_IND_FAIL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - PDU_RES_SETUP_REQ + - PDU_RES_SETUP_RSP + - PDU_RES_SETUP_FAIL + - PDU_RES_REL_CMD + - PDU_RES_REL_RSP + - PDU_RES_MOD_REQ + - PDU_RES_MOD_RSP + - PDU_RES_MOD_FAIL + - PDU_RES_NTY + - PDU_RES_NTY_REL + - PDU_RES_MOD_IND + - PDU_RES_MOD_CFM + - PATH_SWITCH_REQ + - PATH_SWITCH_SETUP_FAIL + - PATH_SWITCH_REQ_ACK + - PATH_SWITCH_REQ_FAIL + - HANDOVER_REQUIRED + - HANDOVER_CMD + - HANDOVER_PREP_FAIL + - HANDOVER_REQ_ACK + - HANDOVER_RES_ALLOC_FAIL + - SECONDARY_RAT_USAGE + - PDU_RES_MOD_IND_FAIL + + MaxIntegrityProtectedDataRate: + anyOf: + - type: string + enum: + - 64_KBPS + - MAX_UE_RATE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - 64_KBPS + - MAX_UE_RATE + + MaReleaseIndication: + anyOf: + - type: string + enum: + - REL_MAPDU_OVER_3GPP + - REL_MAPDU_OVER_N3GPP + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - REL_MAPDU_OVER_3GPP + - REL_MAPDU_OVER_N3GPP + + SmContextType: + anyOf: + - type: string + enum: + - EPS_PDN_CONNECTION + - SM_CONTEXT + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - EPS_PDN_CONNECTION + - SM_CONTEXT + + PsaIndication: + anyOf: + - type: string + enum: + - PSA_INSERTED + - PSA_REMOVED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - PSA_INSERTED + - PSA_REMOVED + + N4MessageType: + anyOf: + - type: string + enum: + - PFCP_SES_EST_REQ + - PFCP_SES_EST_RSP + - PFCP_SES_MOD_REQ + - PFCP_SES_MOD_RSP + - PFCP_SES_DEL_REQ + - PFCP_SES_DEL_RSP + - PFCP_SES_REP_REQ + - PFCP_SES_REP_RSP + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - PFCP_SES_EST_REQ + - PFCP_SES_EST_RSP + - PFCP_SES_MOD_REQ + - PFCP_SES_MOD_RSP + - PFCP_SES_DEL_REQ + - PFCP_SES_DEL_RSP + - PFCP_SES_REP_REQ + - PFCP_SES_REP_RSP + + QosFlowAccessType: + anyOf: + - type: string + enum: + - 3GPP + - NON_3GPP + - 3GPP_AND_NON_3GPP + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - 3GPP + - NON_3GPP + - 3GPP_AND_NON_3GPP + + UnavailableAccessIndication: + anyOf: + - type: string + enum: + - 3GA_UNAVAILABLE + - N3GA_UNAVAILABLE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - 3GA_UNAVAILABLE + - N3GA_UNAVAILABLE + + ProtectionResult: + anyOf: + - type: string + enum: + - PERFORMED + - NOT_PERFORMED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - PERFORMED + - NOT_PERFORMED + + QosMonitoringReq: + anyOf: + - type: string + enum: + - UL + - DL + - BOTH + - NONE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UL + - DL + - BOTH + - NONE + + Rsn: + anyOf: + - type: string + enum: + - V1 + - V2 + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Redundancy Sequence Number. Possible values are + - V1 + - V2 + + +# +# HTTP request bodies +# + requestBodies: + 'VsmfUpdateRequestBody': + description: representation of updates to apply to the PDU session + required: true + content: + application/+json: # message without binary body part + schema: + $ref: '#/components/schemas/VsmfUpdateData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/VsmfUpdateData' + binaryDataN1SmInfoToUe: + type: string + format: binary + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoToUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + + 'NotifyStatusRequestBody': + description: representation of the status notification + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/StatusNotification' + +# +# HTTP responses +# + responses: + 'VsmfUpdateResponse200': + description: successful update of a PDU session with content in the response + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/VsmfUpdatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/VsmfUpdatedData' + binaryDataN1SmInfoFromUe: + type: string + format: binary + binaryDataUnknownN1SmInfo: + type: string + format: binary + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoFromUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataUnknownN1SmInfo: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + + 'PduSessionCreateError': + description: unsuccessful creation of a PDU session + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/PduSessionCreateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/PduSessionCreateError' + binaryDataN1SmInfoToUe: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoToUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + + 'HsmfUpdateError': + description: unsuccessful update of a PDU session + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/HsmfUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/HsmfUpdateError' + binaryDataN1SmInfoToUe: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoToUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + + 'VsmfUpdateError': + description: unsuccessful update of a PDU session + content: + application/json: # message without binary body part + schema: + $ref: '#/components/schemas/VsmfUpdateError' + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/VsmfUpdateError' + binaryDataN1SmInfoFromUe: + type: string + format: binary + binaryDataUnknownN1SmInfo: + type: string + format: binary + binaryDataN4Information: + type: string + format: binary + binaryDataN4InformationExt1: + type: string + format: binary + binaryDataN4InformationExt2: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1SmInfoFromUe: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataUnknownN1SmInfo: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN4Information: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt1: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + binaryDataN4InformationExt2: + contentType: application/vnd.3gpp.pfcp + headers: + Content-Id: + schema: + type: string + + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '413': + description: Payload Too Large + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '415': + description: Unsupported Media Type + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '429': + description: Too Many Requests + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_EE.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_EE.yaml new file mode 100644 index 000000000..58846e748 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_EE.yaml @@ -0,0 +1,498 @@ +openapi: 3.0.0 + +info: + version: '1.1.1' + title: 'Nudm_EE' + description: | + Nudm Event Exposure Service. + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.6.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-ee/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-ee + - {} + +paths: + /{ueIdentity}/ee-subscriptions: + post: + summary: Subscribe + operationId: CreateEeSubscription + tags: + - Create EE Subscription + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the subscription is applied. Contains the GPSI of the user or the external group ID or any UE. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+|anyUE)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedEeSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-ee/v1/{ueIdentity}/ee-subscriptions/{subscriptionId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + eventOccurrenceNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MonitoringReport' + minItems: 1 + responses: + '204': + description: Successful Notification response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueIdentity}/ee-subscriptions/{subscriptionId}: + delete: + summary: Unsubscribe + operationId: DeleteEeSubscription + tags: + - Delete EE Subscription + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the subscription is applied. Contains the GPSI of the user or the external group ID or any UE. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+|anyUE)$' + - name: subscriptionId + in: path + description: Id of the EE Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: Patch + operationId: UpdateEeSubscription + tags: + - Update EE Subscription + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the subscription is applied. Contains the GPSI of the user or the external group ID or any UE. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+|anyUE)$' + - name: subscriptionId + in: path + description: Id of the EE Subscription + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Successful response + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-ee: Access to the nudm-ee API + + + schemas: + +# COMPLEX TYPES: + + CreatedEeSubscription: + type: object + required: + - eeSubscription + properties: + eeSubscription: + $ref: '#/components/schemas/EeSubscription' + numberOfUes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + eventReports: + type: array + items: + $ref: '#/components/schemas/MonitoringReport' + minItems: 1 + epcStatusInd: + type: boolean + + EeSubscription: + type: object + required: + - callbackReference + - monitoringConfigurations + properties: + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoringConfigurations: + description: A map (list of key-value pairs where ReferenceId serves as key) of MonitoringConfigurations + type: object + additionalProperties: + $ref: '#/components/schemas/MonitoringConfiguration' + minProperties: 1 + reportingOptions: + $ref: '#/components/schemas/ReportingOptions' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + subscriptionId: + type: string + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + epcAppliedInd: + type: boolean + default: false + scefDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + scefDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + notifyCorrelationId: + type: string + + + MonitoringConfiguration: + type: object + required: + - eventType + properties: + eventType: + $ref: '#/components/schemas/EventType' + immediateFlag: + type: boolean + locationReportingConfiguration: + $ref: '#/components/schemas/LocationReportingConfiguration' + associationType: + $ref: '#/components/schemas/AssociationType' + datalinkReportCfg: + $ref: '#/components/schemas/DatalinkReportingConfiguration' + lossConnectivityCfg: + $ref: '#/components/schemas/LossConnectivityCfg' + maximumLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + maximumResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + suggestedPacketNumDl: + type: integer + minimum: 1 + pduSessionStatusCfg: + $ref: '#/components/schemas/PduSessionStatusCfg' + reachabilityForSmsCfg: + $ref: '#/components/schemas/ReachabilityForSmsConfiguration' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + afId: + type: string + + + LossConnectivityCfg: + type: object + properties: + maxDetectionTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + LocationReportingConfiguration: + type: object + required: + - currentLocation + properties: + currentLocation: + type: boolean + oneTime: + type: boolean + accuracy: + $ref: '#/components/schemas/LocationAccuracy' + n3gppAccuracy: + $ref: '#/components/schemas/LocationAccuracy' + + ReportingOptions: + type: object + properties: + reportMode: + $ref: '#/components/schemas/EventReportMode' + maxNumOfReports: + $ref: '#/components/schemas/MaxNumOfReports' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + samplingRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + guardTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + reportPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + MonitoringReport: + type: object + required: + - referenceId + - eventType + - timeStamp + properties: + referenceId: + $ref: '#/components/schemas/ReferenceId' + eventType: + $ref: '#/components/schemas/EventType' + report: + $ref: '#/components/schemas/Report' + reachabilityForSmsReport: + $ref: '#/components/schemas/ReachabilityForSmsReport' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + Report: + oneOf: + - $ref: '#/components/schemas/ChangeOfSupiPeiAssociationReport' + - $ref: '#/components/schemas/RoamingStatusReport' + - $ref: '#/components/schemas/CnTypeChangeReport' + - $ref: '#/components/schemas/CmInfoReport' + + ReachabilityForSmsReport: + type: object + required: + - smsfAccessType + properties: + smsfAccessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + maxAvailabilityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ChangeOfSupiPeiAssociationReport: + type: object + required: + - newPei + properties: + newPei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + + RoamingStatusReport: + type: object + required: + - roaming + - newServingPlmn + properties: + roaming: + type: + boolean + newServingPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + + CnTypeChangeReport: + type: object + required: + - newCnType + properties: + newCnType: + $ref: '#/components/schemas/CnType' + oldCnType: + $ref: '#/components/schemas/CnType' + + DatalinkReportingConfiguration: + type: object + properties: + dddTrafficDes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + slice: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dddStatusList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + + CmInfoReport: + type: object + properties: + oldCmInfoList: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmInfo' + minItems: 1 + maxItems: 2 + newCmInfoList: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmInfo' + minItems: 1 + maxItems: 2 + required: + - newCmInfoList + + PduSessionStatusCfg: + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + +# SIMPLE TYPES: + + ReferenceId: + type: integer + + MaxNumOfReports: + type: integer + + +# ENUMS: + + ReachabilityForSmsConfiguration: + anyOf: + - type: string + enum: + - REACHABILITY_FOR_SMS_OVER_NAS + - REACHABILITY_FOR_SMS_OVER_IP + - type: string + + EventType: + anyOf: + - type: string + enum: + - LOSS_OF_CONNECTIVITY + - UE_REACHABILITY_FOR_DATA + - UE_REACHABILITY_FOR_SMS + - LOCATION_REPORTING + - CHANGE_OF_SUPI_PEI_ASSOCIATION + - ROAMING_STATUS + - COMMUNICATION_FAILURE + - AVAILABILITY_AFTER_DDN_FAILURE + - CN_TYPE_CHANGE + - DL_DATA_DELIVERY_STATUS + - PDN_CONNECTIVITY_STATUS + - UE_CONNECTION_MANAGEMENT_STATE + - type: string + + LocationAccuracy: + anyOf: + - type: string + enum: + - CELL_LEVEL + - TA_LEVEL + - N3IWF_LEVEL + - UE_IP + - UE_PORT + - type: string + + CnType: + anyOf: + - type: string + enum: + - SINGLE_4G + - SINGLE_5G + - DUAL_4G5G + - type: string + + AssociationType: + anyOf: + - type: string + enum: + - IMEI_CHANGE + - IMEISV_CHANGE + - type: string + + EventReportMode: + anyOf: + - type: string + enum: + - PERIODIC + - ON_EVENT_DETECTION + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_MT.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_MT.yaml new file mode 100644 index 000000000..251ef87c7 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_MT.yaml @@ -0,0 +1,205 @@ +openapi: 3.0.0 +info: + version: '1.0.1' + title: 'Nudm_MT' + description: | + UDM MT Service. + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.5.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-mt/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-mt + - {} + +paths: + /{supi}: + get: + summary: Query Information for the UE + operationId: QueryUeInfo + tags: + - Query UE Info + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: fields + in: query + description: attributes to be retrieved + required: true + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UeInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/loc-info/provide-loc-info: + post: + summary: Provides the UE's 5GS location information + operationId: ProvideLocationInfo + tags: + - Provide UE Location + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LocationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LocationInfoResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-mt: Access to the nudm-mt API + + + schemas: + +# COMPLEX TYPES: + + UeInfo: + type: object + properties: + tadsInfo: + $ref: 'TS29518_Namf_MT.yaml#/components/schemas/UeContextInfo' + userState: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/5GsUserState' + 5gSrvccInfo: + $ref: '#/components/schemas/5GSrvccInfo' + + 5GSrvccInfo: + type: object + required: + - ue5GSrvccCapability + properties: + ue5GSrvccCapability: + type: boolean + stnSr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StnSr' + cMsisdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CMsisdn' + + LocationInfoRequest: + type: object + properties: + req5gsLoc: + type: boolean + default: false + reqCurrentLoc: + type: boolean + default: false + reqRatType: + type: boolean + default: false + reqTimeZone: + type: boolean + default: false + reqServingNode: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + LocationInfoResult: + type: object + properties: + vPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smsfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + currentLoc: + type: boolean + geoInfo: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + locatoinAge: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + timezone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + +# SIMPLE TYPES: + + +# ENUMS: + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_NIDDAU.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_NIDDAU.yaml new file mode 100644 index 000000000..2ea7b62ff --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_NIDDAU.yaml @@ -0,0 +1,172 @@ +openapi: 3.0.0 + +info: + version: '1.0.2' + title: 'Nudm_NIDDAU' + description: | + Nudm NIDD Authorization Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.8.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-niddau/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-niddau + - {} + +paths: + /{ueIdentity}/authorize: + post: + summary: Authorize the NIDD configuration request. + operationId: AuthorizeNiddData + tags: + - Authorize the NIDD configuration request + parameters: + - name: ueIdentity + in: path + description: Represents the scope of the UE for which the NIDD configuration are authorized. Contains the GPSI of the user or the external group ID. + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationInfo' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + niddAuthUpdateNotification: + '{request.body#/authUpdateCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddAuthUpdateNotification' + responses: + '204': + description: Expected response to a valid request + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-niddau: Access to the nudm-niddau API + + schemas: + +# COMPLEX TYPES: +# + AuthorizationData: + type: object + required: + - authorizationData + properties: + authorizationData: + type: array + items: + $ref: '#/components/schemas/UserIdentifier' + minItems: 1 + uniqueItems: true + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + UserIdentifier: + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + NiddAuthUpdateInfo: + type: object + required: + - authorizationData + properties: + authorizationData: + $ref: '#/components/schemas/AuthorizationData' + invalidityInd: + type: boolean + + NiddAuthUpdateNotification: + type: object + required: + - niddAuthUpdateInfoList + properties: + niddAuthUpdateInfoList: + type: array + items: + $ref: '#/components/schemas/NiddAuthUpdateInfo' + minItems: 1 + + AuthorizationInfo: + type: object + required: + - snssai + - dnn + - mtcProviderInformation + - authUpdateCallbackUri + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + authUpdateCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + afId: + type: string + nefId: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefId' + + +# SIMPLE TYPES: + + + +# ENUMS: + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_PP.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_PP.yaml new file mode 100644 index 000000000..f5762fc6b --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_PP.yaml @@ -0,0 +1,551 @@ +openapi: 3.0.0 + +info: + version: '1.1.3' + title: 'Nudm_PP' + description: | + Nudm Parameter Provision Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.8.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-pp + - {} + +paths: + /{ueId}/pp-data: + patch: + summary: provision parameters + operationId: Update + tags: + - Subscription Data Update + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PpData' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /5g-vn-groups/{extGroupId}: + put: + summary: create a 5G VN Group + operationId: Create 5G VN Group + tags: + - 5G VN Group Creation + parameters: + - name: extGroupId + in: path + description: External Identifier of the Group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/5GVnGroupConfiguration' + required: true + responses: + '201': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete a 5G VN Group + operationId: Delete 5G VN Group + tags: + - 5G VN Group Deletion + parameters: + - name: extGroupId + in: path + description: External Identifier of the Group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: mtc-provider-info + in: query + description: MTC Provider Information that originated the service operation + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + - name: af-id + in: query + description: AF ID that originated the service operation + schema: + type: string + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: modify a 5G VN Group + operationId: Modify 5G VN Group + tags: + - 5G VN Group Modification + parameters: + - name: extGroupId + in: path + description: External Identifier of the group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/5GVnGroupConfiguration' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: get 5G VN Group + operationId: Get 5G VN Group + tags: + - 5G VN Group Modification + parameters: + - name: extGroupId + in: path + description: External Identifier of the group + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/5GVnGroupConfiguration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-pp: Access to the nudm-pp API + + + schemas: + +# COMPLEX TYPES: + + PpData: + type: object + properties: + communicationCharacteristics: + $ref: '#/components/schemas/CommunicationCharacteristics' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + expectedUeBehaviourParameters: + $ref: '#/components/schemas/ExpectedUeBehaviour' + ecRestriction: + $ref: '#/components/schemas/EcRestriction' + acsInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AcsInfoRm' + stnSr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StnSrRm' + lcsPrivacy: + $ref: '#/components/schemas/LcsPrivacy' + sorInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SorInfo' + + CommunicationCharacteristics: + type: object + properties: + ppSubsRegTimer: + $ref: '#/components/schemas/PpSubsRegTimer' + ppActiveTime: + $ref: '#/components/schemas/PpActiveTime' + ppDlPacketCount: + $ref: '#/components/schemas/PpDlPacketCount' + ppDlPacketCountExt: + $ref: '#/components/schemas/PpDlPacketCountExt' + ppMaximumResponseTime: + $ref: '#/components/schemas/PpMaximumResponseTime' + ppMaximumLatency: + $ref: '#/components/schemas/PpMaximumLatency' + + + PpSubsRegTimer: + type: object + required: + - subsRegTimer + - afInstanceId + - referenceId + properties: + subsRegTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + PpActiveTime: + type: object + required: + - activeTime + - afInstanceId + - referenceId + properties: + activeTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + 5GVnGroupConfiguration: + type: object + properties: + 5gVnGroupData: + $ref: '#/components/schemas/5GVnGroupData' + members: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + referenceId: + $ref: '#/components/schemas/ReferenceId' + afInstanceId: + type: string + internalGroupIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + + 5GVnGroupData: + type: object + required: + - dnn + - sNssai + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + pduSessionTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + appDescriptors: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AppDescriptor' + minItems: 1 + secondaryAuth: + type: boolean + dnAaaAddress: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/IpAddress' + + ExpectedUeBehaviour: + type: object + required: + - afInstanceId + - referenceId + properties: + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + stationaryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StationaryIndicationRm' + communicationDurationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + scheduledCommunicationType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTypeRm' + periodicTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + scheduledCommunicationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTimeRm' + expectedUmts: + type: array + items: + $ref: '#/components/schemas/LocationArea' + minItems: 1 + nullable: true + description: Identifies the UE's expected geographical movement. The attribute is only applicable in 5G. + trafficProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficProfileRm' + batteryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BatteryIndicationRm' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + + LocationArea: + type: object + properties: + geographicAreas: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 0 + description: Identifies a list of geographic area of the user where the UE is located. + civicAddresses: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + minItems: 0 + description: Identifies a list of civic addresses of the user where the UE is located. + nwAreaInfo: + $ref: '#/components/schemas/NetworkAreaInfo' + + NetworkAreaInfo: + description: Describes a network area information in which the NF service consumer requests the number of UEs. + type: object + properties: + ecgis: + description: Contains a list of E-UTRA cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + minItems: 1 + ncgis: + description: Contains a list of NR cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + minItems: 1 + gRanNodeIds: + description: Contains a list of NG RAN nodes. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + tais: + description: Contains a list of tracking area identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + + EcRestriction: + type: object + required: + - afInstanceId + - referenceId + properties: + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + plmnEcInfos: + type: array + items: + $ref: '#/components/schemas/PlmnEcInfo' + minItems: 1 + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + + PlmnEcInfo: + type: object + required: + - plmnId + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + ecRestrictionDataWb: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/EcRestrictionDataWb' + ecRestrictionDataNb: + type: boolean + default: false + + + PpDlPacketCountExt: + type: object + required: + - afInstanceId + - referenceId + properties: + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + PpMaximumResponseTime: + type: object + required: + - maximumResponseTime + - afInstanceId + - referenceId + properties: + maximumResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + PpMaximumLatency: + type: object + required: + - maximumLatency + - afInstanceId + - referenceId + properties: + maximumLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + nullable: true + + LcsPrivacy: + type: object + properties: + afInstanceId: + type: string + referenceId: + $ref: '#/components/schemas/ReferenceId' + lpi: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/Lpi' + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + + +# SIMPLE TYPES: + + ReferenceId: + type: integer + + PpDlPacketCount: + type: integer + nullable: true + + + +# ENUMS: + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_SDM.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_SDM.yaml new file mode 100644 index 000000000..1684a9ef4 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_SDM.yaml @@ -0,0 +1,2888 @@ +openapi: 3.0.0 + +info: + version: '2.1.4' + title: 'Nudm_SDM' + description: | + Nudm Subscriber Data Management Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.8.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-sdm/v2' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-sdm + - {} + +paths: + /{supi}: + get: + summary: retrieve multiple data sets + operationId: GetDataSets + tags: + - Retrieval of multiple data sets + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: dataset-names + in: query + style: form + explode: false + description: List of dataset names + required: true + schema: + $ref: '#/components/schemas/DatasetNames' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionDataSets' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/nssai: + get: + summary: retrieve a UE's subscribed NSSAI + operationId: GetNSSAI + tags: + - Slice Selection Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Nssai' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/ue-context-in-amf-data: + get: + summary: retrieve a UE's UE Context In AMF Data + operationId: GetUeCtxInAmfData + tags: + - UE Context In AMF Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextInAmfData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data: + get: + summary: retrieve a UE's Access and Mobility Subscription Data + operationId: GetAmData + tags: + - Access and Mobility Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/ecr-data: + get: + summary: retrieve a UE's subscribed Enhanced Coverage Restriction Data + operationId: GetEcrData + tags: + - Enhanced Coverage Restriction Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EnhancedCoverageRestrictionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/smf-select-data: + get: + summary: retrieve a UE's SMF Selection Subscription Data + operationId: GetSmfSelData + tags: + - SMF Selection Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSelectionSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/ue-context-in-smf-data: + get: + summary: retrieve a UE's UE Context In SMF Data + operationId: GetUeCtxInSmfData + tags: + - UE Context In SMF Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextInSmfData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/ue-context-in-smsf-data: + get: + summary: retrieve a UE's UE Context In SMSF Data + operationId: GetUeCtxInSmsfData + tags: + - UE Context In SMSF Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextInSmsfData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/trace-data: + get: + summary: retrieve a UE's Trace Configuration Data + operationId: GetTraceConfigData + tags: + - Trace Configuration Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/TraceDataResponse' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/sm-data: + get: + summary: retrieve a UE's Session Management Subscription Data + operationId: GetSmData + tags: + - Session Management Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: plmn-id + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SessionManagementSubscriptionData' + minItems: 1 + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/sms-data: + get: + summary: retrieve a UE's SMS Subscription Data + operationId: GetSmsData + tags: + - SMS Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/sms-mng-data: + get: + summary: retrieve a UE's SMS Management Subscription Data + operationId: GetSmsMngtData + tags: + - SMS Management Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{ueId}/lcs-privacy-data: + get: + summary: retrieve a UE's LCS Privacy Subscription Data + operationId: GetLcsPrivacyData + tags: + - LCS Privacy Data Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsPrivacyData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/lcs-mo-data: + get: + summary: retrieve a UE's LCS Mobile Originated Subscription Data + operationId: GetLcsMoData + tags: + - LCS Mobile Originated Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsMoData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/lcs-bca-data: + get: + summary: retrieve a UE's LCS Broadcast Assistance Data Types Subscription Data + operationId: GetLcsBcaData + tags: + - LCS Broadcast Assistance Data Types Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsBroadcastAssistanceTypesData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/v2x-data: + get: + summary: retrieve a UE's V2X Subscription Data + operationId: GetV2xData + tags: + - V2X Subscription Data Retrieval + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/V2xSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/sdm-subscriptions: + post: + summary: subscribe to notifications + operationId: Subscribe + tags: + - Subscription Creation + parameters: + - name: ueId + in: path + description: Identity of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-sdm//{supi}/sdm-subscriptions/{subscriptionId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + datachangeNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ModificationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{ueId}/sdm-subscriptions/{subscriptionId}: + delete: + summary: unsubscribe from notifications + operationId: Unsubscribe + tags: + - Subscription Deletion + parameters: + - name: ueId + in: path + description: Identity of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subscriptionId + in: path + description: Id of the SDM Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: modify the subscription + operationId: Modify + tags: + - Subscription Modification + parameters: + - name: ueId + in: path + description: Identity of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subscriptionId + in: path + description: Id of the SDM Subscription + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SdmSubsModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/SdmSubscription' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{ueId}/id-translation-result: + get: + summary: retrieve a UE's SUPI or GPSI + operationId: GetSupiOrGpsi + tags: + - GPSI to SUPI Translation + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: app-port-id + in: query + description: Application port identifier + content: + application/json: + schema: + $ref: '#/components/schemas/AppPortId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/IdTranslationResult' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/sor-ack: + put: + summary: Nudm_Sdm Info service operation + operationId: SorAckInfo + tags: + - Providing acknowledgement of Steering of Roaming + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AcknowledgeInfo' + responses: + '204': + description: Successful acknowledgement + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/upu-ack: + put: + summary: Nudm_Sdm Info for UPU service operation + operationId: UpuAck + tags: + - Providing acknowledgement of UE Parameters Update + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AcknowledgeInfo' + responses: + '204': + description: Successful acknowledgement + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/subscribed-snssais-ack: + put: + summary: Nudm_Sdm Info operation for S-NSSAIs acknowledgement + operationId: S-NSSAIs Ack + tags: + - Providing acknowledgement of S-NSSAIs Update + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AcknowledgeInfo' + responses: + '204': + description: Successful acknowledgement + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/cag-ack: + put: + summary: Nudm_Sdm Info operation for CAG acknowledgement + operationId: CAG Ack + tags: + - Providing acknowledgement of CAG Update + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AcknowledgeInfo' + responses: + '204': + description: Successful acknowledgement + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /{supi}/am-data/update-sor: + post: + summary: Nudm_Sdm custom operation to trigger SOR info update + operationId: Update SOR Info + tags: + - Trigger SOR info update + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SorUpdateInfo' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SorInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /shared-data: + get: + summary: retrieve shared data + operationId: GetSharedData + tags: + - Retrieval of shared data + parameters: + - name: shared-data-ids + in: query + description: List of shared data ids + required: true + style: form + explode: false + schema: + $ref: '#/components/schemas/SharedDataIds' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SharedData' + minItems: 1 + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /shared-data-subscriptions: + post: + summary: subscribe to notifications for shared data + operationId: SubscribeToSharedData + tags: + - Subscription Creation for shared data + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-sdm//shared-data-subscriptions/{subscriptionId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + description: Unexpected error + callbacks: + datachangeNotification: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ModificationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /shared-data-subscriptions/{subscriptionId}: + delete: + summary: unsubscribe from notifications for shared data + operationId: UnsubscribeForSharedData + tags: + - Subscription Deletion for shared data + parameters: + - name: subscriptionId + in: path + description: Id of the Shared data Subscription + required: true + schema: + type: string + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: modify the subscription + operationId: ModifySharedDataSubs + tags: + - Subscription Modification + parameters: + - name: subscriptionId + in: path + description: Id of the SDM Subscription + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SdmSubsModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/SdmSubscription' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /group-data/group-identifiers: + get: + summary: Mapping of Group Identifiers + operationId: GetGroupIdentifiers + tags: + - Group Identifiers + parameters: + - name: ext-group-id + in: query + description: External Group Identifier + required: false + schema: + $ref: '#/components/schemas/ExtGroupId' + - name: int-group-id + in: query + description: Internal Group Identifier + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: ue-id-ind + in: query + description: Indication whether UE identifiers are required or not + required: false + schema: + type: boolean + default: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/GroupIdentifiers' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-sdm: Access to the nudm-sdm API + + schemas: + +# COMPLEX TYPES: + + DatasetNames: + type: array + items: + $ref: '#/components/schemas/DataSetName' + minItems: 2 + uniqueItems: true + + SubscriptionDataSets: + type: object + properties: + amData: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + smfSelData: + $ref: '#/components/schemas/SmfSelectionSubscriptionData' + uecAmfData: + $ref: '#/components/schemas/UeContextInAmfData' + uecSmfData: + $ref: '#/components/schemas/UeContextInSmfData' + uecSmsfData: + $ref: '#/components/schemas/UeContextInSmsfData' + smsSubsData: + $ref: '#/components/schemas/SmsSubscriptionData' + smData: + type: array + items: + $ref: '#/components/schemas/SessionManagementSubscriptionData' + minItems: 1 + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + smsMngData: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + lcsPrivacyData: + $ref: '#/components/schemas/LcsPrivacyData' + lcsMoData: + $ref: '#/components/schemas/LcsMoData' + v2xData: + $ref: '#/components/schemas/V2xSubscriptionData' + lcsBroadcastAssistanceTypesData: + $ref: '#/components/schemas/LcsBroadcastAssistanceTypesData' + + UeContextInSmsfData: + type: object + properties: + smsfInfo3GppAccess: + $ref: '#/components/schemas/SmsfInfo' + smsfInfoNon3GppAccess: + $ref: '#/components/schemas/SmsfInfo' + + SmsfInfo: + type: object + required: + - smsfInstanceId + - plmnId + properties: + smsfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + + AccessAndMobilitySubscriptionData: + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + internalGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + sharedVnGroupDataIds: + type: object + additionalProperties: + $ref: '#/components/schemas/SharedDataId' + minProperties: 1 + subscribedUeAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmbrRm' + nssai: + $ref: '#/components/schemas/Nssai' + ratRestrictions: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + forbiddenAreas: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Area' + serviceAreaRestriction: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + coreNetworkTypeRestrictions: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CoreNetworkType' + rfspIndex: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndexRm' + subsRegTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + ueUsageType: + $ref: '#/components/schemas/UeUsageType' + mpsPriority: + $ref: '#/components/schemas/MpsPriorityIndicator' + mcsPriority: + $ref: '#/components/schemas/McsPriorityIndicator' + activeTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + sorInfo: + $ref: '#/components/schemas/SorInfo' + sorInfoExpectInd: + type: boolean + sorafRetrieval: + type: boolean + default: false + sorUpdateIndicatorList: + type: array + items: + $ref: '#/components/schemas/SorUpdateIndicator' + minItems: 1 + upuInfo: + $ref: '#/components/schemas/UpuInfo' + micoAllowed: + $ref: '#/components/schemas/MicoAllowed' + sharedAmDataIds: + type: array + items: + $ref: '#/components/schemas/SharedDataId' + minItems: 1 + odbPacketServices: + $ref: 'TS29571_CommonData.yaml#/components/schemas/OdbPacketServices' + subscribedDnnList: + type: array + items: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' + serviceGapTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + mdtUserConsent: + $ref: '#/components/schemas/MdtUserConsent' + mdtConfiguration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MdtConfiguration' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + cagData: + $ref: '#/components/schemas/CagData' + stnSr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StnSr' + cMsisdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CMsisdn' + nbIoTUePriority: + $ref: '#/components/schemas/NbIoTUePriority' + nssaiInclusionAllowed: + type: boolean + default: false + rgWirelineCharacteristics: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RgWirelineCharacteristics' + ecRestrictionDataWb: + $ref: '#/components/schemas/EcRestrictionDataWb' + ecRestrictionDataNb: + type: boolean + default: false + expectedUeBehaviourList: + $ref: '#/components/schemas/ExpectedUeBehaviourData' + primaryRatRestrictions: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + secondaryRatRestrictions: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + edrxParametersList: + type: array + items: + $ref: '#/components/schemas/EdrxParameters' + minItems: 1 + ptwParametersList: + type: array + items: + $ref: '#/components/schemas/PtwParameters' + minItems: 1 + iabOperationAllowed: + type: boolean + default: false + wirelineForbiddenAreas: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineArea' + wirelineServiceAreaRestriction: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + + CagData: + type: object + required: + - cagInfos + properties: + cagInfos: + description: A map (list of key-value pairs where PlmnId serves as key) of CagInfo + type: object + additionalProperties: + $ref: '#/components/schemas/CagInfo' + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + CagInfo: + type: object + required: + - allowedCagList + properties: + allowedCagList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId' + cagOnlyIndicator: + type: boolean + + SmfSelectionSubscriptionData: + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + subscribedSnssaiInfos: + type: object + additionalProperties: + $ref: '#/components/schemas/SnssaiInfo' + sharedSnssaiInfosId: + $ref: '#/components/schemas/SharedDataId' + + SnssaiInfo: + type: object + required: + - dnnInfos + properties: + dnnInfos: + type: array + items: + $ref: '#/components/schemas/DnnInfo' + minItems: 1 + + DnnInfo: + type: object + required: + - dnn + properties: + dnn: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' + defaultDnnIndicator: + $ref: '#/components/schemas/DnnIndicator' + lboRoamingAllowed: + $ref: '#/components/schemas/LboRoamingAllowed' + iwkEpsInd: + $ref: '#/components/schemas/IwkEpsInd' + dnnBarred: + type: boolean + invokeNefInd: + type: boolean + smfList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + sameSmfInd: + type: boolean + + Nssai: + type: object + required: + - defaultSingleNssais + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + defaultSingleNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + singleNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + additionalSnssaiData: + type: object + additionalProperties: + $ref: '#/components/schemas/AdditionalSnssaiData' + minProperties: 1 + nullable: true + + UeContextInAmfData: + type: object + properties: + epsInterworkingInfo: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/EpsInterworkingInfo' + + UeContextInSmfData: + type: object + properties: + pduSessions: + description: A map (list of key-value pairs where PduSessionId serves as key) of PduSessions + type: object + additionalProperties: + $ref: '#/components/schemas/PduSession' + pgwInfo: + type: array + items: + $ref: '#/components/schemas/PgwInfo' + minItems: 1 + emergencyInfo: + $ref: '#/components/schemas/EmergencyInfo' + + EmergencyInfo: + type: object + oneOf: + - required: + - pgwFqdn + - required: + - pgwIpAddress + properties: + pgwFqdn: + type: string + pgwIpAddress: + $ref: '#/components/schemas/IpAddress' + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + epdgInd: + type: boolean + default: false + + + PduSession: + type: object + required: + - dnn + - smfInstanceId + - plmnId + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + PgwInfo: + type: object + required: + - dnn + - pgwFqdn + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + pgwFqdn: + type: string + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + epdgInd: + type: boolean + default: false + + SessionManagementSubscriptionData: + type: object + required: + - singleNssai + properties: + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnnConfigurations: + description: A map (list of key-value pairs where Dnn, or optionally the Wildcard DNN, serves as key) of DnnConfigurations + type: object + additionalProperties: + $ref: '#/components/schemas/DnnConfiguration' + internalGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + sharedVnGroupDataIds: + type: object + additionalProperties: + $ref: '#/components/schemas/SharedDataId' + minProperties: 1 + sharedDnnConfigurationsId: + $ref: '#/components/schemas/SharedDataId' + odbPacketServices: + $ref: 'TS29571_CommonData.yaml#/components/schemas/OdbPacketServices' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + sharedTraceDataId: + $ref: '#/components/schemas/SharedDataId' + expectedUeBehavioursList: + type: object + additionalProperties: + $ref: '#/components/schemas/ExpectedUeBehaviourData' + minProperties: 1 + suggestedPacketNumDlList: + type: object + additionalProperties: + $ref: '#/components/schemas/SuggestedPacketNumDl' + minProperties: 1 + 3gppChargingCharacteristics: + $ref: '#/components/schemas/3GppChargingCharacteristics' + + DnnConfiguration: + type: object + required: + - pduSessionTypes + - sscModes + properties: + pduSessionTypes: + $ref: '#/components/schemas/PduSessionTypes' + sscModes: + $ref: '#/components/schemas/SscModes' + iwkEpsInd: + $ref: '#/components/schemas/IwkEpsInd' + 5gQosProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos' + sessionAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + 3gppChargingCharacteristics: + $ref: '#/components/schemas/3GppChargingCharacteristics' + staticIpAddress: + type: array + items: + $ref: '#/components/schemas/IpAddress' + minItems: 1 + maxItems: 2 + upSecurity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UpSecurity' + pduSessionContinuityInd: + $ref: '#/components/schemas/PduSessionContinuityInd' + niddNefId: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefId' + niddInfo: + $ref: '#/components/schemas/NiddInformation' + redundantSessionAllowed: + type: boolean + acsInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AcsInfo' + ipv4FrameRouteList: + type: array + items: + $ref: '#/components/schemas/FrameRouteInfo' + minItems: 1 + ipv6FrameRouteList: + type: array + items: + $ref: '#/components/schemas/FrameRouteInfo' + minItems: 1 + atsssAllowed: + type: boolean + default: false + secondaryAuth: + type: boolean + dnAaaIpAddressAllocation: + type: boolean + dnAaaAddress: + $ref: '#/components/schemas/IpAddress' + iptvAccCtrlInfo: + type: string + + NiddInformation: + type: object + required: + - afId + properties: + afId: + type: string + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + extGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + + IpAddress: + type: object + oneOf: + - required: + - ipv4Addr + - required: + - ipv6Addr + - required: + - ipv6Prefix + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + + PduSessionTypes: + type: object + required: + - defaultSessionType + properties: + defaultSessionType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + allowedSessionTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + + SscModes: + type: object + required: + - defaultSscMode + properties: + defaultSscMode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + allowedSscModes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + minItems: 1 + maxItems: 2 + + SmsSubscriptionData: + type: object + properties: + smsSubscribed: + $ref: '#/components/schemas/SmsSubscribed' + sharedSmsSubsDataId: + $ref: '#/components/schemas/SharedDataId' + + SmsManagementSubscriptionData: + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + mtSmsSubscribed: + type: boolean + mtSmsBarringAll: + type: boolean + mtSmsBarringRoaming: + type: boolean + moSmsSubscribed: + type: boolean + moSmsBarringAll: + type: boolean + moSmsBarringRoaming: + type: boolean + sharedSmsMngDataIds: + type: array + items: + $ref: '#/components/schemas/SharedDataId' + minItems: 1 + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + + SdmSubscription: + type: object + required: + - nfInstanceId + - callbackReference + - monitoredResourceUris + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + implicitUnsubscribe: + type: boolean + expires: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + subscriptionId: + type: string + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + immediateReport: + type: boolean + default: false + report: + $ref: '#/components/schemas/SubscriptionDataSets' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + contextInfo: + $ref: '#/components/schemas/ContextInfo' + + SdmSubsModification: + type: object + properties: + expires: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + + ModificationNotification: + type: object + required: + - notifyItems + properties: + notifyItems: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotifyItem' + minItems: 1 + + IdTranslationResult: + type: object + required: + - supi + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + + AcknowledgeInfo: + type: object + required: + - provisioningTime + properties: + sorMacIue: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SorMac' + upuMacIue: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuMac' + securedPacket: + $ref: '#/components/schemas/SecuredPacket' + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueNotReachable: + type: boolean + default: false + + SorInfo: + type: object + properties: + steeringContainer: + $ref: '#/components/schemas/SteeringContainer' + ackInd: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/AckInd' + sorMacIausf: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SorMac' + countersor: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/CounterSor' + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - ackInd + - provisioningTime + + SharedDataIds: + type: array + items: + $ref: '#/components/schemas/SharedDataId' + minItems: 1 + uniqueItems: true + + UpuInfo: + type: object + properties: + upuDataList: + type: array + items: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuData' + minItems: 1 + upuRegInd: + $ref: '#/components/schemas/UpuRegInd' + upuAckInd: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuAckInd' + upuMacIausf: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuMac' + counterUpu: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/CounterUpu' + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - upuDataList + - upuAckInd + - upuRegInd + - provisioningTime + + + SharedData: + type: object + required: + - sharedDataId + properties: + sharedDataId: + $ref: '#/components/schemas/SharedDataId' + sharedAmData: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + sharedSmsSubsData: + $ref: '#/components/schemas/SmsSubscriptionData' + sharedSmsMngSubsData: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + sharedDnnConfigurations: + type: object + additionalProperties: + $ref: '#/components/schemas/DnnConfiguration' + sharedTraceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + sharedSnssaiInfos: + type: object + additionalProperties: + $ref: '#/components/schemas/SnssaiInfo' + sharedVnGroupDatas: + type: object + additionalProperties: + $ref: '#/components/schemas/VnGroupData' + minProperties: 1 + + TraceDataResponse: + type: object + properties: + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + sharedTraceDataId: + $ref: '#/components/schemas/SharedDataId' + + SteeringContainer: + oneOf: + - type: array + items: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SteeringInfo' + minItems: 1 + - $ref: '#/components/schemas/SecuredPacket' + + GroupIdentifiers: + type: object + properties: + extGroupId: + $ref: '#/components/schemas/ExtGroupId' + intGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + ueIdList: + type: array + items: + $ref: '#/components/schemas/UeId' + minItems: 1 + + VnGroupData: + type: object + properties: + pduSessionTypes: + $ref: '#/components/schemas/PduSessionTypes' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appDescriptors: + type: array + items: + $ref: '#/components/schemas/AppDescriptor' + minItems: 1 + + AppDescriptor: + type: object + properties: + osId: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/OsId' + appId: + type: string + + AdditionalSnssaiData: + type: object + properties: + requiredAuthnAuthz: + type: boolean + + AppPortId: + type: object + properties: + destinationPort: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + originatorPort: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + + LcsPrivacyData: + type: object + properties: + lpi: + $ref: '#/components/schemas/Lpi' + unrelatedClass: + $ref: '#/components/schemas/UnrelatedClass' + plmnOperatorClasses: + type: array + items: + $ref: '#/components/schemas/PlmnOperatorClass' + minItems: 1 + + Lpi: + type: object + required: + - locationPrivacyInd + properties: + locationPrivacyInd: + $ref: '#/components/schemas/LocationPrivacyInd' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + + UnrelatedClass: + type: object + required: + - defaultUnrelatedClass + properties: + defaultUnrelatedClass: + $ref: '#/components/schemas/DefaultUnrelatedClass' + externalUnrelatedClass: + $ref: '#/components/schemas/ExternalUnrelatedClass' + serviceTypeUnrelatedClasses: + type: array + items: + $ref: '#/components/schemas/ServiceTypeUnrelatedClass' + minItems: 1 + + PlmnOperatorClass: + type: object + required: + - lcsClientClass + - lcsClientIds + properties: + lcsClientClass: + $ref: '#/components/schemas/LcsClientClass' + lcsClientIds: + type: array + items: + $ref: '#/components/schemas/LcsClientId' + minItems: 1 + + ValidTimePeriod: + type: object + properties: + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + ExternalUnrelatedClass: + properties: + lcsClientExternals: + type: array + items: + $ref: '#/components/schemas/LcsClientExternal' + minItems: 1 + afExternals: + type: array + items: + $ref: '#/components/schemas/AfExternal' + minItems: 1 + lcsClientGroupExternals: + type: array + items: + $ref: '#/components/schemas/LcsClientGroupExternal' + minItems: 1 + + AfExternal: + type: object + properties: + afId: + $ref: '#/components/schemas/AfId' + allowedGeographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + privacyCheckRelatedAction: + $ref: '#/components/schemas/PrivacyCheckRelatedAction' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + + LcsClientExternal: + type: object + properties: + allowedGeographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + privacyCheckRelatedAction: + $ref: '#/components/schemas/PrivacyCheckRelatedAction' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + + LcsClientGroupExternal: + type: object + properties: + lcsClientGroupId: + $ref: '#/components/schemas/ExtGroupId' + allowedGeographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + privacyCheckRelatedAction: + $ref: '#/components/schemas/PrivacyCheckRelatedAction' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + + ServiceTypeUnrelatedClass: + type: object + required: + - serviceType + properties: + serviceType: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LcsServiceType' + allowedGeographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + privacyCheckRelatedAction: + $ref: '#/components/schemas/PrivacyCheckRelatedAction' + codeWordInd: + $ref: '#/components/schemas/CodeWordInd' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + codeWordList: + type: array + items: + $ref: '#/components/schemas/CodeWord' + minItems: 1 + + LcsMoData: + type: object + required: + - allowedServiceClasses + properties: + allowedServiceClasses: + type: array + items: + $ref: '#/components/schemas/LcsMoServiceClass' + minItems: 1 + + LcsBroadcastAssistanceTypesData: + type: object + required: + - locationAssistanceType + properties: + locationAssistanceType: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Binary' + minItems: 1 + + EcRestrictionDataWb: + type: object + anyOf: + - required: [ ecModeARestricted ] + - required: [ ecModeBRestricted ] + properties: + ecModeARestricted: + type: boolean + ecModeBRestricted: + type: boolean + + ExpectedUeBehaviourData: + type: object + properties: + stationaryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StationaryIndication' + communicationDurationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + periodicTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + scheduledCommunicationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTime' + scheduledCommunicationType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationType' + expectedUmts: + type: array + items: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/LocationArea' + minItems: 1 + description: Identifies the UE's expected geographical movement. The attribute is only applicable in 5G. + trafficProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficProfile' + batteryIndication: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BatteryIndication' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + + SuggestedPacketNumDl: + type: object + required: + - suggestedPacketNumDl + properties: + suggestedPacketNumDl: + type: integer + minimum: 1 + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + FrameRouteInfo: + type: object + properties: + ipv4Mask: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrMask' + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + + SorUpdateInfo: + type: object + required: + - vplmnId + properties: + vplmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + + EnhancedCoverageRestrictionData: + type: object + properties: + plmnEcInfoList: + type: array + items: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/PlmnEcInfo' + minItems: 1 + + EdrxParameters: + type: object + required: + - ratType + - edrxValue + properties: + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + edrxValue: + type: string + pattern: '^([0-1]{4})$' + + PtwParameters: + type: object + required: + - operationMode + - ptwValue + properties: + operationMode: + $ref: '#/components/schemas/OperationMode' + ptwValue: + type: string + pattern: '^([0-1]{4})$' + + UeId: + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + + V2xSubscriptionData: + type: object + properties: + nrV2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NrV2xAuth' + lteV2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LteV2xAuth' + nrUePc5Ambr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ltePc5Ambr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + + DefaultUnrelatedClass: + type: object + properties: + allowedGeographicArea: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + minItems: 1 + privacyCheckRelatedAction: + $ref: '#/components/schemas/PrivacyCheckRelatedAction' + codeWordInd: + $ref: '#/components/schemas/CodeWordInd' + validTimePeriod: + $ref: '#/components/schemas/ValidTimePeriod' + codeWordList: + type: array + items: + $ref: '#/components/schemas/CodeWord' + minItems: 1 + + ContextInfo: + type: object + properties: + origHeaders: + type: array + items: + type: string + minItems: 1 + +# SIMPLE TYPES: + + UeUsageType: + type: integer + + MpsPriorityIndicator: + type: boolean + + McsPriorityIndicator: + type: boolean + + DnnIndicator: + type: boolean + + LboRoamingAllowed: + type: boolean + + SmsSubscribed: + type: boolean + + 3GppChargingCharacteristics: + type: string + + MicoAllowed: + type: boolean + + SharedDataId: + type: string + pattern: '^[0-9]{5,6}-.+$' + + IwkEpsInd: + type: boolean + + SecuredPacket: + type: string + format: base64 + + UpuRegInd: + type: boolean + + ExtGroupId: + type: string + pattern: '^extgroupid-[^@]+@[^@]+$' + + NbIoTUePriority: + type: integer + minimum: 0 + maximum: 255 + + CodeWord: + type: string + + AfId: + type: string + + LcsClientId: + type: string + + + +# ENUMS: + + DataSetName: + anyOf: + - type: string + enum: + - AM + - SMF_SEL + - UEC_SMF + - UEC_SMSF + - SMS_SUB + - SM + - TRACE + - SMS_MNG + - LCS_PRIVACY + - LCS_MO + - UEC_AMF + - V2X + - type: string + + PduSessionContinuityInd: + anyOf: + - type: string + enum: + - MAINTAIN_PDUSESSION + - RECONNECT_PDUSESSION + - RELEASE_PDUSESSION + - type: string + + LocationPrivacyInd: + anyOf: + - type: string + enum: + - LOCATION_DISALLOWED + - LOCATION_ALLOWED + - type: string + + PrivacyCheckRelatedAction: + anyOf: + - type: string + enum: + - LOCATION_NOT_ALLOWED + - LOCATION_ALLOWED_WITH_NOTIFICATION + - LOCATION_ALLOWED_WITHOUT_NOTIFICATION + - LOCATION_ALLOWED_WITHOUT_RESPONSE + - LOCATION_RESTRICTED_WITHOUT_RESPONSE + - type: string + + LcsClientClass: + anyOf: + - type: string + enum: + - BROADCAST_SERVICE + - OM_IN_HPLMN + - OM_IN_VPLMN + - ANONYMOUS_LOCATION_SERVICE + - SPECIFIC_SERVICE + - type: string + + LcsMoServiceClass: + anyOf: + - type: string + enum: + - BASIC_SELF_LOCATION + - AUTONOMOUS_SELF_LOCATION + - TRANSFER_TO_THIRD_PARTY + - type: string + + OperationMode: + anyOf: + - type: string + enum: + - WB_S1 + - NB_S1 + - WB_N1 + - NB_N1 + - type: string + + SorUpdateIndicator: + anyOf: + - type: string + enum: + - INITIAL_REGISTRATION + - EMERGENCY_REGISTRATION + - type: string + + CodeWordInd: + anyOf: + - type: string + enum: + - CODEWORD_CHECK_IN_UE + - CODEWORD_CHECK_IN_GMLC + - type: string + + MdtUserConsent: + anyOf: + - type: string + enum: + - CONSENT_NOT_GIVEN + - CONSENT_GIVEN + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_UEAU.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_UEAU.yaml new file mode 100644 index 000000000..cbbe6e262 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_UEAU.yaml @@ -0,0 +1,642 @@ +openapi: 3.0.0 +info: + version: '1.1.2' + title: 'Nudm_UEAU' + description: | + UDM UE Authentication Service. + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.6.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-ueau/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-ueau + - {} + +paths: + /{supiOrSuci}/security-information/generate-auth-data: + post: + summary: Generate authentication data for the UE + operationId: GenerateAuthData + tags: + - Generate Auth Data + parameters: + - name: supiOrSuci + in: path + description: SUPI or SUCI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupiOrSuci' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInfoResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supiOrSuci}/security-information-rg: + get: + summary: Get authentication data for the FN-RG + operationId: GetRgAuthData + tags: + - Get Auth Data for FN-RG + parameters: + - name: supiOrSuci + in: path + description: SUPI or SUCI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupiOrSuci' + - name: authenticated-ind + in: query + description: Authenticated indication + required: true + schema: + $ref: '#/components/schemas/AuthenticatedInd' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: plmn-id + in: query + description: serving PLMN ID + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/RgAuthCtx' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/auth-events: + post: + summary: Create a new confirmation event + operationId: ConfirmAuth + tags: + - Confirm Auth + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthEvent' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthEvent' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-ueau/v1/{supi}/auth-events/{authEventId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/hss-security-information/{hssAuthType}/generate-av: + post: + summary: Generate authentication data for the UE in EPS or IMS domain + operationId: GenerateAv + tags: + - Generate HSS Authentication Vectors + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: hssAuthType + in: path + description: Type of AV requested by HSS + required: true + schema: + $ref: '#/components/schemas/HssAuthTypeInUri' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HssAuthenticationInfoRequest' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/HssAuthenticationInfoResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{supi}/auth-events/{authEventId}: + put: + summary: Deletes the authentication result in the UDM + operationId: DeleteAuth + tags: + - Delete Auth + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: authEventId + in: path + description: authEvent Id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthEvent' + required: true + responses: + '204': + description: Expected response to a successful authentication result removal + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-ueau: Access to the nudm-ueau API + + + schemas: + +# COMPLEX TYPES: + + AuthenticationInfoRequest: + type: object + required: + - servingNetworkName + - ausfInstanceId + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + servingNetworkName: + $ref: '#/components/schemas/ServingNetworkName' + resynchronizationInfo: + $ref: '#/components/schemas/ResynchronizationInfo' + ausfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + cellCagInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId' + minItems: 1 + n5gcInd: + type: boolean + default: false + + AuthenticationInfoResult: + type: object + required: + - authType + properties: + authType: + $ref: '#/components/schemas/AuthType' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + authenticationVector: + $ref: '#/components/schemas/AuthenticationVector' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + AuthenticationVector: + oneOf: + - $ref: '#/components/schemas/AvEapAkaPrime' + - $ref: '#/components/schemas/Av5GHeAka' + discriminator: + propertyName: avType + mapping: + 5G_HE_AKA: '#/components/schemas/Av5GHeAka' + EAP_AKA_PRIME: '#/components/schemas/AvEapAkaPrime' + + AvEapAkaPrime: + type: object + required: + - avType + - rand + - xres + - autn + - ckPrime + - ikPrime + properties: + avType: + $ref: '#/components/schemas/AvType' + rand: + $ref: '#/components/schemas/Rand' + xres: + $ref: '#/components/schemas/Xres' + autn: + $ref: '#/components/schemas/Autn' + ckPrime: + $ref: '#/components/schemas/CkPrime' + ikPrime: + $ref: '#/components/schemas/IkPrime' + + Av5GHeAka: + type: object + required: + - avType + - rand + - xresStar + - autn + - kausf + properties: + avType: + $ref: '#/components/schemas/AvType' + rand: + $ref: '#/components/schemas/Rand' + xresStar: + $ref: '#/components/schemas/XresStar' + autn: + $ref: '#/components/schemas/Autn' + kausf: + $ref: '#/components/schemas/Kausf' + + ResynchronizationInfo: + type: object + required: + - rand + - auts + properties: + rand: + $ref: '#/components/schemas/Rand' + auts: + $ref: '#/components/schemas/Auts' + + AuthEvent: + type: object + required: + - nfInstanceId + - success + - timeStamp + - authType + - servingNetworkName + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + success: + $ref: '#/components/schemas/Success' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + authType: + $ref: '#/components/schemas/AuthType' + servingNetworkName: + $ref: '#/components/schemas/ServingNetworkName' + authRemovalInd: + type: boolean + default: false + + RgAuthCtx: + type: object + required: + - authInd + properties: + authInd: + type: boolean + default: false + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + HssAuthenticationInfoRequest: + type: object + required: + - hssAuthType + - numOfRequestedVectors + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + hssAuthType: + $ref: '#/components/schemas/HssAuthType' + numOfRequestedVectors: + $ref: '#/components/schemas/NumOfRequestedVectors' + requestingNodeType: + $ref: '#/components/schemas/NodeType' + servingNetworkId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + resynchronizationInfo: + $ref: '#/components/schemas/ResynchronizationInfo' + anId: + $ref: '#/components/schemas/AccessNetworkId' + + + HssAuthenticationInfoResult: + type: object + required: + - hssAuthenticationVectors + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + hssAuthenticationVectors: + $ref: '#/components/schemas/HssAuthenticationVectors' + + HssAuthenticationVectors: + oneOf: + - type: array + items: + $ref: '#/components/schemas/AvEpsAka' + minItems: 1 + maxItems: 5 + - type: array + items: + $ref: '#/components/schemas/AvImsGbaEapAka' + minItems: 1 + maxItems: 5 + - type: array + items: + $ref: '#/components/schemas/AvEapAkaPrime' + minItems: 1 + maxItems: 5 + + AvEpsAka: + type: object + required: + - avType + - rand + - xres + - autn + - kasme + properties: + avType: + $ref: '#/components/schemas/HssAvType' + rand: + $ref: '#/components/schemas/Rand' + xres: + $ref: '#/components/schemas/Xres' + autn: + $ref: '#/components/schemas/Autn' + kasme: + $ref: '#/components/schemas/Kasme' + + AvImsGbaEapAka: + type: object + required: + - avType + - rand + - xres + - autn + - ck + - ik + properties: + avType: + $ref: '#/components/schemas/HssAvType' + rand: + $ref: '#/components/schemas/Rand' + xres: + $ref: '#/components/schemas/Xres' + autn: + $ref: '#/components/schemas/Autn' + ck: + $ref: '#/components/schemas/ConfidentialityKey' + ik: + $ref: '#/components/schemas/IntegrityKey' + + +# SIMPLE TYPES: + + Autn: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Auts: + type: string + pattern: '^[A-Fa-f0-9]{28}$' + + CkPrime: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + IkPrime: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Kausf: + type: string + pattern: '^[A-Fa-f0-9]{64}$' + + Rand: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Xres: + type: string + pattern: '^[A-Fa-f0-9]{8,32}$' + + XresStar: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + ServingNetworkName: + type: string + pattern: '^5G:mnc[0-9]{3}[.]mcc[0-9]{3}[.]3gppnetwork[.]org(:[A-F0-9]{11})?$' + + Success: + type: boolean + + AuthenticatedInd: + type: boolean + + ConfidentialityKey: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + IntegrityKey: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + + Kasme: + type: string + pattern: '^[A-Fa-f0-9]{64}$' + + NumOfRequestedVectors: + type: integer + minimum: 1 + maximum: 5 + + +# ENUMS: + + AuthType: + anyOf: + - type: string + enum: + - 5G_AKA + - EAP_AKA_PRIME + - EAP_TLS + - type: string + + AvType: + anyOf: + - type: string + enum: + - 5G_HE_AKA + - EAP_AKA_PRIME + - type: string + + HssAuthType: + anyOf: + - type: string + enum: + - EPS_AKA + - EAP_AKA + - EAP_AKA_PRIME + - IMS_AKA + - GBA_AKA + - UMTS_AKA + - type: string + + HssAvType: + anyOf: + - type: string + enum: + - EPS_AKA + - EAP_AKA + - IMS_AKA + - GBA_AKA + - UMTS_AKA + - type: string + + HssAuthTypeInUri: + anyOf: + - type: string + enum: + - eps-aka + - eap-aka + - eap-aka-prime + - ims-aka + - gba-aka + - type: string + + AccessNetworkId: + anyOf: + - type: string + enum: + - HRPD + - WIMAX + - WLAN + - ETHERNET + - type: string + + NodeType: + anyOf: + - type: string + enum: + - AUSF + - VLR + - SGSN + - S_CSCF + - BSF + - GAN_AAA_SERVER + - WLAN_AAA_SERVER + - MME + - type: string + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_UECM.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_UECM.yaml new file mode 100644 index 000000000..5b1bdc2aa --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29503_Nudm_UECM.yaml @@ -0,0 +1,1654 @@ +openapi: 3.0.0 + +info: + version: '1.1.3' + title: 'Nudm_UECM' + description: | + Nudm Context Management Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.503 Unified Data Management Services, version 16.8.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.503/' + +servers: + - url: '{apiRoot}/nudm-uecm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - oAuth2ClientCredentials: + - nudm-uecm + - {} + +paths: + /{ueId}/registrations: + get: + summary: retrieve UE registration data sets + operationId: GetRegistrations + tags: + - UECM Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: registration-dataset-names + in: query + style: form + explode: false + description: List of UECM registration dataset names + required: true + schema: + $ref: '#/components/schemas/RegistrationDatasetNames' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/RegistrationDataSets' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-3gpp-access: + put: + summary: register as AMF for 3GPP access + operationId: 3GppRegistration + tags: + - AMF registration for 3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/amf-3gpp-access' + required: true + schema: + type: string + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + deregistrationeNotification: + '{request.body#/deregCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationData' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + pcscfRestorationNotification: + '{request.body#/pcscfRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcscfRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + patch: + summary: Update a parameter in the AMF registration for 3GPP access + operationId: Update3GppRegistration + tags: + - Parameter update in the AMF registration for 3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistrationModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the AMF registration for 3GPP access information + operationId: Get3GppRegistration + tags: + - AMF 3Gpp-access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-3gpp-access/dereg-amf: + post: + summary: trigger AMF for 3GPP access deregistration + operationId: deregAMF + tags: + - Trigger AMF for 3GPP access deregistration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfDeregInfo' + required: true + responses: + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-3gpp-access/pei-update: + post: + summary: Updates the PEI in the 3GPP access registration context + operationId: PeiUpdate + tags: + - PEI Update + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PeiUpdateInfo' + required: true + responses: + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/amf-non-3gpp-access: + put: + summary: register as AMF for non-3GPP access + operationId: Non3GppRegistration + tags: + - AMF registration for non-3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/amf-non-3gpp-access' + required: true + schema: + type: string + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + '204': + description: No Content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + deregistrationeNotification: + '{request.body#/deregCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationData' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + pcscfRestorationNotification: + '{request.body#/pcscfRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcscfRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + patch: + summary: update a parameter in the AMF registration for non-3GPP access + operationId: UpdateNon3GppRegistration + tags: + - Parameter update in the AMF registration for non-3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistrationModification' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the AMF registration for non-3GPP access information + operationId: GetNon3GppRegistration + tags: + - AMF non-3GPP-access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smf-registrations: + get: + summary: retrieve the SMF registration information + operationId: GetSmfRegistration + tags: + - SMF SmfRegistration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistrationInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smf-registrations/{pduSessionId}: + put: + summary: register as SMF + operationId: Registration + tags: + - SMF SmfRegistration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: pduSessionId + in: path + description: Identifier of the PDU session + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/smf-registrations/{pduSessionId}' + required: true + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + deregistrationeNotification: + '{request.body#/deregCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationData' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + pcscfRestorationNotification: + '{request.body#/pcscfRestorationCallbackUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcscfRestorationNotification' + responses: + '204': + description: Successful Notification response + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete an SMF registration + operationId: SmfDeregistration + tags: + - SMF Deregistration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: pduSessionId + in: path + description: Identifier of the PDU session + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + - name: smf-set-id + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: get an SMF registration + operationId: RetrieveSmfRegistration + tags: + - Retrieve SMF Registration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: pduSessionId + in: path + description: Identifier of the PDU session + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smsf-3gpp-access: + put: + summary: register as SMSF for 3GPP access + operationId: 3GppSmsfRegistration + tags: + - SMSF registration for 3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/smsf-3gpp-access' + required: true + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete the SMSF registration for 3GPP access + operationId: 3GppSmsfDeregistration + tags: + - SMSF Deregistration for 3GPP Access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: smsf-set-id + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the SMSF registration for 3GPP access information + operationId: Get3GppSmsfRegistration + tags: + - SMSF 3GPP access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/smsf-non-3gpp-access: + put: + summary: register as SMSF for non-3GPP access + operationId: Non3GppSmsfRegistration + tags: + - SMSF registration for non-3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/smsf-non-3gpp-access' + required: true + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: delete SMSF registration for non 3GPP access + operationId: Non3GppSmsfDeregistration + tags: + - SMSF Deregistration for non-3GPP access + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: smsf-set-id + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '422': + description: Unprocessable Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: retrieve the SMSF registration for non-3GPP access information + operationId: GetNon3GppSmsfRegistration + tags: + - SMSF non-3GPP access Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/ip-sm-gw: + put: + summary: Register an IP-SM-GW + operationId: IpSmGwRegistration + tags: + - IP-SM-GW registration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + required: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudm-uecm/v1/{ueId}/registrations/ip-sm-gw' + required: true + schema: + type: string + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: Delete the IP-SM-GW registration + operationId: IpSmGwDeregistration + tags: + - IP-SM-GW Deregistration + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '204': + description: Expected response to a valid request + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + get: + summary: Retrieve the IP-SM-GW registration information + operationId: GetIpSmGwRegistration + tags: + - IP-SM-GW Registration Info Retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /restore-pcscf: + post: + summary: Trigger the Restoration of the P-CSCF + operationId: Trigger P-CSCF Restoration + tags: + - Trigger P-CSCF Restoration + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerRequest' + required: true + responses: + '204': + description: Successful response + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueId}/registrations/location: + get: + summary: retrieve the target UE's location information + operationId: GetLocationInfo + tags: + - UE Location Information retrieval + parameters: + - name: ueId + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LocationInfo' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudm-uecm: Access to the nudm-uecm API + + schemas: + +# COMPLEX TYPES: + + Amf3GppAccessRegistration: + type: object + required: + - amfInstanceId + - deregCallbackUri + - guami + - ratType + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + deregCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNameDereg: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + pcscfRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNamePcscfRest: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + initialRegistrationInd: + type: boolean + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + minItems: 1 + drFlag: + $ref: '#/components/schemas/DualRegistrationFlag' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + urrpIndicator: + type: boolean + amfEeSubscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + epsInterworkingInfo: + $ref: '#/components/schemas/EpsInterworkingInfo' + ueSrvccCapability: + type: boolean + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + vgmlcAddress: + $ref: '#/components/schemas/VgmlcAddress' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + noEeSubscriptionInd: + type: boolean + default: false + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + + Amf3GppAccessRegistrationModification: + type: object + required: + - guami + properties: + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + epsInterworkingInfo: + $ref: '#/components/schemas/EpsInterworkingInfo' + ueSrvccCapability: + type: boolean + nullable: true + + EpsInterworkingInfo: + type: object + properties: + epsIwkPgws: + description: A map (list of key-value pairs where Dnn serves as key) of EpsIwkPgws + type: object + additionalProperties: + $ref: '#/components/schemas/EpsIwkPgw' + + EpsIwkPgw: + type: object + required: + - pgwFqdn + - smfInstanceId + properties: + pgwFqdn: + type: string + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + AmfNon3GppAccessRegistration: + type: object + required: + - amfInstanceId + - imsVoPs + - deregCallbackUri + - guami + - ratType + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + deregCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNameDereg: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + pcscfRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amfServiceNamePcscfRest: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + minItems: 1 + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + urrpIndicator: + type: boolean + amfEeSubscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + vgmlcAddress: + $ref: '#/components/schemas/VgmlcAddress' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + noEeSubscriptionInd: + type: boolean + default: false + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + + AmfNon3GppAccessRegistrationModification: + type: object + required: + - guami + properties: + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + purgeFlag: + $ref: '#/components/schemas/PurgeFlag' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + imsVoPs: + $ref: '#/components/schemas/ImsVoPs' + backupAmfInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo' + + SmfRegistration: + type: object + required: + - smfInstanceId + - pduSessionId + - singleNssai + - plmnId + properties: + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + singleNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + emergencyServices: + type: boolean + pcscfRestorationCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + pgwFqdn: + type: string + epdgInd: + type: boolean + default: false + deregCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + registrationReason: + $ref: '#/components/schemas/RegistrationReason' + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + + SmsfRegistration: + type: object + required: + - smsfInstanceId + - plmnId + properties: + smsfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + smsfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + smsfMAPAddress: + $ref: '#/components/schemas/E164Number' + smsfDiameterAddress: + $ref: '#/components/schemas/NetworkNodeDiameterAddress' + registrationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + contextInfo: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ContextInfo' + + + DeregistrationData: + type: object + required: + - deregReason + properties: + deregReason: + $ref: '#/components/schemas/DeregistrationReason' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + newSmfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + + PcscfRestorationNotification: + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + NetworkNodeDiameterAddress: + type: object + required: + - name + - realm + properties: + name: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + realm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + + TriggerRequest: + type: object + required: + - supi + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + + SmfRegistrationInfo: + type: object + required: + - smfRegistrationList + properties: + smfRegistrationList: + type: array + items: + $ref: '#/components/schemas/SmfRegistration' + minItems: 1 + + IpSmGwRegistration: + type: object + anyOf: + - required: [ ipSmGwMapAddress ] + - required: [ ipSmGwDiameterAddress ] + properties: + ipSmGwMapAddress: + $ref: '#/components/schemas/E164Number' + ipSmGwDiameterAddress: + $ref: '#/components/schemas/NetworkNodeDiameterAddress' + unriIndicator: + type: boolean + default: false + + + AmfDeregInfo: + type: object + required: + - deregReason + properties: + deregReason: + $ref: '#/components/schemas/DeregistrationReason' + + LocationInfo: + type: object + required: + - registrationLocationInfoList + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + registrationLocationInfoList: + type: array + items: + $ref: '#/components/schemas/RegistrationLocationInfo' + minItems: 1 + maxItems: 2 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + RegistrationLocationInfo: + type: object + required: + - amfInstanceId + - accessTypeList + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + vgmlcAddress: + $ref: '#/components/schemas/VgmlcAddress' + accessTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + maxItems: 2 + + VgmlcAddress: + type: object + properties: + vgmlcAddressIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + vgmlcAddressIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + vgmlcFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + + PeiUpdateInfo: + type: object + required: + - pei + properties: + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + + RegistrationDatasetNames: + type: array + items: + $ref: '#/components/schemas/RegistrationDataSetName' + minItems: 2 + uniqueItems: true + + RegistrationDataSets: + type: object + properties: + amf3Gpp: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + amfNon3Gpp: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + smfRegistration: + $ref: '#/components/schemas/SmfRegistrationInfo' + smsf3Gpp: + $ref: '#/components/schemas/SmsfRegistration' + smsfNon3Gpp: + $ref: '#/components/schemas/SmsfRegistration' + + +# SIMPLE TYPES: + + PurgeFlag: + type: boolean + + E164Number: + type: string + pattern: '^[0-9]{1,15}$' + + DualRegistrationFlag: + type: boolean + +# ENUMS: + + ImsVoPs: + anyOf: + - type: string + enum: + - HOMOGENEOUS_SUPPORT + - HOMOGENEOUS_NON_SUPPORT + - NON_HOMOGENEOUS_OR_UNKNOWN + - type: string + + DeregistrationReason: + anyOf: + - type: string + enum: + - UE_INITIAL_REGISTRATION + - UE_REGISTRATION_AREA_CHANGE + - SUBSCRIPTION_WITHDRAWN + - 5GS_TO_EPS_MOBILITY + - 5GS_TO_EPS_MOBILITY_UE_INITIAL_REGISTRATION + - REREGISTRATION_REQUIRED + - SMF_CONTEXT_TRANSFERRED + - type: string + + RegistrationReason: + anyOf: + - type: string + enum: + - SMF_CONTEXT_TRANSFERRED + - type: string + + RegistrationDataSetName: + anyOf: + - type: string + enum: + - AMF_3GPP + - AMF_NON_3GPP + - SMF_PDU_SESSIONS + - SMSF_3GPP + - SMSF_NON_3GPP + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29504_Nudr_DR.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29504_Nudr_DR.yaml new file mode 100644 index 000000000..57be707f8 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29504_Nudr_DR.yaml @@ -0,0 +1,202 @@ +openapi: 3.0.0 + +info: + version: 2.1.4 + title: 'Nudr_DataRepository API OpenAPI file' + description: | + Unified Data Repository Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.504 V16.8.0; 5G System; Unified Data Repository Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.504/' + +servers: + - description: API root + url: '{apiRoot}/nudr-dr/v2' + variables: + apiRoot: + default: https://example.com + +security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + +paths: + /subscription-data/{ueId}/authentication-data/authentication-subscription: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-subscription' + /subscription-data/{ueId}/authentication-data/authentication-status: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-status' + /subscription-data/{ueId}/authentication-data/authentication-status/{servingNetworkName}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-status~1%7BservingNetworkName%7D' + /subscription-data/{ueId}/ue-update-confirmation-data/sor-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1sor-data' + /subscription-data/{ueId}/ue-update-confirmation-data/upu-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1upu-data' + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-cag: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1subscribed-cag' + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-snssais: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1subscribed-snssais' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/am-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1am-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/smf-selection-subscription-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1smf-selection-subscription-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sm-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sm-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/lcs-bca-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1lcs-bca-data' + /subscription-data/{ueId}/context-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data' + /subscription-data/{ueId}/context-data/amf-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1amf-3gpp-access' + /subscription-data/{ueId}/context-data/amf-non-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1amf-non-3gpp-access' + /subscription-data/{ueId}/context-data/smf-registrations: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smf-registrations' + /subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smf-registrations~1%7BpduSessionId%7D' + /subscription-data/{ueId}/operator-specific-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1operator-specific-data' + /subscription-data/{ueId}/context-data/smsf-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smsf-3gpp-access' + /subscription-data/{ueId}/context-data/smsf-non-3gpp-access: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smsf-non-3gpp-access' + /subscription-data/{ueId}/context-data/location: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1location' + /subscription-data/{ueId}/context-data/ip-sm-gw: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ip-sm-gw' + /subscription-data/{ueId}/context-data/mwd: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1mwd' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-mng-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sms-mng-data' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sms-data' + /subscription-data/{ueId}/lcs-privacy-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1lcs-privacy-data' + /subscription-data/{ueId}/lcs-mo-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1lcs-mo-data' + /subscription-data/{ueId}/pp-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1pp-data' + /subscription-data/{ueId}/context-data/ee-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/amf-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D~1amf-subscriptions' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/smf-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D~1smf-subscriptions' + /subscription-data/group-data/{ueGroupId}/ee-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions' + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions~1%7BsubsId%7D' + /subscription-data/group-data/{ueGroupId}/ee-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-profile-data' + /subscription-data/group-data/5g-vn-groups: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups' + /subscription-data/group-data/5g-vn-groups/{externalGroupId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups~1%7BexternalGroupId%7D' + /subscription-data/group-data/5g-vn-groups/internal: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups~1internal' + /subscription-data/group-data/5g-vn-groups/pp-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~15g-vn-groups~1pp-profile-data' + /subscription-data/{ueId}/ee-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ee-profile-data' + /subscription-data/{ueId}/context-data/sdm-subscriptions: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1sdm-subscriptions' + /subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1sdm-subscriptions~1%7BsubsId%7D' + /subscription-data/shared-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1shared-data' + /subscription-data/subs-to-notify: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1subs-to-notify' + /subscription-data/subs-to-notify/{subsId}: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1subs-to-notify~1%7BsubsId%7D' + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/trace-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1trace-data' + /subscription-data/{ueId}/identity-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1identity-data' + /subscription-data/{ueId}/operator-determined-barring-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1operator-determined-barring-data' + /subscription-data/{ueId}/nidd-authorization-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1nidd-authorization-data' + /subscription-data/{ueId}/v2x-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1v2x-data' + /subscription-data/{ueId}/pp-profile-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1pp-profile-data' + /subscription-data/{ueId}/coverage-restriction-data: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1coverage-restriction-data' + /subscription-data/group-data/group-identifiers: + $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1group-identifiers' + /policy-data/ues/{ueId}/am-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1am-data' + /policy-data/ues/{ueId}/ue-policy-set: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1ue-policy-set' + /policy-data/ues/{ueId}/sm-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1sm-data' + /policy-data/ues/{ueId}/sm-data/{usageMonId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1sm-data~1%7BusageMonId%7D' + /policy-data/sponsor-connectivity-data/{sponsorId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1sponsor-connectivity-data~1%7BsponsorId%7D' + /policy-data/bdt-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1bdt-data' + /policy-data/bdt-data/{bdtReferenceId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1bdt-data~1%7BbdtReferenceId%7D' + /policy-data/subs-to-notify: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1subs-to-notify' + /policy-data/subs-to-notify/{subsId}: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1subs-to-notify~1%7BsubsId%7D' + /policy-data/ues/{ueId}/operator-specific-data: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1operator-specific-data' + /application-data/pfds: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1pfds' + /application-data/pfds/{appId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1pfds~1%7BappId%7D' + /application-data/influenceData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData' + /application-data/influenceData/{influenceId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1%7BinfluenceId%7D' + /policy-data/plmns/{plmnId}/ue-policy-set: + $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1plmns~1%7BplmnId%7D~1ue-policy-set' + /application-data/bdtPolicyData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1bdtPolicyData' + /application-data/bdtPolicyData/{bdtPolicyId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1bdtPolicyData~1%7BbdtPolicyId%7D' + /application-data/iptvConfigData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1iptvConfigData' + /application-data/iptvConfigData/{configurationId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1iptvConfigData~1%7BconfigurationId%7D' + /application-data/influenceData/subs-to-notify: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1subs-to-notify' + /application-data/influenceData/subs-to-notify/{subscriptionId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1subs-to-notify~1%7BsubscriptionId%7D' + /application-data/serviceParamData: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1serviceParamData' + /application-data/serviceParamData/{serviceParamId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1serviceParamData~1%7BserviceParamId%7D' + /application-data/subs-to-notify: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1subs-to-notify' + /application-data/subs-to-notify/{subsId}: + $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1subs-to-notify~1%7BsubsId%7D' + /exposure-data/{ueId}/access-and-mobility-data: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1%7BueId%7D~1access-and-mobility-data' + /exposure-data/{ueId}/session-management-data/{pduSessionId}: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1%7BueId%7D~1session-management-data~1%7BpduSessionId%7D' + /exposure-data/subs-to-notify: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1subs-to-notify' + /exposure-data/subs-to-notify/{subId}: + $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1subs-to-notify~1%7BsubId%7D' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudr-dr: Access to the Nudr_DataRepository API + nudr-dr:subscription-data:authentication-subscription:read: Access to read the AuthenticationSubscription resource of the SubscriptionData data set + nudr-dr:subscription-data:authentication-subscription:modify: Access to update the AuthenticationSubscription resource of the SubscriptionData data set diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29504_Nudr_GroupIDmap.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29504_Nudr_GroupIDmap.yaml new file mode 100644 index 000000000..8a63fd5f0 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29504_Nudr_GroupIDmap.yaml @@ -0,0 +1,94 @@ +openapi: 3.0.0 + +info: + version: 1.0.0 + title: 'Nudr_GroupIDmap' + description: | + Unified Data Repository Service for NF-Group ID retrieval. + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.504 V16.4.0; 5G System; Unified Data Repository Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.504/' + +servers: + - description: API root + url: '{apiRoot}/nudr-group-id-map/v1' + variables: + apiRoot: + default: https://example.com + +security: + - {} + - oAuth2ClientCredentials: + - nudr-group-id-map + +paths: + /nf-group-ids: + get: + summary: Retrieves NF-Group IDs for provided Subscriber and NF types + operationId: GetNfGroupIDs + tags: + - NF Group IDs (Document) + parameters: + - name: nf-type + in: query + description: Type of NF + required: true + style: form + explode: false + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + minItems: 1 + - name: subscriberId + in: query + description: Identifier of the subscriber + required: true + schema: + $ref: '#/components/schemas/SubscriberId' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NfGroupIdMapResult' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + description: Unexpected error + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nudr-group-id-map: Access to the Nudr_GroupIDmap API + + + + schemas: + +# COMPLEX TYPES: + + NfGroupIdMapResult: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + minProperties: 1 + + +# SIMPLE TYPES: + + SubscriberId: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|impi-.+|impu-.+|.+)$' + +# ENUMS: diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29505_Subscription_Data.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29505_Subscription_Data.yaml new file mode 100644 index 000000000..cf41ada52 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29505_Subscription_Data.yaml @@ -0,0 +1,4522 @@ +openapi: 3.0.0 +info: + version: '-' + title: 'Unified Data Repository Service API file for subscription data' + description: | + Unified Data Repository Service (subscription data). + The API version is defined in 3GPP TS 29.504. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.505 V16.7.0; 5G System; Usage of the Unified Data Repository Service for subscription data; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.505/' + +paths: + + /subscription-data/{ueId}/authentication-data/authentication-subscription: + get: + summary: Retrieves the authentication subscription data of a UE + operationId: QueryAuthSubsData + tags: + - Authentication Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:authentication-subscription:read + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the authentication subscription data of a UE + operationId: ModifyAuthenticationSubscription + tags: + - Authentication Subscription (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data:authentication-subscription:modify + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/authentication-data/authentication-status: + put: + summary: To store the Authentication Status data of a UE + operationId: CreateAuthenticationStatus + tags: + - Authentication Status (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the Authentication Status of a UE + operationId: QueryAuthenticationStatus + tags: + - AuthEvent (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + description: Supported Features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the Authentication Status of a UE + operationId: DeleteAuthenticationStatus + tags: + - AuthEvent (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '204': + description: Upon success, an empty response body shall be returned. + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/authentication-data/authentication-status/{servingNetworkName}: + put: + summary: To store the individual Authentication Status data of a UE + operationId: CreateIndividualAuthenticationStatus + tags: + - Individual Authentication Status (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: servingNetworkName + in: path + description: Serving Network Name + required: true + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + required: true + + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the Individual Authentication Status of a UE + operationId: QueryIndividualAuthenticationStatus + tags: + - Individual AuthEvent (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: servingNetworkName + in: path + description: Serving Network Name + required: true + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + description: Supported Features + in: query + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/AuthEvent' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the Individual Authentication Status of a UE + operationId: DeleteIndividualAuthenticationStatus + tags: + - Individual AuthEvent (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: servingNetworkName + in: path + description: Serving Network Name + required: true + schema: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + responses: + '204': + description: Upon success, an empty response body shall be returned. + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/sor-data: + put: + summary: To store the SoR acknowledgement information of a UE + operationId: CreateAuthenticationSoR + tags: + - Authentication SoR (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SorData' + required: true + + responses: + '204': + description: Expected response to a valid request + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the SoR acknowledgement information of a UE + operationId: QueryAuthSoR + tags: + - Authentication SoR (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SorData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/upu-data: + put: + summary: To store the UPU acknowledgement information of a UE + operationId: CreateAuthenticationUPU + tags: + - Authentication UPU (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpuData' + responses: + '204': + description: Expected response to a valid request + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the UPU acknowledgement information of a UE + operationId: QueryAuthUPU + tags: + - Authentication UPU (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/UpuData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-snssais: + put: + summary: To store the NSSAI update acknowledgement information of a UE + operationId: Create NSSAI update ack + tags: + - NSSAI update ack (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NssaiAckData' + required: true + responses: + '204': + description: Expected response to a valid request + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the UPU acknowledgement information of a UE + operationId: QueryNssaiAck + tags: + - NSSAI ACK (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NssaiAckData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ue-update-confirmation-data/subscribed-cag: + put: + summary: To store the CAG update acknowledgement information of a UE + operationId: CreateCagUpdateAck + tags: + - CAG update ack (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CagAckData' + required: true + responses: + '204': + description: Expected response to a valid request + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the CAG acknowledgement information of a UE + operationId: QueryCagAck + tags: + - CAG ACK (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CagAckData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data: + get: + summary: Retrieve multiple provisioned data sets of a UE + operationId: QueryProvisionedData + tags: + - Provisioned Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: dataset-names + in: query + description: List of dataset names + style: form + explode: false + schema: + $ref: '#/components/schemas/DatasetNames' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisionedDataSets' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/am-data: + get: + summary: Retrieves the access and mobility subscription data of a UE + operationId: QueryAmData + tags: + - Access And Mobility Subscription Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/smf-selection-subscription-data: + get: + summary: Retrieves the SMF selection subscription data of a UE + operationId: QuerySmfSelectData + tags: + - SMF Selection Subscription Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSelectionSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sm-data: + get: + summary: Retrieves the Session Management subscription data of a UE + operationId: QuerySmData + tags: + - Session Management Subscription Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: '#/components/schemas/VarSnssai' + description: single NSSAI + required: false + - name: dnn + in: query + description: DNN + required: false + schema: + $ref: '#/components/schemas/Dnn' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SessionManagementSubscriptionData' + minItems: 1 + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/amf-3gpp-access: + get: + summary: Retrieves the AMF context data of a UE using 3gpp access + operationId: QueryAmfContext3gpp + tags: + - AMF 3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: To store the AMF context data of a UE using 3gpp access in the UDR + operationId: CreateAmfContext3gpp + tags: + - AMF 3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/amf-3gpp-access' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: To modify the AMF context data of a UE using 3gpp access in the UDR + operationId: AmfContext3gpp + tags: + - AMF 3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/amf-non-3gpp-access: + get: + summary: Retrieves the AMF context data of a UE using non-3gpp access + operationId: QueryAmfContextNon3gpp + tags: + - AMF Non-3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: To store the AMF context data of a UE using non-3gpp access in the UDR + operationId: CreateAmfContextNon3gpp + tags: + - AMF Non-3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/amf-non-3gpp-access' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: To modify the AMF context data of a UE using non 3gpp access in the UDR + operationId: AmfContextNon3gpp + tags: + - AMF Non-3GPP Access Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smf-registrations: + get: + summary: Retrieves the SMF registration list of a UE + operationId: QuerySmfRegList + tags: + - SMF Registrations (Collection) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegList' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}: + get: + summary: Retrieves the individual SMF registration of a UE + operationId: QuerySmfRegistration + tags: + - SMF Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + put: + summary: To create an individual SMF context data of a UE in the UDR + operationId: CreateSmfContextNon3gpp + tags: + - SMF Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + required: true + responses: + '201': + description: Upon success, a response body containing a representation of the created Individual SmfRegistration resource shall be returned + content: + application/json: + schema: + $ref: '#/components/schemas/SmfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}' + required: true + schema: + type: string + '204': + description: No content + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove an individual SMF context data of a UE the UDR + operationId: DeleteSmfContext + tags: + - SMF Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + responses: + '204': + description: Upon success, an empty response body shall be returned. + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/operator-specific-data: + get: + summary: Retrieves the operator specific data of a UE + operationId: QueryOperSpecData + tags: + - Operator-Specific Data Container (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/OperatorSpecificDataContainer' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: To modify operator specific data of a UE + operationId: ModifyOperSpecData + tags: + - Operator-Specific Data Container (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smsf-3gpp-access: + put: + summary: Create the SMSF context data of a UE via 3GPP access + operationId: CreateSmsfContext3gpp + tags: + - SMSF 3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/smsf-3gpp-access' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the SMSF context data of a UE via 3GPP access + operationId: DeleteSmsfContext3gpp + tags: + - SMSF 3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the SMSF context data of a UE using 3gpp access + operationId: QuerySmsfContext3gpp + tags: + - SMSF 3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/smsf-non-3gpp-access: + put: + summary: Create the SMSF context data of a UE via non-3GPP access + operationId: CreateSmsfContextNon3gpp + tags: + - SMSF Non-3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/smsf-non-3gpp-access' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the SMSF context data of a UE via non-3GPP access + operationId: DeleteSmsfContextNon3gpp + tags: + - SMSF Non-3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the SMSF context data of a UE using non-3gpp access + operationId: QuerySmsfContextNon3gpp + tags: + - SMSF Non-3GPP Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsfRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ip-sm-gw: + put: + summary: Create the IP-SM-GW context data of a UE + operationId: CreateIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: To remove the IP-SM-GW context data of a UE + operationId: DeleteIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify the IP-SM-GW context data of a UE + operationId: ModifyIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the IP-SM-GW context data of a UE + operationId: QueryIpSmGwContext + tags: + - IP-SM-GW Registration (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/IpSmGwRegistration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/mwd: + put: + summary: Create the Message Waiting Data of the UE + operationId: CreateMessageWaitingData + tags: + - Message Waiting Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MessageWaitingData' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + description: Unexpected error + delete: + summary: To remove the Message Waiting Data of the UE + operationId: DeleteMessageWaitingData + tags: + - Message Waiting Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify the Message Waiting Data of the UE + operationId: ModifyMessageWaitingData + tags: + - Message Waiting Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves the Message Waiting Data of the UE + operationId: QueryMessageWaitingData + tags: + - Message Waiting Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/MessageWaitingData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-mng-data: + get: + summary: Retrieves the SMS management subscription data of a UE + operationId: QuerySmsMngData + tags: + - SMS Management Subscription Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-data: + get: + summary: Retrieves the SMS subscription data of a UE + operationId: QuerySmsData + tags: + - SMS Subscription Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmsSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/pp-data: + get: + summary: Read the profile of a given UE + operationId: GetppData + tags: + - Parameter Provision (Document) + parameters: + - name: ueId + in: path + description: pp data for a UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PpData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the provisioned parameter data + operationId: ModifyPpData + tags: + - ProvisionedParameterData (Document) + parameters: + - name: ueId + in: path + description: pp data for a UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/pp-profile-data: + get: + summary: Retrieves the parameter provision profile data of a UE + operationId: QueryPPData + tags: + - Parameter Provision profile Data (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/PpProfileData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions: + get: + summary: Retrieves the ee subscriptions of a UE + operationId: Queryeesubscriptions + tags: + - Event Exposure Subscriptions (Collection) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EeSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Create individual EE subscription + operationId: CreateEeSubscriptions + tags: + - Event Exposure Subscriptions (Collection) + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}: + put: + summary: Update an individual ee subscriptions of a UE + operationId: UpdateEesubscriptions + tags: + - Event Exposure Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '404': + description: update of non-existing resource is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes a eeSubscription + operationId: RemoveeeSubscriptions + tags: + - Event Exposure Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual ee subscription of a UE + operationId: ModifyEesubscription + tags: + - Event Exposure Subscription (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve a eeSubscription + operationId: QueryeeSubscription + tags: + - Event Exposure Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/EeSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/amf-subscriptions: + put: + summary: Create AmfSubscriptions for an individual ee subscriptions of a UE + operationId: Create AMF Subscriptions + tags: + - AMF Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmfSubscriptionInfo' + minItems: 1 + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes AMF Subscription Info for an eeSubscription + operationId: RemoveAmfSubscriptionsInfo + tags: + - Event AMF Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the AMF Subscription Info + operationId: ModifyAmfSubscriptionInfo + tags: + - AmfSubscriptionInfo (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve AMF subscription Info + operationId: GetAmfSubscriptionInfo + tags: + - Query AMF Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AmfSubscriptionInfo' + minItems: 1 + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/smf-subscriptions: + put: + summary: Create SMF Subscription Info + operationId: Create SMF Subscriptions + tags: + - SMF Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete SMF Subscription Info + operationId: RemoveSmfSubscriptionsInfo + tags: + - SMF Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify SMF Subscription Info + operationId: ModifySmfSubscriptionInfo + tags: + - SMF Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve SMF Subscription Info + operationId: GetSmfSubscriptionInfo + tags: + - SMF Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/hss-subscriptions: + put: + summary: Create HSS Subscription Info + operationId: Create HSS Subscriptions + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HssSubscriptionInfo' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete HSS Subscription Info + operationId: RemoveHssSubscriptionsInfo + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify HSS Subscription Info + operationId: ModifyHssSubscriptionInfo + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve HSS Subscription Info + operationId: GetHssSubscriptionInfo + tags: + - HSS Event Subscription Info (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/SmfSubscriptionInfo' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-subscriptions: + get: + summary: Retrieves the ee subscriptions of a group of UEs or any UE + operationId: QueryEeGroupSubscriptions + tags: + - Event Exposure Group Subscriptions (Collection) + parameters: + - name: ueGroupId + in: path + description: Group of UEs or any UE + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/EeSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Create individual EE subscription for a group of UEs or any UE + operationId: CreateEeGroupSubscriptions + tags: + - Event Exposure Group Subscriptions (Collection) + parameters: + - name: ueGroupId + in: path + description: Group of UEs or any UE + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/group-data/{ueGroupId}/ee-subscriptions' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}: + put: + summary: Update an individual ee subscription of a group of UEs or any UE + operationId: UpdateEeGroupSubscriptions + tags: + - Event Exposure Group Subscription (Document) + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EeSubscription' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '404': + description: update of non-existing resource is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes a eeSubscription for a group of UEs or any UE + operationId: RemoveEeGroupSubscriptions + tags: + - Event Exposure Group Subscription (Document) + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual ee subscription for a group of a UEs + operationId: ModifyEeGroupSubscription + tags: + - Event Exposure Group Subscription (Document) + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve a individual eeSubscription for a group of UEs or any UE + operationId: QueryEeGroupSubscription + tags: + - Event Exposure Group Subscription (Document) + parameters: + - name: ueGroupId + in: path + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/EeSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/{ueGroupId}/ee-profile-data: + get: + summary: Retrieves the ee profile data profile data of a group or anyUE + operationId: QueryGroupEEData + tags: + - Event Exposure Data for a group (Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ueGroupId + in: path + description: Group of UEs or any UE + required: true + schema: + $ref: '#/components/schemas/VarUeGroupId' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeGroupProfileData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/ee-profile-data: + get: + summary: Retrieves the ee profile data of a UE + operationId: QueryEEData + tags: + - Event Exposure Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + style: form + explode: false + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/EeProfileData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/sdm-subscriptions: + get: + summary: Retrieves the sdm subscriptions of a UE + operationId: Querysdmsubscriptions + tags: + - SDM Subscriptions (Collection) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SdmSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + post: + summary: Create individual sdm subscription + operationId: CreateSdmSubscriptions + tags: + - SDM Subscriptions (Collection) + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}: + put: + summary: Update an individual sdm subscriptions of a UE + operationId: Updatesdmsubscriptions + tags: + - SDM Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SdmSubscription' + required: true + responses: + '204': + description: Upon success, an empty response body shall be returned + '404': + description: update of non-existing resource is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes a sdmsubscriptions + operationId: RemovesdmSubscriptions + tags: + - SDM Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual sdm subscription + operationId: ModifysdmSubscription + tags: + - SDM Subscription (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves a individual sdmSubscription identified by subsId + operationId: QuerysdmSubscription + tags: + - SDM Subscription (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: subsId + in: path + required: true + description: Unique ID of the subscription to retrieve + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SdmSubscription' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/shared-data: + get: + summary: retrieve shared data + operationId: GetSharedData + tags: + - Retrieval of shared data + parameters: + - name: shared-data-ids + in: query + description: List of shared data ids + required: true + style: form + explode: false + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SharedDataIds' + - name: supportedFeatures + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SharedData' + minItems: 1 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/subs-to-notify: + post: + summary: Subscription data subscriptions + operationId: SubscriptionDataSubscriptions + tags: + - Subs To Notify (Collection) + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//subscription-data/subs-to-notify/{subsId}' + required: true + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + onDataChange: + '{request.body#/callbackReference}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DataChangeNotify' + responses: + '204': + description: Expected response to a valid request + + get: + summary: Retrieves the list of subscriptions + operationId: QuerySubsToNotify + tags: + - Subs To Notify (Collection) + parameters: + - name: ue-id + in: query + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes subscriptions identified by a given ue-id parameter + operationId: RemoveMultipleSubscriptionDataSubscriptions + tags: + - Subs To Notify (Collection) + parameters: + - name: ue-id + in: query + required: true + description: UE ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: nf-instance-id + in: query + required: false + description: NF Instance ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: delete-all-nfs + in: query + required: false + description: Flag to delete subscriptions from all NFs + schema: + type: boolean + - name: implicit-unsubscribe-indication + in: query + required: false + description: Implicit Unsubscribe Indication + schema: + type: boolean + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/subs-to-notify/{subsId}: + delete: + summary: Deletes a subscriptionDataSubscriptions + operationId: RemovesubscriptionDataSubscriptions + tags: + - Subs To Notify (Document) + parameters: + - name: subsId + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + responses: + '204': + description: Expected response to a successful subscription removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify an individual subscriptionDataSubscription + operationId: ModifysubscriptionDataSubscription + tags: + - Subs To Notify (Document) + parameters: + - name: subsId + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '204': + description: Successful response + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieves a individual subscriptionDataSubscription identified by subsId + operationId: QuerySubscriptionDataSubscriptions + tags: + - Subs To Notify (Document) + parameters: + - name: subsId + in: path + required: true + description: Unique ID of the subscription to retrieve + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/trace-data: + get: + summary: Retrieves the trace configuration data of a UE + operationId: QueryTraceData + tags: + - Trace Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/identity-data: + get: + summary: Retrieve identity data by SUPI or GPSI + operationId: GetIdentityData + tags: + - Query Identity Data by SUPI or GPSI (Document) + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: app-port-id + in: query + description: Application port identifier + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AppPortId' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/operator-determined-barring-data: + get: + summary: Retrieve ODB Data data by SUPI or GPSI + operationId: GetOdbData + tags: + - Query ODB Data by SUPI or GPSI (Document) + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/OdbData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data: + get: + summary: Retrieve multiple context data sets of a UE + operationId: QueryContextData + tags: + - Context Data (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: context-dataset-names + in: query + description: List of context dataset names + style: form + explode: false + required: true + schema: + $ref: '#/components/schemas/ContextDatasetNames' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ContextDataSets' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/group-identifiers: + get: + summary: Mapping of Group Identifiers + operationId: GetGroupIdentifiers + tags: + - Group Identifiers + parameters: + - name: ext-group-id + in: query + description: External Group Identifier + required: false + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: int-group-id + in: query + description: Internal Group Identifier + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: ue-id-ind + in: query + description: Indication whether UE identifiers are required or not + required: false + schema: + type: boolean + default: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/GroupIdentifiers' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/5g-vn-groups: + get: + summary: Retrieves the data of a 5G VN Group + operationId: Query5GVnGroup + tags: + - 5G-VN-Groups (Store) + parameters: + - name: gpsis + in: query + description: List of GPSIs + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + style: form + explode: false + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + description: A map(list of key-value pairs) where ExtGroupId serves as key + additionalProperties: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/5g-vn-groups/{externalGroupId}: + put: + summary: Create an individual 5G VN Grouop + operationId: Create5GVnGroup + tags: + - 5GVnGroupConfiguration (Document) + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + requestBody: + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes the 5GVnGroup + operationId: Delete5GVnGroup + tags: + - Delete 5GVnGroup + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '204': + description: Expected response to a successful group removal + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: modify the 5GVnGroup + operationId: Modify5GVnGroup + tags: + - Modify 5GVnGroup + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: Expected response to a valid request + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '403': + description: modification is rejected + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + get: + summary: Retrieve a 5GVnGroup configuration + operationId: Get5GVnGroupConfiguration + tags: + - Query 5GVnGroupConfiguration (Document) + parameters: + - name: externalGroupId + in: path + required: true + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/lcs-privacy-data: + get: + summary: Retrieves the LCS Privacy subscription data of a UE + operationId: QueryLcsPrivacyData + tags: + - LCS Privacy Subscription Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsPrivacyData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/lcs-mo-data: + get: + summary: Retrieves the LCS Mobile Originated subscription data of a UE + operationId: QueryLcsMoData + tags: + - LCS Mobile Originated Subscription Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsMoData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/nidd-authorization-data: + get: + summary: Retrieve NIDD Authorization Data GPSI or External Group identifier + operationId: GetNiddAuData + tags: + - Query NIDD Authorization Data GPSI or External Group identifier (Document) + parameters: + - name: ueId + in: path + description: UE ID + required: true + schema: + type: string + pattern: '^(msisdn-[0-9]{5,15}|.+|extid-[^@]+@[^@]+|extgroupid-[^@]+@[^@]+)$' + - name: single-nssai + in: query + content: + application/json: + schema: + $ref: '#/components/schemas/VarSnssai' + description: single NSSAI + required: true + - name: dnn + in: query + description: DNN + required: true + schema: + $ref: '#/components/schemas/Dnn' + - name: mtc-provider-information + in: query + description: MTC Provider Information + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizationData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/coverage-restriction-data: + get: + summary: Retrieves the subscribed enhanced Coverage Restriction Data of a UE + operationId: QueryCoverageRestrictionData + tags: + - Enhanced Coverage Restriction Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EnhancedCoverageRestrictionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/context-data/location: + get: + summary: Retrieves the UE's Location Information + operationId: QueryUeLocation + tags: + - UE's Location Information (Document) + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LocationInfo' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/v2x-data: + get: + summary: Retrieves the subscribed V2X Data of a UE + operationId: QueryV2xData + tags: + - V2X Subscription Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/V2xSubscriptionData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/lcs-bca-data: + get: + summary: Retrieves the LCS Broadcast Assistance subscription data of a UE + operationId: QueryLcsBcaData + tags: + - LCS Broadcast Assistance Subscription Data + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: servingPlmnId + in: path + description: PLMN ID + required: true + schema: + $ref: '#/components/schemas/VarPlmnId' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.2 + schema: + type: string + - name: If-Modified-Since + in: header + description: Validator for conditional requests, as described in RFC 7232, 3.3 + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LcsBroadcastAssistanceTypesData' + headers: + Cache-Control: + description: Cache-Control containing max-age, as described in RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag, containing a strong validator, as described in RFC 7232, 2.3 + schema: + type: string + Last-Modified: + description: Timestamp for last modification of the resource, as described in RFC 7232, 2.2 + schema: + type: string + default: + description: Unexpected error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + + /subscription-data/group-data/5g-vn-groups/internal: + get: + summary: Retrieves the data of 5G VN Group + operationId: Query5GVnGroupInternal + tags: + - 5G-VN-Groups-Internal (Document) + parameters: + - name: internal-group-ids + in: query + description: List of Internal Group IDs + required: true + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + style: form + explode: false + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + description: A map (list of key-value pairs) where ExtGroupId serves as key + additionalProperties: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/5GVnGroupConfiguration' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /subscription-data/group-data/5g-vn-groups/pp-profile-data: + get: + summary: Retrieves the parameter provision profile data for 5G VN Group + operationId: Query5GVNGroupPPData + tags: + - Parameter Provision profile Data for 5G VN Group(Document) + security: + - {} + - oAuth2ClientCredentials: + - nudr-dr + - oAuth2ClientCredentials: + - nudr-dr + - nudr-dr:subscription-data + parameters: + - name: ext-group-ids + in: query + description: List of external VN group identifiers + schema: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/Pp5gVnGroupProfileData' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + AuthenticationSubscription: + type: object + required: + - authenticationMethod + properties: + authenticationMethod: + $ref: '#/components/schemas/AuthMethod' + encPermanentKey: + type: string + protectionParameterId: + type: string + sequenceNumber: + $ref: '#/components/schemas/SequenceNumber' + authenticationManagementField: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + algorithmId: + type: string + encOpcKey: + type: string + encTopcKey: + type: string + vectorGenerationInHss: + type: boolean + default: false + n5gcAuthMethod: + $ref: '#/components/schemas/AuthMethod' + rgAuthenticationInd: + type: boolean + default: false + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + SequenceNumber: + type: object + properties: + sqnScheme: + $ref: '#/components/schemas/SqnScheme' + sqn: + type: string + pattern: '^[A-Fa-f0-9]{12}$' + lastIndexes: + type: object + additionalProperties: + type: integer + minimum: 0 + indLength: + type: integer + minimum: 0 + difSign: + $ref: '#/components/schemas/Sign' + + SqnScheme: + anyOf: + - type: string + enum: + - GENERAL + - NON_TIME_BASED + - TIME_BASED + - type: string + Sign: + type: string + enum: + - POSITIVE + - NEGATIVE + VarPlmnId: + type: string + pattern: '^[0-9]{5,6}$' + DatasetNames: + type: array + items: + $ref: '#/components/schemas/DataSetName' + minItems: 1 + uniqueItems: true + DataSetName: + anyOf: + - type: string + enum: + - AM + - SMF_SEL + - SMS_SUB + - SM + - TRACE + - SMS_MNG + - LCS_PRIVACY + - LCS_MO + - LCS_BCA + - V2X + - type: string + ProvisionedDataSets: + type: object + properties: + amData: + $ref: '#/components/schemas/AccessAndMobilitySubscriptionData' + smfSelData: + $ref: '#/components/schemas/SmfSelectionSubscriptionData' + smsSubsData: + $ref: '#/components/schemas/SmsSubscriptionData' + smData: + type: array + items: + $ref: '#/components/schemas/SessionManagementSubscriptionData' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + smsMngData: + $ref: '#/components/schemas/SmsManagementSubscriptionData' + lcsPrivacyData: + $ref: '#/components/schemas/LcsPrivacyData' + lcsMoData: + $ref: '#/components/schemas/LcsMoData' + lcsBcaData: + $ref: '#/components/schemas/LcsBroadcastAssistanceTypesData' + v2xData: + $ref: '#/components/schemas/V2xSubscriptionData' + AccessAndMobilitySubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/AccessAndMobilitySubscriptionData' + SmfSelectionSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SmfSelectionSubscriptionData' + VarSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + Dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + SessionManagementSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SessionManagementSubscriptionData' + Amf3GppAccessRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/Amf3GppAccessRegistration' + AmfNon3GppAccessRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/AmfNon3GppAccessRegistration' + SmfRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/SmfRegistration' + SmsfRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/SmsfRegistration' + LocationInfo: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/LocationInfo' + SmsManagementSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SmsManagementSubscriptionData' + SmsSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SmsSubscriptionData' + LcsPrivacyData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/LcsPrivacyData' + LcsMoData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/LcsMoData' + AuthorizationData: + $ref: 'TS29503_Nudm_NIDDAU.yaml#/components/schemas/AuthorizationData' + EnhancedCoverageRestrictionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/EnhancedCoverageRestrictionData' + V2xSubscriptionData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/V2xSubscriptionData' + LcsBroadcastAssistanceTypesData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/LcsBroadcastAssistanceTypesData' + OperatorSpecificDataContainer: + type: object + required: + - dataType + - value + properties: + dataType: + type: string + enum: + - string + - integer + - number + - boolean + - object + dataTypeDefinition: + type: string + value: + oneOf: + - type: string + - type: integer + - type: number + - type: boolean + - type: object + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + AuthMethod: + anyOf: + - type: string + enum: + - 5G_AKA + - EAP_AKA_PRIME + - EAP_TLS + - type: string + PpData: + $ref: 'TS29503_Nudm_PP.yaml#/components/schemas/PpData' + EeSubscription: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EeSubscription' + VarUeGroupId: + type: string + pattern: '^(extgroupid-[^@]+@[^@]+|anyUE)$' + SdmSubscription: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + SmfRegList: + type: array + items: + $ref: '#/components/schemas/SmfRegistration' + SubscriptionDataSubscriptions: + type: object + required: + - monitoredResourceUris + - callbackReference + properties: + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + callbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + originalCallbackReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + sdmSubscription: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + subscriptionId: + type: string + + supported-features: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + DataChangeNotify: + type: object + properties: + originalCallbackReference: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + notifyItems: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NotifyItem' + minItems: 1 + sdmSubscription: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + additionalSdmSubscriptions: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SdmSubscription' + minItems: 1 + subscriptionDataSubscriptions: + type: array + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + + IdentityData: + type: object + properties: + supiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + gpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + SorData: + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + sorXmacIue: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SorMac' + sorMacIue: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SorMac' + required: + - provisioningTime + - ueUpdateStatus + + UpuData: + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + upuXmacIue: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuMac' + upuMacIue: + $ref: 'TS29509_Nausf_UPUProtection.yaml#/components/schemas/UpuMac' + required: + - provisioningTime + - ueUpdateStatus + + NssaiAckData: + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + required: + - provisioningTime + - ueUpdateStatus + + CagAckData: + type: object + properties: + provisioningTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueUpdateStatus: + $ref: '#/components/schemas/UeUpdateStatus' + required: + - provisioningTime + - ueUpdateStatus + + UeUpdateStatus: + type: string + enum: + - NOT_SENT + - SENT_NO_ACK_REQUIRED + - WAITING_FOR_ACK + - ACK_RECEIVED + - NEGATIVE_ACK_RECEIVED + + EeProfileData: + type: object + properties: + restrictedEventTypes: + type: array + items: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EventType' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + allowedMtcProvider: + description: A map (list of key-value pairs where EventType serves as key) of MTC provider lists. In addition to defined EventTypes, the key value "ALL" may be used to identify a map entry which contains a list of MtcProviders that are allowed monitoring all Event Types. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/MtcProvider' + minItems: 1 + minProperties: 1 + AmfSubscriptionInfo: + type: object + required: + - amfInstanceId + - subscriptionId + properties: + amfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + subsChangeNotifyCorrelationId: + type: string + ContextDatasetNames: + type: array + items: + $ref: '#/components/schemas/ContextDataSetName' + minItems: 2 + uniqueItems: true + ContextDataSetName: + anyOf: + - type: string + enum: + - AMF_3GPP + - AMF_NON_3GPP + - SDM_SUBSCRIPTIONS + - EE_SUBSCRIPTIONS + - SMSF_3GPP + - SMSF_NON_3GPP + - SUBS_TO_NOTIFY + - SMF_REG + - IP_SM_GW + - type: string + ContextDataSets: + type: object + properties: + amf3Gpp: + $ref: '#/components/schemas/Amf3GppAccessRegistration' + amfNon3Gpp: + $ref: '#/components/schemas/AmfNon3GppAccessRegistration' + sdmSubscriptions: + type: array + items: + $ref: '#/components/schemas/SdmSubscription' + minItems: 1 + eeSubscriptions: + type: array + items: + $ref: '#/components/schemas/EeSubscription' + minItems: 1 + smsf3GppAccess: + $ref: '#/components/schemas/SmsfRegistration' + smsfNon3GppAccess: + $ref: '#/components/schemas/SmsfRegistration' + subscriptionDataSubscriptions: + type: array + items: + $ref: '#/components/schemas/SubscriptionDataSubscriptions' + minItems: 1 + smfRegistrations: + $ref: '#/components/schemas/SmfRegList' + ipSmGw: + $ref: '#/components/schemas/IpSmGwRegistration' + + IpSmGwRegistration: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/IpSmGwRegistration' + + MessageWaitingData: + type: object + properties: + mwdList: + type: array + items: + $ref: '#/components/schemas/SmscData' + minItems: 1 + + SmscData: + type: object + anyOf: + - required: [ smscMapAddress ] + - required: [ smscDiameterAddress ] + properties: + smscMapAddress: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/E164Number' + smscDiameterAddress: + $ref: 'TS29503_Nudm_UECM.yaml#/components/schemas/NetworkNodeDiameterAddress' + + SmfSubscriptionInfo: + description: Information related to active subscriptions at the SMF(s) + type: object + required: + - smfSubscriptionList + properties: + smfSubscriptionList: + type: array + items: + $ref: '#/components/schemas/SmfSubscriptionItem' + minItems: 1 + + SmfSubscriptionItem: + description: Contains info about a single SMF event subscription + type: object + required: + - smfInstanceId + - subscriptionId + properties: + smfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + MtcProvider: + type: object + properties: + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + afId: + type: string + + HssSubscriptionInfo: + description: Information related to active subscriptions at the HSS(s) + type: object + required: + - hssSubscriptionList + properties: + hssSubscriptionList: + type: array + items: + $ref: '#/components/schemas/HssSubscriptionItem' + minItems: 1 + + HssSubscriptionItem: + description: Contains info about a single HSS event subscription + type: object + required: + - hssInstanceId + - subscriptionId + properties: + hssInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + EeGroupProfileData: + type: object + properties: + restrictedEventTypes: + type: array + items: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/EventType' + allowedMtcProvider: + description: A map (list of key-value pairs where EventType serves as key) of MTC provider lists. In addition to defined EventTypes, the key value "ALL" may be used to identify a map entry which contains a list of MtcProviders that are allowed monitoring all Event Types. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/MtcProvider' + minItems: 1 + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + Pp5gVnGroupProfileData: + type: object + properties: + allowedMtcProviders: + description: A map (list of key-value pairs where external VN group identifier serves as key) of AllowedMtcProviderInfo lists. In addition to defined external VN group identifier, the key value "ALL" may be used to identify a map entry which contains a list of AllowedMtcProviderInfo that are allowed operating all the external group identifiers. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AllowedMtcProviderInfo' + minItems: 1 + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + PpProfileData: + type: object + properties: + allowedMtcProviders: + description: A map (list of key-value pairs where PpDataType serves as key) of AllowedMtcProviderInfo lists. In addition to defined PpDataType, the key value "ALL" may be used to identify a map entry which contains a list of AllowedMtcProviderInfo that are allowed to provision all types of the PP data for the user using UDM ParameterProvision service. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AllowedMtcProviderInfo' + minItems: 1 + minProperties: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + AllowedMtcProviderInfo: + type: object + properties: + mtcProviderInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + afId: + type: string + + PpDataType: + anyOf: + - type: string + enum: + - COMMUNICATION_CHARACTERISTICS + - EXPECTED_UE_BEHAVIOUR + - EC_RESTRICTION + - ACS_INFO + - TRACE + - STN_SR + - LCS_PRIVACY + - SOR_INFO + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29507_Npcf_AMPolicyControl.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29507_Npcf_AMPolicyControl.yaml new file mode 100644 index 000000000..32353d721 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29507_Npcf_AMPolicyControl.yaml @@ -0,0 +1,604 @@ +openapi: 3.0.0 +info: + version: 1.1.4 + title: Npcf_AMPolicyControl + description: | + Access and Mobility Policy Control Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.507 V16.8.0; 5G System; Access and Mobility Policy Control Service. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.507/' +servers: + - url: '{apiRoot}/npcf-am-policy-control/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - npcf-am-policy-control +paths: + /policies: + post: + operationId: CreateIndividualAMPolicyAssociation + summary: Create individual AM policy association. + tags: + - AM Policy Associations (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociationRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociation' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/npcf-am-policy-control/v1/policies/{polAssoId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + policyUpdateNotification: + '{$request.body#/notificationUri}/update': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyUpdate' + responses: + '204': + description: No Content, Notification was successful. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + policyAssocitionTerminationRequestNotification: + '{$request.body#/notificationUri}/terminate': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TerminationNotification' + responses: + '204': + description: No Content, Notification was successful. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /policies/{polAssoId}: + get: + operationId: ReadIndividualAMPolicyAssociation + summary: Read individual AM policy association. + tags: + - Individual AM Policy Association (Document) + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociation' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + operationId: DeleteIndividualAMPolicyAssociation + summary: Delete individual AM policy association. + tags: + - Individual AM Policy Association (Document) + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was successfully deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /policies/{polAssoId}/update: + post: + operationId: ReportObservedEventTriggersForIndividualAMPolicyAssociation + summary: Report observed event triggers and obtain updated policies for an individual AM policy association. + tags: + - Individual AM Policy Association (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyAssociationUpdateRequest' + parameters: + - name: polAssoId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Updated policies are returned + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyUpdate' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-am-policy-control: Access to the Npcf_AMPolicyControl API + schemas: + PolicyAssociation: + type: object + properties: + request: + $ref: '#/components/schemas/PolicyAssociationRequest' + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + description: Request Triggers that the PCF subscribes. + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + smfSelInfo: + $ref: '#/components/schemas/SmfSelectionData' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + pras: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suppFeat + PolicyAssociationRequest: + description: Information which the NF service consumer provides when requesting the creation of a policy association. The serviveName property corresponds to the serviceName in the main body of the specification. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altNotifIpv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + description: Alternate or backup IPv4 Address(es) where to send Notifications. + altNotifIpv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + description: Alternate or backup IPv6 Address(es) where to send Notifications. + altNotifFqdns: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + minItems: 1 + description: Alternate or backup FQDN(s) where to send Notifications. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + accessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + userLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + servingPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ratTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + groupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + allowedSnssais: + description: array of allowed S-NSSAIs for the 3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + mappingSnssais: + description: mapping of each S-NSSAI of the Allowed NSSAI to the corresponding S-NSSAI of the HPLMN. + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/MappingOfSnssai' + minItems: 1 + n3gAllowedSnssais: + description: array of allowed S-NSSAIs for the Non-3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + serviveName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + traceReq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + - suppFeat + - supi + PolicyAssociationUpdateRequest: + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + altNotifIpv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + description: Alternate or backup IPv4 Address(es) where to send Notifications. + altNotifIpv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + description: Alternate or backup IPv6 Address(es) where to send Notifications. + altNotifFqdns: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + minItems: 1 + description: Alternate or backup FQDN(s) where to send Notifications. + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + description: Request Triggers that the NF service consumer observes. + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + smfSelInfo: + $ref: '#/components/schemas/SmfSelectionData' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + praStatuses: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: Map of PRA status information. + userLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + allowedSnssais: + description: array of allowed S-NSSAIs for the 3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + mappingSnssais: + description: mapping of each S-NSSAI of the Allowed NSSAI to the corresponding S-NSSAI of the HPLMN. + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/MappingOfSnssai' + minItems: 1 + accessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + ratTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + n3gAllowedSnssais: + description: array of allowed S-NSSAIs for the Non-3GPP access. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + traceReq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + PolicyUpdate: + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + triggers: + type: array + items: + $ref: '#/components/schemas/RequestTrigger' + minItems: 1 + nullable: true + description: Request Triggers that the PCF subscribes. + servAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + wlServAreaRes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction' + rfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + smfSelInfo: + $ref: '#/components/schemas/SmfSelectionData' + ueAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + pras: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfoRm' + description: Map of PRA information. + minProperties: 1 + nullable: true + required: + - resourceUri + TerminationNotification: + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + cause: + $ref: '#/components/schemas/PolicyAssociationReleaseCause' + required: + - resourceUri + - cause + SmfSelectionData: + type: object + properties: + unsuppDnn: + type: boolean + candidates: + type: object + additionalProperties: + $ref: '#/components/schemas/CandidateForReplacement' + minProperties: 1 + nullable: true + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + mappingSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + nullable: true + CandidateForReplacement: + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + nullable: true + required: + - snssai + nullable: true + RequestTrigger: + anyOf: + - type: string + enum: + - LOC_CH + - PRA_CH + - SERV_AREA_CH + - RFSP_CH + - ALLOWED_NSSAI_CH + - UE_AMBR_CH + - SMF_SELECT_CH + - ACCESS_TYPE_CH + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - LOC_CH: Location change (tracking area). The tracking area of the UE has changed. + - PRA_CH: Change of UE presence in PRA. The AMF reports the current presence status of the UE in a Presence Reporting Area, and notifies that the UE enters/leaves the Presence Reporting Area. + - SERV_AREA_CH: Service Area Restriction change. The UDM notifies the AMF that the subscribed service area restriction information has changed. + - RFSP_CH: RFSP index change. The UDM notifies the AMF that the subscribed RFSP index has changed. + - ALLOWED_NSSAI_CH: Allowed NSSAI change. The AMF notifies that the set of UE allowed S-NSSAIs has changed. + - UE_AMBR_CH: UE-AMBR change. The UDM notifies the AMF that the subscribed UE-AMBR has changed. + - SMF_SELECT_CH: SMF selection information change. The UE requested for an unsupported DNN or UE requested for a DNN within the list of DNN candidates for replacement per S-NSSAI. + - ACCESS_TYPE_CH: Access Type change. The AMF notifies that the access type and the RAT type combinations available in the AMF for a UE with simultaneous 3GPP and non-3GPP connectivity has changed. + PolicyAssociationReleaseCause: + anyOf: + - type: string + enum: + - UNSPECIFIED + - UE_SUBSCRIPTION + - INSUFFICIENT_RES + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UNSPECIFIED: This value is used for unspecified reasons. + - UE_SUBSCRIPTION: This value is used to indicate that the session needs to be terminated because the subscription of UE has changed (e.g. was removed). + - INSUFFICIENT_RES: This value is used to indicate that the server is overloaded and needs to abort the session. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_SoRProtection.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_SoRProtection.yaml new file mode 100644 index 000000000..8c8c254fc --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_SoRProtection.yaml @@ -0,0 +1,162 @@ +openapi: 3.0.0 +info: + version: 1.1.2 + title: Nausf_SoRProtection Service + description: | + AUSF SoR Protection Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.509 V16.7.0; 5G System; Authentication Server Services + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.509' + +servers: + - url: '{apiRoot}/nausf-sorprotection/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - nausf-sorprotection +paths: + /{supi}/ue-sor: + post: + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SorInfo' + required: true + responses: + '200': + description: SorSecurityInfo + content: + application/json: + schema: + $ref: '#/components/schemas/SorSecurityInfo' + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nausf-sorprotection: Access to the Nausf_SoRProtection API + schemas: +# COMPLEX TYPES: +# + SorInfo: + type: object + properties: + steeringContainer: + $ref: '#/components/schemas/SteeringContainer' + ackInd: + $ref: '#/components/schemas/AckInd' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ackInd + SorSecurityInfo: + type: object + properties: + sorMacIausf: + $ref: '#/components/schemas/SorMac' + counterSor: + $ref: '#/components/schemas/CounterSor' + sorXmacIue: + $ref: '#/components/schemas/SorMac' + required: + - sorMacIausf + - counterSor + SteeringContainer: + oneOf: + - type: array + items: + $ref: '#/components/schemas/SteeringInfo' + minItems: 1 + - $ref: '#/components/schemas/SecuredPacket' + SteeringInfo: + type: object + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + accessTechList: + type: array + items: + $ref: '#/components/schemas/AccessTech' + minItems: 1 + required: + - plmnId +# SIMPLE TYPES: +# + SorMac: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + CounterSor: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + AckInd: + type: boolean + SecuredPacket: + type: string + format: base64 +# ENUMS: + + AccessTech: + anyOf: + - type: string + enum: + - NR + - EUTRAN_IN_WBS1_MODE_AND_NBS1_MODE + - EUTRAN_IN_NBS1_MODE_ONLY + - EUTRAN_IN_WBS1_MODE_ONLY + - UTRAN + - GSM_AND_ECGSM_IoT + - GSM_WITHOUT_ECGSM_IoT + - ECGSM_IoT_ONLY + - CDMA_1xRTT + - CDMA_HRPD + - GSM_COMPACT + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_UEAuthentication.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_UEAuthentication.yaml new file mode 100644 index 000000000..2d393e323 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_UEAuthentication.yaml @@ -0,0 +1,607 @@ +openapi: 3.0.0 +info: + version: 1.1.2 + title: AUSF API + description: | + AUSF UE Authentication Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.509 V16.7.0; 5G System; 3GPP TS Authentication Server services. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.509' + +servers: + - url: '{apiRoot}/nausf-auth/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - nausf-auth +paths: + /ue-authentications: + post: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInfo' + required: true + responses: + '201': + description: UEAuthenticationCtx + content: + application/3gppHal+json: + schema: + $ref: '#/components/schemas/UEAuthenticationCtx' + headers: + Location: + description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nausf-auth/v1/ue-authentications/{authCtxId}' + required: true + schema: + type: string + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '400': + description: Bad Request from the AMF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden due to serving network not authorized + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: User does not exist in the HPLMN + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '501': + description: Received protection scheme is not supported by HPLMN + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + /ue-authentications/deregister: + post: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeregistrationInfo' + required: true + responses: + '204': + description: Expected response to a successful removal of security context + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + /ue-authentications/{authCtxId}/5g-aka-confirmation: + put: + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConfirmationData' + responses: + '200': + description: Request processed (EAP success or Failure) + content: + application/json: + schema: + $ref: '#/components/schemas/ConfirmationDataResponse' + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + delete: + summary: Deletes the authentication result in the UDM + operationId: Delete5gAkaAuthenticationResult + tags: + - Authentication Result Deletion + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful authentication result removal + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /ue-authentications/{authCtxId}/eap-session: + post: + operationId: EapAuthMethod + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EapSession' + responses: + '200': + description: Use to handle or close the EAP session + content: + application/json: + schema: + $ref: '#/components/schemas/EapSession' + + application/3gppHal+json: + schema: + type: object + properties: + eapPayload: + $ref: '#/components/schemas/EapPayload' + _links: + type: object + description: 'URI : /{eapSessionUri}' + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + minProperties: 1 + required: + - eapPayload + - _links + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + delete: + summary: Deletes the authentication result in the UDM + operationId: DeleteEapAuthenticationResult + tags: + - Authentication Result Deletion + parameters: + - name: authCtxId + in: path + required: true + schema: + type: string + responses: + '204': + description: Expected response to a successful authentication result removal + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /rg-authentications: + post: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RgAuthenticationInfo' + required: true + responses: + '201': + description: RgAuthCtx + content: + application/json: + schema: + $ref: '#/components/schemas/RgAuthCtx' + headers: + Location: + description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nausf-auth/v1/rg-authentications/{authCtxId}' + required: true + schema: + type: string + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '403': + description: The UE is not allowed to be authenticated + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '400': + description: Bad Request from the AMF + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: User does not exist in the HPLMN + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nausf-auth: Access to Nausf_UEAuthentication API + schemas: + AuthenticationInfo: + type: object + properties: + supiOrSuci: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupiOrSuci' + servingNetworkName: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + resynchronizationInfo: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ResynchronizationInfo' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + pattern: '^[0-9]{1,4}$' + cellCagInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId' + minItems: 1 + n5gcInd: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supiOrSuci + - servingNetworkName + UEAuthenticationCtx: + type: object + properties: + authType: + $ref: '#/components/schemas/AuthType' + 5gAuthData: + oneOf: + - $ref: '#/components/schemas/Av5gAka' + - $ref: '#/components/schemas/EapPayload' + _links: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + servingNetworkName: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName' + required: + - authType + - 5gAuthData + - _links + + Av5gAka: + type: object + required: + - rand + - hxresStar + - autn + properties: + rand: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Rand' + hxresStar: + $ref: '#/components/schemas/HxresStar' + autn: + $ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Autn' + ConfirmationData: + type: object + required: + - resStar + properties: + resStar: + $ref: '#/components/schemas/ResStar' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ConfirmationDataResponse: + type: object + properties: + authResult: + $ref: '#/components/schemas/AuthResult' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + kseaf: + $ref: '#/components/schemas/Kseaf' + + required: + - authResult + EapSession: + type: object + properties: + eapPayload: + $ref: '#/components/schemas/EapPayload' + kSeaf: + $ref: '#/components/schemas/Kseaf' + _links: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + authResult: + $ref: '#/components/schemas/AuthResult' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - eapPayload + DeregistrationInfo: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supi + RgAuthenticationInfo: + type: object + properties: + suci: + $ref: '#/components/schemas/Suci' + authenticatedInd: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suci + - authenticatedInd + RgAuthCtx: + type: object + properties: + authResult: + $ref: '#/components/schemas/AuthResult' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + authInd: + type: boolean + default: false + required: + - authResult + + AuthResult: + type: string + enum: + - AUTHENTICATION_SUCCESS + - AUTHENTICATION_FAILURE + - AUTHENTICATION_ONGOING + EapPayload: + type: string + format: base64 + description: contains an EAP packet + nullable: true + Kseaf: + type: string + pattern: '[A-Fa-f0-9]{64}' + ResStar: + type: string + pattern: '[A-Fa-f0-9]{32}' + nullable: true + HxresStar: + type: string + pattern: "[A-Fa-f0-9]{32}" + Suci: + type: string + pattern: '^(suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.+|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$' + AuthType: + anyOf: + - type: string + enum: + - 5G_AKA + - EAP_AKA_PRIME + - EAP_TLS + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_UPUProtection.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_UPUProtection.yaml new file mode 100644 index 000000000..6450da493 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29509_Nausf_UPUProtection.yaml @@ -0,0 +1,147 @@ +openapi: 3.0.0 +info: + version: 1.1.2 + title: Nausf_UPUProtection Service + description: | + AUSF UPU Protection Service + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.509 V16.7.0; 5G System; Authentication Server Services + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.509' + +servers: + - url: '{apiRoot}/nausf-upuprotection/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501. + +security: + - {} + - oAuth2ClientCredentials: + - nausf-upuprotection + +paths: + /{supi}/ue-upu: + post: + parameters: + - name: supi + in: path + description: Identifier of the UE + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpuInfo' + required: true + responses: + '200': + description: UpuSecurityInfo + content: + application/json: + schema: + $ref: '#/components/schemas/UpuSecurityInfo' + + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '307': + description: temporary redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: permanent redirect + headers: + Location: + description: 'An alternative URI of the resource located on an alternative service instance within the same AUSF or AUSF (service) set ' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target AUSF (service) instance towards which the request is redirected' + schema: + type: string +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nausf-upuprotection: Access to the Nausf_UPUProtection API + + schemas: + +# COMPLEX TYPES: + + UpuInfo: + type: object + properties: + upuDataList: + type: array + items: + $ref: '#/components/schemas/UpuData' + minItems: 1 + upuAckInd: + $ref: '#/components/schemas/UpuAckInd' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - upuDataList + - upuAckInd + UpuSecurityInfo: + type: object + properties: + upuMacIausf: + $ref: '#/components/schemas/UpuMac' + counterUpu: + $ref: '#/components/schemas/CounterUpu' + upuXmacIue: + $ref: '#/components/schemas/UpuMac' + required: + - upuMacIausf + - counterUpu + UpuData: + type: object + properties: + secPacket: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SecuredPacket' + defaultConfNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + routingId: + $ref: 'TS29544_Nspaf_SecuredPacket.yaml#/components/schemas/RoutingId' + oneOf: + - required: [secPacket] + - required: [defaultConfNssai] + +# SIMPLE TYPES: + + UpuMac: + type: string + pattern: '^[A-Fa-f0-9]{32}$' + CounterUpu: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + UpuAckInd: + type: boolean + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_AccessToken.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_AccessToken.yaml new file mode 100644 index 000000000..9d83b3f87 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_AccessToken.yaml @@ -0,0 +1,271 @@ +openapi: 3.0.0 + +info: + version: '1.1.3' + title: 'NRF OAuth2' + description: | + NRF OAuth2 Authorization. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.510 V16.8.0; 5G System; Network Function Repository Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' + +paths: + /oauth2/token: + post: + summary: Access Token Request + operationId: AccessTokenRequest + tags: + - Access Token Request + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + content: + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/AccessTokenReq' + required: true + responses: + '200': + description: Successful Access Token Request + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenRsp' + headers: + Cache-Control: + $ref: '#/components/headers/cache-control' + Pragma: + $ref: '#/components/headers/pragma' + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + description: Error in the Access Token Request + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenErr' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + headers: + Cache-Control: + $ref: '#/components/headers/cache-control' + Pragma: + $ref: '#/components/headers/pragma' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + headers: + cache-control: + required: true + schema: + type: string + enum: + - no-store + pragma: + required: true + schema: + type: string + enum: + - no-cache + schemas: + AccessTokenReq: + description: Contains information related to the access token request + type: object + required: + - grant_type + - nfInstanceId + - scope + properties: + grant_type: + type: string + enum: + - client_credentials + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + targetNfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + scope: + type: string + pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' + targetNfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + requesterPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + requesterPlmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 2 + requesterSnssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + requesterFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + requesterSnpnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + targetPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + targetSnssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + targetNsiList: + type: array + items: + type: string + minItems: 1 + targetNfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + targetNfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + AccessTokenRsp: + description: Contains information related to the access token response + type: object + required: + - access_token + - token_type + properties: + access_token: + type: string + description: JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims) + token_type: + type: string + enum: + - Bearer + expires_in: + type: integer + scope: + type: string + pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' + AccessTokenClaims: + description: The claims data structure for the access token + type: object + required: + - iss + - sub + - aud + - scope + - exp + properties: + iss: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + sub: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + aud: + anyOf: + - $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + scope: + type: string + pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' + exp: + type: integer + consumerPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + producerPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + producerSnssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + producerNsiList: + type: array + items: + type: string + minItems: 1 + producerNfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + AccessTokenErr: + description: Error returned in the access token response message + type: object + required: + - error + properties: + error: + type: string + enum: + - invalid_request + - invalid_client + - invalid_grant + - unauthorized_client + - unsupported_grant_type + - invalid_scope + error_description: + type: string + error_uri: + type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_Bootstrapping.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_Bootstrapping.yaml new file mode 100644 index 000000000..ccbeda6c1 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_Bootstrapping.yaml @@ -0,0 +1,83 @@ +openapi: 3.0.0 + +info: + version: '1.0.2' + title: 'NRF Bootstrapping' + description: | + NRF Bootstrapping. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.510 V16.8.0; 5G System; Network Function Repository Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' + +paths: + /bootstrapping: + get: + summary: Bootstrapping Info Request + operationId: BootstrappingInfoRequest + tags: + - Bootstrapping Request + responses: + '200': + description: Successful Bootstrapping Request + content: + application/3gppHal+json: + schema: + $ref: '#/components/schemas/BootstrappingInfo' + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + BootstrappingInfo: + description: Information returned by NRF in the bootstrapping response message + type: object + required: + - _links + properties: + status: + $ref: '#/components/schemas/Status' + _links: + type: object + description: 'Map of link objects where the keys are the link relations defined in 3GPP TS 29.510 clause 6.4.6.3.3' + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + minProperties: 1 + Status: + description: Overal status of the NRF + anyOf: + - type: string + enum: + - OPERATIVE + - NON_OPERATIVE + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_NFDiscovery.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_NFDiscovery.yaml new file mode 100644 index 000000000..7fe4e1dfb --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_NFDiscovery.yaml @@ -0,0 +1,1198 @@ +openapi: 3.0.0 + +info: + version: '1.1.4' + title: 'NRF NFDiscovery Service' + description: | + NRF NFDiscovery Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.510 V16.8.0; 5G System; Network Function Repository Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' + +servers: + - url: '{apiRoot}/nnrf-disc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnrf-disc + +paths: + /nf-instances: + get: + summary: Search a collection of NF Instances + operationId: SearchNFInstances + tags: + - NF Instances (Store) + parameters: + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: target-nf-type + in: query + description: Type of the target NF + required: true + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - name: requester-nf-type + in: query + description: Type of the requester NF + required: true + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - name: requester-nf-instance-id + in: query + description: NfInstanceId of the requester NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: service-names + in: query + description: Names of the services offered by the NF + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + minItems: 1 + uniqueItems: true + style: form + explode: false + - name: requester-nf-instance-fqdn + in: query + description: FQDN of the requester NF + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + - name: target-plmn-list + in: query + description: Id of the PLMN of the target NF + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + - name: requester-plmn-list + in: query + description: Id of the PLMN where the NF issuing the Discovery request is located + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + - name: target-nf-instance-id + in: query + description: Identity of the NF instance being discovered + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: target-nf-fqdn + in: query + description: FQDN of the NF instance being discovered + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + - name: hnrf-uri + in: query + description: Uri of the home NRF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + - name: snssais + in: query + description: Slice info of the target NF + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: requester-snssais + in: query + description: Slice info of the requester NF + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: plmn-specific-snssai-list + in: query + description: PLMN specific Slice info of the target NF + content: + application/json: + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + - name: requester-plmn-specific-snssai-list + in: query + description: PLMN-specific slice info of the NF issuing the Discovery request + content: + application/json: + schema: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + - name: dnn + in: query + description: Dnn supported by the BSF, SMF or UPF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: nsi-list + in: query + description: NSI IDs that are served by the services being discovered + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: smf-serving-area + in: query + schema: + type: string + - name: tai + in: query + description: Tracking Area Identity + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + - name: amf-region-id + in: query + description: AMF Region Identity + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' + - name: amf-set-id + in: query + description: AMF Set Identity + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' + - name: guami + in: query + description: Guami used to search for an appropriate AMF + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + - name: supi + in: query + description: SUPI of the user + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: ue-ipv4-address + in: query + description: IPv4 address of the UE + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ip-domain + in: query + description: IP domain of the UE, which supported by BSF + schema: + type: string + - name: ue-ipv6-prefix + in: query + description: IPv6 prefix of the UE + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: pgw-ind + in: query + description: Combined PGW-C and SMF or a standalone SMF + schema: + type: boolean + - name: pgw + in: query + description: PGW FQDN of a combined PGW-C and SMF + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + - name: gpsi + in: query + description: GPSI of the user + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: external-group-identity + in: query + description: external group identifier of the user + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + - name: internal-group-identity + in: query + description: internal group identifier of the user + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: pfd-data + in: query + description: PFD data + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PfdData' + - name: data-set + in: query + description: data set supported by the NF + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DataSetId' + - name: routing-indicator + in: query + description: routing indicator in SUCI + schema: + type: string + pattern: '^[0-9]{1,4}$' + - name: group-id-list + in: query + description: Group IDs of the NFs being discovered + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + minItems: 1 + style: form + explode: false + - name: dnai-list + in: query + description: Data network access identifiers of the NFs being discovered + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + style: form + explode: false + - name: pdu-session-types + in: query + description: list of PDU Session Type required to be supported by the target NF + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + style: form + explode: false + - name: event-id-list + in: query + description: Analytics event(s) requested to be supported by the Nnwdaf_AnalyticsInfo service + schema: + type: array + items: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' + minItems: 1 + style: form + explode: false + - name: nwdaf-event-list + in: query + description: Analytics event(s) requested to be supported by the Nnwdaf_EventsSubscription service. + schema: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + minItems: 1 + style: form + explode: false + - name: supported-features + in: query + description: Features required to be supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: upf-iwk-eps-ind + in: query + description: UPF supporting interworking with EPS or not + schema: + type: boolean + - name: chf-supported-plmn + in: query + description: PLMN ID supported by a CHF + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: preferred-locality + in: query + description: preferred target NF location + schema: + type: string + - name: access-type + in: query + description: AccessType supported by the target NF + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + - name: limit + in: query + description: Maximum number of NFProfiles to return in the response + required: false + schema: + type: integer + minimum: 1 + - name: required-features + in: query + description: Features required to be supported by the target NF + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + minItems: 1 + style: form + explode: false + - name: complex-query + in: query + description: the complex query condition expression + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ComplexQuery' + - name: max-payload-size + in: query + description: Maximum payload size of the response expressed in kilo octets + required: false + schema: + type: integer + maximum: 2000 + default: 124 + - name: max-payload-size-ext + in: query + description: Extended query for maximum payload size of the response expressed in kilo octets + required: false + schema: + type: integer + default: 124 + - name: atsss-capability + in: query + description: ATSSS Capability + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AtsssCapability' + - name: upf-ue-ip-addr-ind + in: query + description: UPF supporting allocating UE IP addresses/prefixes + schema: + type: boolean + - name: client-type + in: query + description: Requested client type served by the NF + content: + application/json: + schema: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/ExternalClientType' + - name: lmf-id + in: query + description: LMF identification to be discovered + content: + application/json: + schema: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' + - name: an-node-type + in: query + description: Requested AN node type served by the NF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AnNodeType' + - name: rat-type + in: query + description: Requested RAT type served by the NF + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + - name: preferred-tai + in: query + description: preferred Tracking Area Identity + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + - name: preferred-nf-instances + in: query + description: preferred NF Instances + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + style: form + explode: false + - name: If-None-Match + in: header + description: Validator for conditional requests, as described in IETF RFC 7232, 3.2 + schema: + type: string + - name: target-snpn + in: query + description: Target SNPN Identity + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + - name: requester-snpn-list + in: query + description: SNPN ID(s) of the NF instance issuing the Discovery request + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + - name: af-ee-data + in: query + description: NEF exposured by the AF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AfEventExposureData' + - name: w-agf-info + in: query + description: UPF collocated with W-AGF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/WAgfInfo' + - name: tngf-info + in: query + description: UPF collocated with TNGF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TngfInfo' + - name: twif-info + in: query + description: UPF collocated with TWIF + content: + application/json: + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TwifInfo' + - name: target-nf-set-id + in: query + description: Target NF Set ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + - name: target-nf-service-set-id + in: query + description: Target NF Service Set ID + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + - name: nef-id + in: query + description: NEF ID + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefId' + - name: notification-type + in: query + description: Notification Type + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NotificationType' + - name: n1-msg-class + in: query + description: N1 Message Class + schema: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N1MessageClass' + - name: n2-info-class + in: query + description: N2 Information Class + schema: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InformationClass' + - name: serving-scope + in: query + description: areas that can be served by the target NF + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: imsi + in: query + description: IMSI of the requester UE to search for an appropriate NF (e.g. HSS) + schema: + type: string + - name: ims-private-identity + in: query + description: IMPI of the requester UE to search for a target HSS + schema: + type: string + - name: ims-public-identity + in: query + description: IMS Public Identity of the requester UE to search for a target HSS + schema: + type: string + - name: msisdn + in: query + description: MSISDN of the requester UE to search for a target HSS + schema: + type: string + - name: preferred-api-versions + in: query + description: Preferred API version of the services to be discovered + content: + application/json: + schema: + type: object + additionalProperties: + type: string + minProperties: 1 + - name: v2x-support-ind + in: query + description: PCF supports V2X + schema: + type: boolean + - name: redundant-gtpu + in: query + description: UPF supports redundant gtp-u to be discovered + schema: + type: boolean + - name: redundant-transport + in: query + description: UPF supports redundant transport path to be discovered + schema: + type: boolean + - name: ipups + in: query + description: UPF which is configured for IPUPS functionality to be discovered + schema: + type: boolean + - name: scp-domain-list + in: query + description: SCP domains the target SCP belongs to + schema: + type: array + items: + type: string + minItems: 1 + style: form + explode: false + - name: address-domain + in: query + description: Address domain reachable through the SCP + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + - name: ipv4-addr + in: query + description: IPv4 address reachable through the SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ipv6-prefix + in: query + description: IPv6 prefix reachable through the SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: served-nf-set-id + in: query + description: NF Set ID served by the SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + - name: remote-plmn-id + in: query + description: Id of the PLMN reachable through the SCP + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: data-forwarding + in: query + description: UPF Instance(s) configured for data forwarding are requested + schema: + type: boolean + - name: preferred-full-plmn + in: query + description: NF Instance(s) serving the full PLMN are preferred + schema: + type: boolean + - name: requester-features + in: query + description: Features supported by the NF Service Consumer that is invoking the Nnrf_NFDiscovery service + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: realm-id + in: query + description: realm-id to search for an appropriate UDSF + schema: + type: string + - name: storage-id + in: query + description: storage-id to search for an appropriate UDSF + schema: + type: string + - name: vsmf-support-ind + in: query + description: V-SMF capability supported by the target NF instance(s) + schema: + type: boolean + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResult' + links: + search: + operationId: RetrieveStoredSearch + parameters: + searchId: $response.body#/searchId + description: > + The 'searchId' parameter returned in the response can be used as the + 'searchId' parameter in the GET request to '/searches/{searchId}' + completeSearch: + operationId: RetrieveCompleteSearch + parameters: + searchId: $response.body#/searchId + description: > + The 'searchId' parameter returned in the response can be used as the + 'searchId' parameter in the GET request to '/searches/{searchId}/complete' + headers: + Cache-Control: + description: Cache-Control containing max-age, described in IETF RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /searches/{searchId}: + get: + operationId: RetrieveStoredSearch + tags: + - Stored Search (Document) + parameters: + - $ref: '#/components/parameters/searchId' + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + responses: + '200': + $ref: '#/components/responses/200' + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + + /searches/{searchId}/complete: + get: + operationId: RetrieveCompleteSearch + tags: + - Complete Stored Search (Document) + parameters: + - $ref: '#/components/parameters/searchId' + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + responses: + '200': + $ref: '#/components/responses/200' + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '/oauth2/token' + scopes: + nnrf-disc: Access to the Nnrf_NFDiscovery API + parameters: + searchId: + name: searchId + in: path + description: Id of a stored search + required: true + schema: + type: string + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/StoredSearchResult' + headers: + Cache-Control: + description: Cache-Control containing max-age, described in IETF RFC 7234, 5.2 + schema: + type: string + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + + schemas: + SearchResult: + description: Contains the list of NF Profiles returned in a Discovery response + type: object + required: + - nfInstances + properties: + validityPeriod: + type: integer + nfInstances: + type: array + items: + $ref: '#/components/schemas/NFProfile' + searchId: + type: string + numNfInstComplete: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + preferredSearch: + $ref: '#/components/schemas/PreferredSearch' + nrfSupportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + StoredSearchResult: + description: Contains a complete search result (i.e. a number of discovered NF Instances), stored by NRF as a consequence of a prior search result + type: object + required: + - nfInstances + properties: + nfInstances: + type: array + items: + $ref: '#/components/schemas/NFProfile' + NFProfile: + description: Information of an NF Instance discovered by the NRF + type: object + required: + - nfInstanceId + - nfType + - nfStatus + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfInstanceName: + type: string + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + nfStatus: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFStatus' + plmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + sNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + perPlmnSnssaiList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + nsiList: + type: array + items: + type: string + minItems: 1 + fqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + ipv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + capacity: + type: integer + minimum: 0 + maximum: 65535 + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + locality: + type: string + priority: + type: integer + minimum: 0 + maximum: 65535 + udrInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdrInfo' + udrInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdrInfo' + minProperties: 1 + udmInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdmInfo' + udmInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdmInfo' + minProperties: 1 + ausfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AusfInfo' + ausfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AusfInfo' + minProperties: 1 + amfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AmfInfo' + amfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/AmfInfo' + minProperties: 1 + smfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SmfInfo' + smfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/SmfInfo' + minProperties: 1 + upfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UpfInfo' + upfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UpfInfo' + minProperties: 1 + pcfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcfInfo' + pcfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcfInfo' + minProperties: 1 + bsfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/BsfInfo' + bsfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/BsfInfo' + minProperties: 1 + chfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfInfo' + chfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ChfInfo' + minProperties: 1 + udsfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdsfInfo' + udsfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/UdsfInfo' + minProperties: 1 + nwdafInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NwdafInfo' + nefInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NefInfo' + pcscfInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PcscfInfo' + minProperties: 1 + hssInfoList: + type: object + additionalProperties: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/HssInfo' + minProperties: 1 + customInfo: + type: object + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + nfServicePersistence: + type: boolean + default: false + nfServices: + deprecated: true + type: array + items: + $ref: '#/components/schemas/NFService' + minItems: 1 + nfServiceList: + type: object + additionalProperties: + $ref: '#/components/schemas/NFService' + minProperties: 1 + defaultNotificationSubscriptions: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DefaultNotificationSubscription' + lmfInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/LmfInfo' + gmlcInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/GmlcInfo' + snpnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + nfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + servingScope: + type: array + items: + type: string + minItems: 1 + lcHSupportInd: + type: boolean + default: false + olcHSupportInd: + type: boolean + default: false + nfSetRecoveryTimeList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minProperties: 1 + serviceSetRecoveryTimeList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minProperties: 1 + scpDomains: + type: array + items: + type: string + minItems: 1 + scpInfo: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ScpInfo' + NFService: + description: Information of a given NF Service Instance; it is part of the NFProfile of an NF Instance discovered by the NRF + type: object + required: + - serviceInstanceId + - serviceName + - versions + - scheme + - nfServiceStatus + properties: + serviceInstanceId: + type: string + serviceName: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + versions: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceVersion' + minItems: 1 + scheme: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UriScheme' + nfServiceStatus: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFServiceStatus' + fqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + ipEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + apiPrefix: + type: string + defaultNotificationSubscriptions: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/DefaultNotificationSubscription' + minItems: 1 + capacity: + type: integer + minimum: 0 + maximum: 65535 + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + priority: + type: integer + minimum: 0 + maximum: 65535 + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nfServiceSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + minItems: 1 + sNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + perPlmnSnssaiList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/PlmnSnssai' + minItems: 1 + vendorId: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorId' + supportedVendorSpecificFeatures: + type: object + additionalProperties: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + oauth2Required: + type: boolean + allowedOperationsPerNfType: + type: object + additionalProperties: + type: array + items: + type: string + minItems: 1 + minProperties: 1 + allowedOperationsPerNfInstance: + type: object + additionalProperties: + type: array + items: + type: string + minItems: 1 + minProperties: 1 + PreferredSearch: + description: Contains information on whether the returned NFProfiles match the preferred query parameters + type: object + properties: + preferredTaiMatchInd: + type: boolean + default: false + preferredFullPlmnMatchInd: + type: boolean + default: false + preferredApiVersionsMatchInd: + type: boolean + otherApiVersionsInd: + type: boolean + preferredLocalityMatchInd: + type: boolean + default: false + otherLocalityInd: + type: boolean + default: false diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_NFManagement.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_NFManagement.yaml new file mode 100644 index 000000000..25c345b5b --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29510_Nnrf_NFManagement.yaml @@ -0,0 +1,2946 @@ +openapi: 3.0.0 + +info: + version: '1.1.4' + title: 'NRF NFManagement Service' + description: | + NRF NFManagement Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.510 V16.8.0; 5G System; Network Function Repository Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' + +servers: + - url: '{apiRoot}/nnrf-nfm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nnrf-nfm + +paths: + /nf-instances: + get: + summary: Retrieves a collection of NF Instances + operationId: GetNFInstances + tags: + - NF Instances (Store) + parameters: + - name: nf-type + in: query + description: Type of NF + required: false + schema: + $ref: '#/components/schemas/NFType' + - name: limit + in: query + description: How many items to return at one time + required: false + schema: + type: integer + responses: + '200': + description: Expected response to a valid request + content: + application/3gppHal+json: + schema: + type: object + properties: + _links: + type: object + description: 'List of the URI of NF instances. It has two members whose names are item and self. The item one contains an array of URIs.' + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema' + minProperties: 1 + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + options: + summary: Discover communication options supported by NRF for NF Instances + operationId: OptionsNFInstances + tags: + - NF Instances (Store) + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/OptionsResponse' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '204': + description: No Content + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /nf-instances/{nfInstanceID}: + get: + summary: Read the profile of a given NF Instance + operationId: GetNFInstance + tags: + - NF Instance ID (Document) + parameters: + - name: nfInstanceID + in: path + description: Unique ID of the NF Instance + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: requester-features + in: query + description: Features supported by the NF Service Consumer + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + headers: + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NFProfile' + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Register a new NF Instance + operationId: RegisterNFInstance + tags: + - NF Instance ID (Document) + parameters: + - name: nfInstanceID + in: path + required: true + description: Unique ID of the NF Instance to register + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NFProfile' + required: true + responses: + '200': + description: OK (Profile Replacement) + content: + application/json: + schema: + $ref: '#/components/schemas/NFProfile' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NFProfile' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnrf-nfm/v1/nf-instances/{nfInstanceId}' + required: true + schema: + type: string + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Update NF Instance profile + operationId: UpdateNFInstance + tags: + - NF Instance ID (Document) + parameters: + - name: nfInstanceID + in: path + required: true + description: Unique ID of the NF Instance to update + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: If-Match + in: header + description: Validator for conditional requests, as described in IETF RFC 7232, 3.2 + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/NFProfile' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + ETag: + description: Entity Tag containing a strong validator, described in IETF RFC 7232, 2.3 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '204': + description: Expected response with empty body + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + $ref: 'TS29571_CommonData.yaml#/components/responses/409' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '412': + $ref: 'TS29571_CommonData.yaml#/components/responses/412' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deregisters a given NF Instance + operationId: DeregisterNFInstance + tags: + - NF Instance ID (Document) + parameters: + - name: nfInstanceID + in: path + required: true + description: Unique ID of the NF Instance to deregister + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + responses: + '204': + description: Expected response to a successful deregistration + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscriptions: + post: + summary: Create a new subscription + operationId: CreateSubscription + tags: + - Subscriptions (Collection) + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + required: true + responses: + '201': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnrf-nfm/v1/subscriptions/{subscriptionId}' + required: true + schema: + type: string + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + onNFStatusEvent: + '{$request.body#/nfStatusNotificationUri}': + post: + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + description: Notification Payload + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationData' + responses: + '204': + description: Expected response to a successful callback processing + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on another NF service consumer instance' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on another NF service consumer instance' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscriptions/{subscriptionID}: + patch: + summary: Updates a subscription + operationId: UpdateSubscription + tags: + - Subscription ID (Document) + parameters: + - name: subscriptionID + in: path + required: true + description: Unique ID of the subscription to update + schema: + type: string + pattern: '^([0-9]{5,6}-)?[^-]+$' + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '204': + description: No Content + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes a subscription + operationId: RemoveSubscription + tags: + - Subscription ID (Document) + parameters: + - name: subscriptionID + in: path + required: true + description: Unique ID of the subscription to remove + schema: + type: string + pattern: '^([0-9]{5,6}-)?[^-]+$' + responses: + '204': + description: Expected response to a successful subscription removal + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target NRF' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '/oauth2/token' + scopes: + nnrf-nfm: Access to the Nnrf_NFManagement API + schemas: + NFProfile: + description: Information of an NF Instance registered in the NRF + type: object + required: + - nfInstanceId + - nfType + - nfStatus + anyOf: + - required: [ fqdn ] + - required: [ ipv4Addresses ] + - required: [ ipv6Addresses ] + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfInstanceName: + type: string + nfType: + $ref: '#/components/schemas/NFType' + nfStatus: + $ref: '#/components/schemas/NFStatus' + heartBeatTimer: + type: integer + plmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + snpnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + sNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + perPlmnSnssaiList: + type: array + items: + $ref: '#/components/schemas/PlmnSnssai' + minItems: 1 + nsiList: + type: array + items: + type: string + minItems: 1 + fqdn: + $ref: '#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: '#/components/schemas/Fqdn' + ipv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + allowedPlmns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + allowedSnpns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + allowedNfTypes: + type: array + items: + $ref: '#/components/schemas/NFType' + minItems: 1 + allowedNfDomains: + type: array + items: + type: string + minItems: 1 + allowedNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + priority: + type: integer + minimum: 0 + maximum: 65535 + capacity: + type: integer + minimum: 0 + maximum: 65535 + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + locality: + type: string + udrInfo: + $ref: '#/components/schemas/UdrInfo' + udrInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/UdrInfo' + minProperties: 1 + udmInfo: + $ref: '#/components/schemas/UdmInfo' + udmInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/UdmInfo' + minProperties: 1 + ausfInfo: + $ref: '#/components/schemas/AusfInfo' + ausfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/AusfInfo' + minProperties: 1 + amfInfo: + $ref: '#/components/schemas/AmfInfo' + amfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/AmfInfo' + minProperties: 1 + smfInfo: + $ref: '#/components/schemas/SmfInfo' + smfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/SmfInfo' + minProperties: 1 + upfInfo: + $ref: '#/components/schemas/UpfInfo' + upfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/UpfInfo' + minProperties: 1 + pcfInfo: + $ref: '#/components/schemas/PcfInfo' + pcfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/PcfInfo' + minProperties: 1 + bsfInfo: + $ref: '#/components/schemas/BsfInfo' + bsfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/BsfInfo' + minProperties: 1 + chfInfo: + $ref: '#/components/schemas/ChfInfo' + chfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/ChfInfo' + minProperties: 1 + nefInfo: + $ref: '#/components/schemas/NefInfo' + nrfInfo: + $ref: '#/components/schemas/NrfInfo' + udsfInfo: + $ref: '#/components/schemas/UdsfInfo' + udsfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/UdsfInfo' + minProperties: 1 + nwdafInfo: + $ref: '#/components/schemas/NwdafInfo' + pcscfInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/PcscfInfo' + minProperties: 1 + hssInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/HssInfo' + minProperties: 1 + customInfo: + type: object + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + nfServicePersistence: + type: boolean + default: false + nfServices: + deprecated: true + type: array + items: + $ref: '#/components/schemas/NFService' + minItems: 1 + nfServiceList: + type: object + additionalProperties: + $ref: '#/components/schemas/NFService' + minProperties: 1 + nfProfileChangesSupportInd: + type: boolean + default: false + writeOnly: true + nfProfileChangesInd: + type: boolean + default: false + readOnly: true + defaultNotificationSubscriptions: + type: array + items: + $ref: '#/components/schemas/DefaultNotificationSubscription' + lmfInfo: + $ref: '#/components/schemas/LmfInfo' + gmlcInfo: + $ref: '#/components/schemas/GmlcInfo' + nfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + servingScope: + type: array + items: + type: string + minItems: 1 + lcHSupportInd: + type: boolean + default: false + olcHSupportInd: + type: boolean + default: false + nfSetRecoveryTimeList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minProperties: 1 + serviceSetRecoveryTimeList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minProperties: 1 + scpDomains: + type: array + items: + type: string + minItems: 1 + scpInfo: + $ref: '#/components/schemas/ScpInfo' + NFService: + description: Information of a given NF Service Instance; it is part of the NFProfile of an NF Instance + type: object + required: + - serviceInstanceId + - serviceName + - versions + - scheme + - nfServiceStatus + properties: + serviceInstanceId: + type: string + serviceName: + $ref: '#/components/schemas/ServiceName' + versions: + type: array + items: + $ref: '#/components/schemas/NFServiceVersion' + minItems: 1 + scheme: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UriScheme' + nfServiceStatus: + $ref: '#/components/schemas/NFServiceStatus' + fqdn: + $ref: '#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: '#/components/schemas/Fqdn' + ipEndPoints: + type: array + items: + $ref: '#/components/schemas/IpEndPoint' + minItems: 1 + apiPrefix: + type: string + defaultNotificationSubscriptions: + type: array + items: + $ref: '#/components/schemas/DefaultNotificationSubscription' + minItems: 1 + allowedPlmns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + allowedSnpns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + allowedNfTypes: + type: array + items: + $ref: '#/components/schemas/NFType' + minItems: 1 + allowedNfDomains: + type: array + items: + type: string + minItems: 1 + allowedNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + allowedOperationsPerNfType: + type: object + additionalProperties: + type: array + items: + type: string + minItems: 1 + minProperties: 1 + allowedOperationsPerNfInstance: + type: object + additionalProperties: + type: array + items: + type: string + minItems: 1 + minProperties: 1 + priority: + type: integer + minimum: 0 + maximum: 65535 + capacity: + type: integer + minimum: 0 + maximum: 65535 + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nfServiceSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + minItems: 1 + sNssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + perPlmnSnssaiList: + type: array + items: + $ref: '#/components/schemas/PlmnSnssai' + minItems: 1 + vendorId: + $ref: '#/components/schemas/VendorId' + supportedVendorSpecificFeatures: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + oauth2Required: + type: boolean + NFType: + description: NF types known to NRF + anyOf: + - type: string + enum: + - NRF + - UDM + - AMF + - SMF + - AUSF + - NEF + - PCF + - SMSF + - NSSF + - UDR + - LMF + - GMLC + - 5G_EIR + - SEPP + - UPF + - N3IWF + - AF + - UDSF + - BSF + - CHF + - NWDAF + - PCSCF + - CBCF + - HSS + - UCMF + - SOR_AF + - SPAF + - MME + - SCSAS + - SCEF + - SCP + - NSSAAF + - ICSCF + - SCSCF + - DRA + - type: string + Fqdn: + description: Fully Qualified Domain Name + type: string + NefId: + description: Identity of the NEF + type: string + IpEndPoint: + description: IP addressing information of a given NFService; it consists on, e.g. IP address, TCP port, transport protocol... + type: object + properties: + ipv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + transport: + $ref: '#/components/schemas/TransportProtocol' + port: + type: integer + minimum: 0 + maximum: 65535 + SubscriptionData: + description: Information of a subscription to notifications to NRF events, included in subscription requests and responses + type: object + required: + - nfStatusNotificationUri + - subscriptionId + properties: + nfStatusNotificationUri: + type: string + reqNfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subscrCond: + oneOf: + - $ref: '#/components/schemas/NfInstanceIdCond' + - $ref: '#/components/schemas/NfInstanceIdListCond' + - $ref: '#/components/schemas/NfTypeCond' + - $ref: '#/components/schemas/ServiceNameCond' + - $ref: '#/components/schemas/AmfCond' + - $ref: '#/components/schemas/GuamiListCond' + - $ref: '#/components/schemas/NetworkSliceCond' + - $ref: '#/components/schemas/NfGroupCond' + - $ref: '#/components/schemas/NfSetCond' + - $ref: '#/components/schemas/NfServiceSetCond' + - $ref: '#/components/schemas/UpfCond' + - $ref: '#/components/schemas/ScpDomainCond' + - $ref: '#/components/schemas/NwdafCond' + - $ref: '#/components/schemas/NefCond' + subscriptionId: + type: string + pattern: '^([0-9]{5,6}-)?[^-]+$' + readOnly: true + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + reqNotifEvents: + type: array + items: + $ref: '#/components/schemas/NotificationEventType' + minItems: 1 + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + nid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Nid' + notifCondition: + $ref: '#/components/schemas/NotifCondition' + reqNfType: + $ref: '#/components/schemas/NFType' + reqNfFqdn: + $ref: '#/components/schemas/Fqdn' + reqSnssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + reqPerPlmnSnssais: + type: array + items: + $ref: '#/components/schemas/PlmnSnssai' + minItems: 1 + reqPlmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + reqSnpnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + servingScope: + type: array + items: + type: string + minItems: 1 + requesterFeatures: + writeOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nrfSupportedFeatures: + readOnly: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + NfInstanceIdCond: + description: Subscription to a given NF Instance Id + type: object + required: + - nfInstanceId + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + NfInstanceIdListCond: + description: Subscription to a list of NF Instances + type: object + required: + - nfInstanceIdList + properties: + nfInstanceIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + NfTypeCond: + description: Subscription to a set of NFs based on their NF Type + type: object + required: + - nfType + not: + required: [ nfGroupId ] + properties: + nfType: + $ref: '#/components/schemas/NFType' + ServiceNameCond: + description: Subscription to a set of NFs based on their support for a given Service Name + type: object + required: + - serviceName + properties: + serviceName: + $ref: '#/components/schemas/ServiceName' + AmfCond: + description: Subscription to a set of AMFs, based on AMF Set Id and/or AMF Region Id + type: object + anyOf: + - required: [ amfSetId ] + - required: [ amfRegionId ] + properties: + amfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' + amfRegionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' + GuamiListCond: + description: Subscription to a set of AMFs, based on their GUAMIs + type: object + required: + - guamiList + properties: + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + NetworkSliceCond: + description: Subscription to a set of NFs, based on the slices (S-NSSAI and NSI) they support + type: object + required: + - snssaiList + properties: + snssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiList: + type: array + items: + type: string + NfGroupCond: + description: Subscription to a set of NFs based on their Group Id + type: object + required: + - nfType + - nfGroupId + properties: + nfType: + type: string + enum: + - UDM + - AUSF + - UDR + - PCF + - CHF + nfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + NotifCondition: + description: Condition (list of attributes in the NF Profile) to determine whether a notification must be sent by NRF + type: object + not: + required: [ monitoredAttributes, unmonitoredAttributes ] + properties: + monitoredAttributes: + type: array + items: + type: string + minItems: 1 + unmonitoredAttributes: + type: array + items: + type: string + minItems: 1 + UdrInfo: + description: Information of an UDR NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + supportedDataSets: + type: array + items: + $ref: '#/components/schemas/DataSetId' + minItems: 1 + SupiRange: + description: A range of SUPIs (subscriber identities), either based on a numeric range, or based on regular-expression matching + type: object + properties: + start: + type: string + pattern: '^[0-9]+$' + end: + type: string + pattern: '^[0-9]+$' + pattern: + type: string + IdentityRange: + description: A range of GPSIs (subscriber identities), either based on a numeric range, or based on regular-expression matching + type: object + properties: + start: + type: string + pattern: '^[0-9]+$' + end: + type: string + pattern: '^[0-9]+$' + pattern: + type: string + InternalGroupIdRange: + description: A range of Group IDs (internal group identities), either based on a numeric range, or based on regular-expression matching + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + end: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + pattern: + type: string + DataSetId: + description: Types of data sets stored in UDR + anyOf: + - type: string + enum: + - SUBSCRIPTION + - POLICY + - EXPOSURE + - APPLICATION + - type: string + UdmInfo: + description: Information of an UDM NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + routingIndicators: + type: array + items: + type: string + pattern: '^[0-9]{1,4}$' + minItems: 1 + internalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/InternalGroupIdRange' + minItems: 1 + AusfInfo: + description: Information of an AUSF NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + routingIndicators: + type: array + items: + type: string + pattern: '^[0-9]{1,4}$' + minItems: 1 + AmfInfo: + description: Information of an AMF NF Instance + type: object + required: + - amfSetId + - amfRegionId + - guamiList + properties: + amfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' + amfRegionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + backupInfoAmfFailure: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + backupInfoAmfRemoval: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + n2InterfaceAmfInfo: + $ref: '#/components/schemas/N2InterfaceAmfInfo' + SmfInfo: + description: Information of an SMF NF Instance + type: object + required: + - sNssaiSmfInfoList + properties: + sNssaiSmfInfoList: + type: array + items: + $ref: '#/components/schemas/SnssaiSmfInfoItem' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + pgwFqdn: + $ref: '#/components/schemas/Fqdn' + accessType: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + priority: + type: integer + minimum: 0 + maximum: 65535 + vsmfSupportInd: + type: boolean + default: false + SnssaiSmfInfoItem: + description: Set of parameters supported by SMF for a given S-NSSAI + type: object + required: + - sNssai + - dnnSmfInfoList + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnnSmfInfoList: + type: array + items: + $ref: '#/components/schemas/DnnSmfInfoItem' + minItems: 1 + DnnSmfInfoItem: + description: Set of parameters supported by SMF for a given DNN + type: object + required: + - dnn + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + UpfInfo: + description: Information of an UPF NF Instance + type: object + required: + - sNssaiUpfInfoList + properties: + sNssaiUpfInfoList: + type: array + items: + $ref: '#/components/schemas/SnssaiUpfInfoItem' + minItems: 1 + smfServingArea: + type: array + items: + type: string + minItems: 1 + interfaceUpfInfoList: + type: array + items: + $ref: '#/components/schemas/InterfaceUpfInfoItem' + minItems: 1 + iwkEpsInd: + type: boolean + default: false + pduSessionTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + atsssCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AtsssCapability' + ueIpAddrInd: + type: boolean + default: false + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + wAgfInfo: + $ref: '#/components/schemas/WAgfInfo' + tngfInfo: + $ref: '#/components/schemas/TngfInfo' + twifInfo: + $ref: '#/components/schemas/TwifInfo' + priority: + type: integer + minimum: 0 + maximum: 65535 + redundantGtpu: + type: boolean + default: false + ipups: + type: boolean + default: false + dataForwarding: + type: boolean + default: false + SnssaiUpfInfoItem: + description: Set of parameters supported by UPF for a given S-NSSAI + type: object + required: + - sNssai + - dnnUpfInfoList + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnnUpfInfoList: + type: array + items: + $ref: '#/components/schemas/DnnUpfInfoItem' + minItems: 1 + redundantTransport: + type: boolean + default: false + DnnUpfInfoItem: + description: Set of parameters supported by UPF for a given DNN + type: object + required: + - dnn + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + pduSessionTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + ipv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + dnaiNwInstanceList: + description: Map of network instance per DNAI for the DNN, where the key of the map is the DNAI. When present, the value of each entry of the map shall contain a N6 network instance that is configured for the DNAI indicated by the key. + type: object + additionalProperties: + type: string + minProperties: 1 + InterfaceUpfInfoItem: + description: Information of a given IP interface of an UPF + type: object + required: + - interfaceType + properties: + interfaceType: + $ref: '#/components/schemas/UPInterfaceType' + ipv4EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + endpointFqdn: + $ref: '#/components/schemas/Fqdn' + networkInstance: + type: string + UPInterfaceType: + description: Types of User-Plane interfaces of the UPF + anyOf: + - type: string + enum: + - N3 + - N6 + - N9 + - DATA_FORWARDING + - type: string + WAgfInfo: + description: Information of the W-AGF end-points + type: object + properties: + ipv4EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + endpointFqdn: + $ref: '#/components/schemas/Fqdn' + TngfInfo: + description: Infomation of the TNGF endpoints + type: object + properties: + ipv4EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + endpointFqdn: + $ref: '#/components/schemas/Fqdn' + PcfInfo: + description: Information of a PCF NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + rxDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + rxDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + v2xSupportInd: + type: boolean + default: false + BsfInfo: + description: Information of a BSF NF Instance + type: object + properties: + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + ipDomainList: + type: array + items: + type: string + minItems: 1 + ipv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + ChfInfo: + description: Information of a CHF NF Instance + type: object + not: + required: [ primaryChfInstance, secondaryChfInstance ] + properties: + supiRangeList: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRangeList: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + plmnRangeList: + type: array + items: + $ref: '#/components/schemas/PlmnRange' + minItems: 1 + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + primaryChfInstance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + secondaryChfInstance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + Ipv4AddressRange: + description: Range of IPv4 addresses + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + end: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + Ipv6PrefixRange: + description: Range of IPv6 prefixes + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + end: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + DefaultNotificationSubscription: + description: Data structure for specifying the notifications the NF service subscribes by default along with callback URI + type: object + required: + - notificationType + - callbackUri + properties: + notificationType: + $ref: '#/components/schemas/NotificationType' + callbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + n1MessageClass: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N1MessageClass' + n2InformationClass: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/N2InformationClass' + versions: + type: array + items: + type: string + minItems: 1 + binding: + type: string + NfSetCond: + description: Subscription to a set of NFs based on their Set Id + type: object + required: + - nfSetId + properties: + nfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + NfServiceSetCond: + description: Subscription to a set of NFs based on their Service Set Id + type: object + required: + - nfServiceSetId + properties: + nfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + UpfCond: + description: Subscription to a set of NF Instances (UPFs), able to serve a certain service area (i.e. SMF serving area or TAI list) + type: object + required: + - conditionType + properties: + conditionType: + type: string + enum: [ UPF_COND ] + smfServingArea: + type: array + items: + type: string + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + NwdafCond: + description: Subscription to a set of NF Instances (NWDAFs), identified by Analytics ID(s), S-NSSAI(s) or NWDAF Serving Area information, i.e. list of TAIs for which the NWDAF can provide analytics. + type: object + required: + - conditionType + properties: + conditionType: + type: string + enum: [ NWDAF_COND ] + analyticsIds: + type: array + items: + type: string + minItems: 1 + snssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + NefCond: + description: Subscription to a set of NF Instances (NEFs), identified by Event ID(s) provided by AF, S-NSSAI(s), AF Instance ID, Application Identifier, External Identifier, External Group Identifier, or domain name. + type: object + required: + - conditionType + properties: + conditionType: + type: string + enum: [ NEF_COND ] + afEvents: + type: array + items: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEvent' + minItems: 1 + snssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + pfdData: + $ref: '#/components/schemas/PfdData' + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + servedFqdnList: + type: array + items: + type: string + minItems: 1 + NotificationType: + description: Types of notifications used in Default Notification URIs in the NF Profile of an NF Instance + anyOf: + - type: string + enum: + - N1_MESSAGES + - N2_INFORMATION + - LOCATION_NOTIFICATION + - DATA_REMOVAL_NOTIFICATION + - DATA_CHANGE_NOTIFICATION + - LOCATION_UPDATE_NOTIFICATION + - NSSAA_REAUTH_NOTIFICATION + - NSSAA_REVOC_NOTIFICATION + - type: string + TransportProtocol: + description: Types of transport protocol used in a given IP endpoint of an NF Service Instance + anyOf: + - type: string + enum: + - TCP + - type: string + NotificationEventType: + description: Types of events sent in notifications from NRF to subscribed NF Instances + anyOf: + - type: string + enum: + - NF_REGISTERED + - NF_DEREGISTERED + - NF_PROFILE_CHANGED + - type: string + NotificationData: + description: Data sent in notifications from NRF to subscribed NF Instances + type: object + required: + - event + - nfInstanceUri + allOf: + # + # Condition: If 'event' takes value 'NF_PROFILE_CHANGED', + # then either 'nfProfile' or 'profileChanges' (but not both) must be present + # + - anyOf: + - not: + properties: + event: + type: string + enum: + - NF_PROFILE_CHANGED + - oneOf: + - required: [ nfProfile ] + - required: [ profileChanges ] + # + # Condition: If 'event' takes value 'NF_REGISTERED', + # then 'nfProfile' must be present + # + - anyOf: + - not: + properties: + event: + type: string + enum: + - NF_REGISTERED + - required: [ nfProfile ] + properties: + event: + $ref: '#/components/schemas/NotificationEventType' + nfInstanceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nfProfile: + allOf: + - $ref: '#/components/schemas/NFProfile' + - not: + required: [ interPlmnFqdn ] + - not: + required: [ allowedPlmns ] + - not: + required: [ allowedSnpns ] + - not: + required: [ allowedNfTypes ] + - not: + required: [ allowedNfDomains ] + - not: + required: [ allowedNssais ] + - properties: + nfServices: + type: array + items: + allOf: + - $ref: '#/components/schemas/NFService' + - not: + required: [ interPlmnFqdn ] + - not: + required: [ allowedPlmns ] + - not: + required: [ allowedSnpns ] + - not: + required: [ allowedNfTypes ] + - not: + required: [ allowedNfDomains ] + - not: + required: [ allowedNssais ] + profileChanges: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChangeItem' + minItems: 1 + conditionEvent: + $ref: '#/components/schemas/ConditionEventType' + NFStatus: + description: Status of a given NF Instance stored in NRF + anyOf: + - type: string + enum: + - REGISTERED + - SUSPENDED + - UNDISCOVERABLE + - type: string + NFServiceVersion: + description: Contains the version details of an NF service + type: object + required: + - apiVersionInUri + - apiFullVersion + properties: + apiVersionInUri: + type: string + apiFullVersion: + type: string + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ServiceName: + description: Service names known to NRF + anyOf: + - type: string + enum: + - nnrf-nfm + - nnrf-disc + - nnrf-oauth2 + - nudm-sdm + - nudm-uecm + - nudm-ueau + - nudm-ee + - nudm-pp + - nudm-niddau + - nudm-mt + - namf-comm + - namf-evts + - namf-mt + - namf-loc + - nsmf-pdusession + - nsmf-event-exposure + - nsmf-nidd + - nausf-auth + - nausf-sorprotection + - nausf-upuprotection + - nnef-pfdmanagement + - nnef-smcontext + - nnef-eventexposure + - npcf-am-policy-control + - npcf-smpolicycontrol + - npcf-policyauthorization + - npcf-bdtpolicycontrol + - npcf-eventexposure + - npcf-ue-policy-control + - nsmsf-sms + - nnssf-nsselection + - nnssf-nssaiavailability + - nudr-dr + - nudr-group-id-map + - nlmf-loc + - n5g-eir-eic + - nbsf-management + - nchf-spendinglimitcontrol + - nchf-convergedcharging + - nchf-offlineonlycharging + - nnwdaf-eventssubscription + - nnwdaf-analyticsinfo + - ngmlc-loc + - nucmf-provisioning + - nucmf-uecapabilitymanagement + - nhss-sdm + - nhss-uecm + - nhss-ueau + - nhss-ee + - nhss-ims-sdm + - nhss-ims-uecm + - nhss-ims-ueau + - nsepp-telescopic + - nsoraf-sor + - nspaf-secured-packet + - nudsf-dr + - nnssaaf-nssaa + - type: string + N2InterfaceAmfInfo: + description: AMF N2 interface information + type: object + properties: + ipv4EndpointAddress: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6EndpointAddress: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + amfName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + NFServiceStatus: + description: Status of a given NF Service Instance of an NF Instance stored in NRF + anyOf: + - type: string + enum: + - REGISTERED + - SUSPENDED + - UNDISCOVERABLE + - type: string + TaiRange: + description: Range of TAIs (Tracking Area Identities) + type: object + required: + - plmnId + - tacRangeList + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + tacRangeList: + type: array + items: + $ref: '#/components/schemas/TacRange' + minItems: 1 + nid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Nid' + TacRange: + description: Range of TACs (Tracking Area Codes) + type: object + properties: + start: + type: string + pattern: '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$' + end: + type: string + pattern: '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$' + pattern: + type: string + PlmnRange: + description: Range of PLMN IDs + type: object + properties: + start: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}$' + end: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}$' + pattern: + type: string + NrfInfo: + description: Information of an NRF NF Instance, used in hierarchical NRF deployments + type: object + properties: + servedUdrInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/UdrInfo' + minProperties: 1 + servedUdrInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/UdrInfo' + minProperties: 1 + minProperties: 1 + servedUdmInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/UdmInfo' + minProperties: 1 + servedUdmInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/UdmInfo' + minProperties: 1 + minProperties: 1 + servedAusfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/AusfInfo' + minProperties: 1 + servedAusfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/AusfInfo' + minProperties: 1 + minProperties: 1 + servedAmfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/AmfInfo' + minProperties: 1 + servedAmfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/AmfInfo' + minProperties: 1 + minProperties: 1 + servedSmfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/SmfInfo' + minProperties: 1 + servedSmfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/SmfInfo' + minProperties: 1 + minProperties: 1 + servedUpfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/UpfInfo' + minProperties: 1 + servedUpfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/UpfInfo' + minProperties: 1 + minProperties: 1 + servedPcfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/PcfInfo' + minProperties: 1 + servedPcfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/PcfInfo' + minProperties: 1 + minProperties: 1 + servedBsfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/BsfInfo' + minProperties: 1 + servedBsfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/BsfInfo' + minProperties: 1 + minProperties: 1 + servedChfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/ChfInfo' + minProperties: 1 + servedChfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/ChfInfo' + minProperties: 1 + minProperties: 1 + servedNefInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/NefInfo' + minProperties: 1 + servedNwdafInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/NwdafInfo' + minProperties: 1 + servedPcscfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/PcscfInfo' + minProperties: 1 + minProperties: 1 + servedGmlcInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/GmlcInfo' + minProperties: 1 + servedLmfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/LmfInfo' + minProperties: 1 + servedNfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/NfInfo' + minProperties: 1 + servedHssInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/HssInfo' + minProperties: 1 + minProperties: 1 + servedUdsfInfo: + type: object + additionalProperties: + $ref: '#/components/schemas/UdsfInfo' + minProperties: 1 + servedUdsfInfoList: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/UdsfInfo' + minProperties: 1 + minProperties: 1 + servedScpInfoList: + type: object + additionalProperties: + $ref: '#/components/schemas/ScpInfo' + minProperties: 1 + PlmnSnssai: + description: List of network slices (S-NSSAIs) for a given PLMN ID + type: object + required: + - plmnId + - sNssaiList + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + sNssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + nid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Nid' + NefInfo: + description: Information of an NEF NF Instance + type: object + properties: + nefId: + $ref: '#/components/schemas/NefId' + pfdData: + $ref: '#/components/schemas/PfdData' + afEeData: + $ref: '#/components/schemas/AfEventExposureData' + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + servedFqdnList: + type: array + items: + type: string + minItems: 1 + PfdData: + description: List of Application IDs and/or AF IDs managed by a given NEF Instance + type: object + properties: + appIds: + type: array + items: + type: string + minItems: 1 + afIds: + type: array + items: + type: string + minItems: 1 + NwdafInfo: + description: Information of a NWDAF NF Instance + type: object + properties: + eventIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' + minItems: 1 + nwdafEvents: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + LmfInfo: + description: Information of an LMF NF Instance + type: object + properties: + servingClientTypes: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/ExternalClientType' + minItems: 1 + lmfId: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' + servingAccessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + servingAnNodeTypes: + type: array + items: + $ref: '#/components/schemas/AnNodeType' + minItems: 1 + servingRatTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + GmlcInfo: + description: Information of a GMLC NF Instance + type: object + properties: + servingClientTypes: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/ExternalClientType' + minItems: 1 + AfEventExposureData: + description: AF Event Exposure data managed by a given NEF Instance + type: object + required: + - afEvents + properties: + afEvents: + type: array + items: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AfEvent' + minItems: 1 + afIds: + type: array + items: + type: string + minItems: 1 + appIds: + type: array + items: + type: string + minItems: 1 + PcscfInfo: + description: Information of a P-CSCF NF Instance + type: object + properties: + accessType: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + gmFqdn: + $ref: '#/components/schemas/Fqdn' + gmIpv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + gmIpv6Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + servedIpv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + servedIpv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + NfInfo: + description: Information of a generic NF Instance + type: object + properties: + nfType: + $ref: '#/components/schemas/NFType' + HssInfo: + description: Information of an HSS NF Instance + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + imsiRanges: + type: array + items: + $ref: '#/components/schemas/ImsiRange' + minItems: 1 + imsPrivateIdentityRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + imsPublicIdentityRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + msisdnRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + ImsiRange: + description: A range of IMSIs (subscriber identities), either based on a numeric range, or based on regular-expression matching + type: object + properties: + start: + type: string + pattern: '^[0-9]+$' + end: + type: string + pattern: '^[0-9]+$' + pattern: + type: string + TwifInfo: + description: Addressing information (IP addresses, FQDN) of the TWIF + type: object + properties: + ipv4EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6EndpointAddresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + endpointFqdn: + $ref: '#/components/schemas/Fqdn' + VendorId: + description: Vendor ID of the NF Service instance (Private Enterprise Number assigned by IANA) + type: string + pattern: '^[0-9]{6}$' + VendorSpecificFeature: + description: Information about a vendor-specific feature + type: object + required: + - featureName + - featureVersion + properties: + featureName: + type: string + featureVersion: + type: string + AnNodeType: + description: Access Network Node Type (gNB, ng-eNB...) + anyOf: + - type: string + enum: + - GNB + - NG_ENB + - type: string + UdsfInfo: + description: Information related to UDSF + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + storageIdRanges: + description: A map (list of key-value pairs) where realmId serves as key and each value in the map is an array of IdentityRanges. Each IdentityRange is a range of storageIds. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + minProperties: 1 + ScpInfo: + description: Information of an SCP Instance + type: object + properties: + scpDomainInfoList: + type: object + additionalProperties: + items: + $ref: '#/components/schemas/ScpDomainInfo' + minProperties: 1 + scpPrefix: + type: string + scpPorts: + type: object + additionalProperties: + type: integer + minimum: 0 + maximum: 65535 + minProperties: 1 + addressDomains: + type: array + items: + type: string + minItems: 1 + ipv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + ipv4AddrRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + servedNfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + remotePlmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + ipReachability: + $ref: '#/components/schemas/IpReachability' + + ScpDomainInfo: + description: SCP Domain specific information + type: object + properties: + scpFqdn: + $ref: '#/components/schemas/Fqdn' + scpIpEndPoints: + type: array + items: + $ref: '#/components/schemas/IpEndPoint' + minItems: 1 + scpPrefix: + type: string + scpPorts: + type: object + additionalProperties: + type: integer + minimum: 0 + maximum: 65535 + minProperties: 1 + + ScpDomainCond: + description: Subscription to a set of NF or SCP instances belonging to certain SCP domains + type: object + properties: + scpDomains: + type: array + items: + type: string + minItems: 1 + + OptionsResponse: + description: Communication options of the NRF sent in response payload of OPTIONS method + type: object + properties: + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + ConditionEventType: + description: Indicates whether a notification is due to the NF Instance to start or stop being part of a condition for a subscription to a set of NFs + anyOf: + - type: string + enum: + - NF_ADDED + - NF_REMOVED + - type: string + + IpReachability: + description: Indicates the type(s) of IP addresses reachable via an SCP + anyOf: + - type: string + enum: + - IPV4 + - IPV6 + - IPV4V6 + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29512_Npcf_SMPolicyControl.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29512_Npcf_SMPolicyControl.yaml new file mode 100644 index 000000000..9466bdb74 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29512_Npcf_SMPolicyControl.yaml @@ -0,0 +1,2179 @@ +openapi: 3.0.0 +info: + title: Npcf_SMPolicyControl API + version: 1.1.5 + description: | + Session Management Policy Control Service + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.512 V16.9.0; 5G System; Session Management Policy Control Service. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.512/' +security: + - {} + - oAuth2Clientcredentials: + - npcf-smpolicycontrol +servers: + - url: '{apiRoot}/npcf-smpolicycontrol/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 +paths: + /sm-policies: + post: + summary: Create a new Individual SM Policy + operationId: CreateSMPolicy + tags: + - SM Policies (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyContextData' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyDecision' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '308': + description: Permanent Redirect + headers: + Location: + description: 'Contains the URI of the PCF within the existing PCF binding information stored in the BSF for the same UE ID, S-NSSAI and DNN combination ' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: Not Found + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + SmPolicyUpdateNotification: + '{$request.body#/notificationUri}/update': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyNotification' + responses: + '200': + description: OK. The current applicable values corresponding to the policy control request trigger is reported + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/UeCampingRep' + - type: array + items: + $ref: '#/components/schemas/PartialSuccessReport' + minItems: 1 + - type: array + items: + $ref: '#/components/schemas/PolicyDecisionFailureCode' + minItems: 1 + '204': + description: No Content, Notification was succesfull + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorReport' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + SmPolicyControlTerminationRequestNotification: + '{$request.body#/notificationUri}/terminate': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TerminationNotification' + responses: + '204': + description: No Content, Notification was successful + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /sm-policies/{smPolicyId}: + get: + summary: Read an Individual SM Policy + operationId: GetSMPolicy + tags: + - Individual SM Policy (Document) + parameters: + - name: smPolicyId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyControl' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /sm-policies/{smPolicyId}/update: + post: + summary: Update an existing Individual SM Policy + operationId: UpdateSMPolicy + tags: + - Individual SM Policy (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyUpdateContextData' + parameters: + - name: smPolicyId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '200': + description: OK. Updated policies are returned + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyDecision' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /sm-policies/{smPolicyId}/delete: + post: + summary: Delete an existing Individual SM Policy + operationId: DeleteSMPolicy + tags: + - Individual SM Policy (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyDeleteData' + parameters: + - name: smPolicyId + in: path + description: Identifier of a policy association + required: true + schema: + type: string + responses: + '204': + description: No content + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2Clientcredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-smpolicycontrol: Access to the Npcf_SMPolicyControl API + schemas: + SmPolicyControl: + type: object + properties: + context: + $ref: '#/components/schemas/SmPolicyContextData' + policy: + $ref: '#/components/schemas/SmPolicyDecision' + required: + - context + - policy + SmPolicyContextData: + type: object + properties: + accNetChId: + $ref: '#/components/schemas/AccNetChId' + chargEntityAddr: + $ref: '#/components/schemas/AccNetChargingAddress' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + invalidSupi: + type: boolean + description: When this attribute is included and set to true, it indicates that the supi attribute contains an invalid value.This attribute shall be present if the SUPI is not available in the SMF or the SUPI is unauthenticated. When present it shall be set to true for an invalid SUPI and false (default) for a valid SUPI. + interGrpIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + pduSessionType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + chargingcharacteristics: + type: string + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + dnnSelMode: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/DnnSelectionMode' + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + addAccessInfo: + $ref: '#/components/schemas/AdditionalAccessInfo' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + userLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + ipv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6AddressPrefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + ipDomain: + type: string + description: Indicates the IPv4 address domain + subsSessAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + authProfIndex: + type: string + description: Indicates the DN-AAA authorization profile index + subsDefQos: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos' + vplmnQos: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/VplmnQos' + numOfPackFilter: + type: integer + description: Contains the number of supported packet filter for signalled QoS rules. + online: + type: boolean + description: If it is included and set to true, the online charging is applied to the PDU session. + offline: + type: boolean + description: If it is included and set to true, the offline charging is applied to the PDU session. + 3gppPsDataOffStatus: + type: boolean + description: If it is included and set to true, the 3GPP PS Data Off is activated by the UE. + refQosIndication: + type: boolean + description: If it is included and set to true, the reflective QoS is supported by the UE. + traceReq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + sliceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + qosFlowUsage: + $ref: '#/components/schemas/QosFlowUsage' + servNfId: + $ref: '#/components/schemas/ServingNfIdentity' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + smfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + maPduInd: + $ref: '#/components/schemas/MaPduIndication' + atsssCapab: + $ref: '#/components/schemas/AtsssCapability' + ipv4FrameRouteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrMask' + minItems: 1 + ipv6FrameRouteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + required: + - supi + - pduSessionId + - pduSessionType + - dnn + - notificationUri + - sliceInfo + SmPolicyDecision: + type: object + properties: + sessRules: + type: object + additionalProperties: + $ref: '#/components/schemas/SessionRule' + minProperties: 1 + description: A map of Sessionrules with the content being the SessionRule as described in subclause 5.6.2.7. + pccRules: + type: object + additionalProperties: + $ref: '#/components/schemas/PccRule' + minProperties: 1 + description: A map of PCC rules with the content being the PCCRule as described in subclause 5.6.2.6. + nullable: true + pcscfRestIndication: + type: boolean + description: If it is included and set to true, it indicates the P-CSCF Restoration is requested. + qosDecs: + type: object + additionalProperties: + $ref: '#/components/schemas/QosData' + minProperties: 1 + description: Map of QoS data policy decisions. + chgDecs: + type: object + additionalProperties: + $ref: '#/components/schemas/ChargingData' + minProperties: 1 + description: Map of Charging data policy decisions. + nullable: true + chargingInfo: + $ref: '#/components/schemas/ChargingInformation' + traffContDecs: + type: object + additionalProperties: + $ref: '#/components/schemas/TrafficControlData' + minProperties: 1 + description: Map of Traffic Control data policy decisions. + umDecs: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonitoringData' + minProperties: 1 + description: Map of Usage Monitoring data policy decisions. + nullable: true + qosChars: + type: object + additionalProperties: + $ref: '#/components/schemas/QosCharacteristics' + minProperties: 1 + description: Map of QoS characteristics for non standard 5QIs. This map uses the 5QI values as keys. + qosMonDecs: + type: object + additionalProperties: + $ref: '#/components/schemas/QosMonitoringData' + minProperties: 1 + description: Map of QoS Monitoring data policy decisions. + nullable: true + reflectiveQoSTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + conds: + type: object + additionalProperties: + $ref: '#/components/schemas/ConditionData' + minProperties: 1 + description: A map of condition data with the content being as described in subclause 5.6.2.9. + nullable: true + revalidationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + offline: + type: boolean + description: Indicates the offline charging is applicable to the PDU session when it is included and set to true. + online: + type: boolean + description: Indicates the online charging is applicable to the PDU session when it is included and set to true. + policyCtrlReqTriggers: + type: array + items: + $ref: '#/components/schemas/PolicyControlRequestTrigger' + minItems: 1 + description: Defines the policy control request triggers subscribed by the PCF. + nullable: true + lastReqRuleData: + type: array + items: + $ref: '#/components/schemas/RequestedRuleData' + minItems: 1 + description: Defines the last list of rule control data requested by the PCF. + lastReqUsageData: + $ref: '#/components/schemas/RequestedUsageData' + praInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfoRm' + minProperties: 1 + description: Map of PRA information. + nullable: true + ipv4Index: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex' + ipv6Index: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex' + qosFlowUsage: + $ref: '#/components/schemas/QosFlowUsage' + relCause: + $ref: '#/components/schemas/SmPolicyAssociationReleaseCause' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + tsnBridgeManCont: + $ref: '#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: '#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: '#/components/schemas/PortManagementContainer' + minItems: 1 + redSessIndication: + type: boolean + description: Indicates whether the PDU session is a redundant PDU session. If absent it means the PDU session is not a redundant PDU session. + SmPolicyNotification: + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smPolicyDecision: + $ref: '#/components/schemas/SmPolicyDecision' + PccRule: + type: object + properties: + flowInfos: + type: array + items: + $ref: '#/components/schemas/FlowInformation' + minItems: 1 + description: An array of IP flow packet filter information. + appId: + type: string + description: A reference to the application detection filter configured at the UPF. + appDescriptor: + $ref: '#/components/schemas/ApplicationDescriptor' + contVer: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion' + pccRuleId: + type: string + description: Univocally identifies the PCC rule within a PDU session. + precedence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + afSigProtocol: + $ref: '#/components/schemas/AfSigProtocol' + appReloc: + type: boolean + description: Indication of application relocation possibility. + refQosData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to the QosData policy decision type. It is the qosId described in subclause 5.6.2.8. + refAltQosParams: + type: array + items: + type: string + minItems: 1 + description: A Reference to the QosData policy decision type for the Alternative QoS parameter sets of the service data flow. + refTcData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to the TrafficControlData policy decision type. It is the tcId described in subclause 5.6.2.10. + refChgData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to the ChargingData policy decision type. It is the chgId described in subclause 5.6.2.11. + nullable: true + refChgN3gData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to the ChargingData policy decision type only applicable to Non-3GPP access if "ATSSS" feature is supported. It is the chgId described in subclause 5.6.2.11. + nullable: true + refUmData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to UsageMonitoringData policy decision type. It is the umId described in subclause 5.6.2.12. + nullable: true + refUmN3gData: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to UsageMonitoringData policy decision type only applicable to Non-3GPP access if "ATSSS" feature is supported. It is the umId described in subclause 5.6.2.12. + nullable: true + refCondData: + type: string + description: A reference to the condition data. It is the condId described in subclause 5.6.2.9. + nullable: true + refQosMon: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + description: A reference to the QosMonitoringData policy decision type. It is the qmId described in subclause 5.6.2.40. + nullable: true + addrPreserInd: + type: boolean + nullable: true + tscaiInputDl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + ddNotifCtrl: + $ref: '#/components/schemas/DownlinkDataNotificationControl' + ddNotifCtrl2: + $ref: '#/components/schemas/DownlinkDataNotificationControlRm' + disUeNotif: + type: boolean + nullable: true + required: + - pccRuleId + nullable: true + SessionRule: + type: object + properties: + authSessAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + authDefQos: + $ref: '#/components/schemas/AuthorizedDefaultQos' + sessRuleId: + type: string + description: Univocally identifies the session rule within a PDU session. + refUmData: + type: string + description: A reference to UsageMonitoringData policy decision type. It is the umId described in subclause 5.6.2.12. + nullable: true + refUmN3gData: + type: string + description: A reference to UsageMonitoringData policy decision type to apply for Non-3GPP access. It is the umId described in subclause 5.6.2.12. + nullable: true + refCondData: + type: string + description: A reference to the condition data. It is the condId described in subclause 5.6.2.9. + nullable: true + required: + - sessRuleId + nullable: true + QosData: + type: object + properties: + qosId: + type: string + description: Univocally identifies the QoS control policy data within a PDU session. + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + maxbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + qnc: + type: boolean + description: Indicates whether notifications are requested from 3GPP NG-RAN when the GFBR can no longer (or again) be guaranteed for a QoS Flow during the lifetime of the QoS Flow. + priorityLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevelRm' + averWindow: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindowRm' + maxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MaxDataBurstVolRm' + reflectiveQos: + type: boolean + description: Indicates whether the QoS information is reflective for the corresponding service data flow. + sharingKeyDl: + type: string + description: Indicates, by containing the same value, what PCC rules may share resource in downlink direction. + sharingKeyUl: + type: string + description: Indicates, by containing the same value, what PCC rules may share resource in uplink direction. + maxPacketLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxPacketLossRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + defQosFlowIndication: + type: boolean + description: Indicates that the dynamic PCC rule shall always have its binding with the QoS Flow associated with the default QoS rule + extMaxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' + packetDelayBudget: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + packetErrorRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + required: + - qosId + nullable: true + ConditionData: + type: object + properties: + condId: + type: string + description: Uniquely identifies the condition data within a PDU session. + activationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTimeRm' + deactivationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTimeRm' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + required: + - condId + nullable: true + TrafficControlData: + type: object + properties: + tcId: + type: string + description: Univocally identifies the traffic control policy data within a PDU session. + flowStatus: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowStatus' + redirectInfo: + $ref: '#/components/schemas/RedirectInformation' + addRedirectInfo: + type: array + items: + $ref: '#/components/schemas/RedirectInformation' + minItems: 1 + muteNotif: + type: boolean + description: Indicates whether applicat'on's start or stop notification is to be muted. + trafficSteeringPolIdDl: + type: string + description: Reference to a pre-configured traffic steering policy for downlink traffic at the SMF. + nullable: true + trafficSteeringPolIdUl: + type: string + description: Reference to a pre-configured traffic steering policy for uplink traffic at the SMF. + nullable: true + routeToLocs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: A list of location which the traffic shall be routed to for the AF request + traffCorreInd: + type: boolean + upPathChgEvent: + $ref: '#/components/schemas/UpPathChgEvent' + steerFun: + $ref: '#/components/schemas/SteeringFunctionality' + steerModeDl: + $ref: '#/components/schemas/SteeringMode' + steerModeUl: + $ref: '#/components/schemas/SteeringMode' + mulAccCtrl: + $ref: '#/components/schemas/MulticastAccessControl' + required: + - tcId + nullable: true + ChargingData: + type: object + properties: + chgId: + type: string + description: Univocally identifies the charging control policy data within a PDU session. + meteringMethod: + $ref: '#/components/schemas/MeteringMethod' + offline: + type: boolean + description: Indicates the offline charging is applicable to the PCC rule when it is included and set to true. + online: + type: boolean + description: Indicates the online charging is applicable to the PCC rule when it is included and set to true. + sdfHandl: + type: boolean + description: Indicates whether the service data flow is allowed to start while the SMF is waiting for the response to the credit request. + ratingGroup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup' + reportingLevel: + $ref: '#/components/schemas/ReportingLevel' + serviceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceId' + sponsorId: + type: string + description: Indicates the sponsor identity. + appSvcProvId: + type: string + description: Indicates the application service provider identity. + afChargingIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + afChargId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationChargingId' + required: + - chgId + nullable: true + UsageMonitoringData: + type: object + properties: + umId: + type: string + description: Univocally identifies the usage monitoring policy data within a PDU session. + volumeThreshold: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + volumeThresholdUplink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + volumeThresholdDownlink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + timeThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + monitoringTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTimeRm' + nextVolThreshold: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + nextVolThresholdUplink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + nextVolThresholdDownlink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/VolumeRm' + nextTimeThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + inactivityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + exUsagePccRuleIds: + type: array + items: + type: string + minItems: 1 + description: Contains the PCC rule identifier(s) which corresponding service data flow(s) shall be excluded from PDU Session usage monitoring. It is only included in the UsageMonitoringData instance for session level usage monitoring. + nullable: true + required: + - umId + nullable: true + RedirectInformation: + type: object + properties: + redirectEnabled: + type: boolean + description: Indicates the redirect is enable. + redirectAddressType: + $ref: '#/components/schemas/RedirectAddressType' + redirectServerAddress: + type: string + description: Indicates the address of the redirect server. If "redirectAddressType" attribute indicates the IPV4_ADDR, the encoding is the same as the Ipv4Addr data type defined in 3GPP TS 29.571.If "redirectAddressType" attribute indicates the IPV6_ADDR, the encoding is the same as the Ipv6Addr data type defined in 3GPP TS 29.571.If "redirectAddressType" attribute indicates the URL or SIP_URI, the encoding is the same as the Uri data type defined in 3GPP TS 29.571. + FlowInformation: + type: object + properties: + flowDescription: + $ref: '#/components/schemas/FlowDescription' + ethFlowDescription: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + packFiltId: + type: string + description: An identifier of packet filter. + packetFilterUsage: + type: boolean + description: The packet shall be sent to the UE. + tosTrafficClass: + type: string + description: Contains the Ipv4 Type-of-Service and mask field or the Ipv6 Traffic-Class field and mask field. + nullable: true + spi: + type: string + description: the security parameter index of the IPSec packet. + nullable: true + flowLabel: + type: string + description: the Ipv6 flow label header field. + nullable: true + flowDirection: + $ref: '#/components/schemas/FlowDirectionRm' + SmPolicyDeleteData: + type: object + properties: + userLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + userLocationInfoTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ranNasRelCauses: + type: array + items: + $ref: '#/components/schemas/RanNasRelCause' + minItems: 1 + description: Contains the RAN and/or NAS release cause. + accuUsageReports: + type: array + items: + $ref: '#/components/schemas/AccuUsageReport' + minItems: 1 + description: Contains the usage report + pduSessRelCause: + $ref: '#/components/schemas/PduSessionRelCause' + qosMonReports: + type: array + items: + $ref: '#/components/schemas/QosMonitoringReport' + minItems: 1 + QosCharacteristics: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + resourceType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/QosResourceType' + priorityLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevel' + packetDelayBudget: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + packetErrorRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + averagingWindow: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindow' + maxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MaxDataBurstVol' + extMaxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVol' + required: + - 5qi + - resourceType + - priorityLevel + - packetDelayBudget + - packetErrorRate + ChargingInformation: + type: object + properties: + primaryChfAddress: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + secondaryChfAddress: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + primaryChfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + primaryChfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + secondaryChfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + secondaryChfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + required: + - primaryChfAddress + - secondaryChfAddress + AccuUsageReport: + type: object + properties: + refUmIds: + type: string + description: An id referencing UsageMonitoringData objects associated with this usage report. + volUsage: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + volUsageUplink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + volUsageDownlink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + timeUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + nextVolUsage: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + nextVolUsageUplink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + nextVolUsageDownlink: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + nextTimeUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - refUmIds + SmPolicyUpdateContextData: + type: object + properties: + repPolicyCtrlReqTriggers: + type: array + items: + $ref: '#/components/schemas/PolicyControlRequestTrigger' + minItems: 1 + description: The policy control reqeust trigges which are met. + accNetChIds: + type: array + items: + $ref: '#/components/schemas/AccNetChId' + minItems: 1 + description: Indicates the access network charging identifier for the PCC rule(s) or whole PDU session. + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + addAccessInfo: + $ref: '#/components/schemas/AdditionalAccessInfo' + relAccessInfo: + $ref: '#/components/schemas/AdditionalAccessInfo' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + userLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + relIpv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipDomain: + type: string + description: Indicates the IPv4 address domain + ipv6AddressPrefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + relIpv6AddressPrefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + addIpv6AddrPrefixes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + addRelIpv6AddrPrefixes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + relUeMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + subsSessAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + authProfIndex: + type: string + description: Indicates the DN-AAA authorization profile index + subsDefQos: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos' + vplmnQos: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/VplmnQos' + numOfPackFilter: + type: integer + description: Contains the number of supported packet filter for signalled QoS rules. + accuUsageReports: + type: array + items: + $ref: '#/components/schemas/AccuUsageReport' + minItems: 1 + description: Contains the usage report + 3gppPsDataOffStatus: + type: boolean + description: If it is included and set to true, the 3GPP PS Data Off is activated by the UE. + appDetectionInfos: + type: array + items: + $ref: '#/components/schemas/AppDetectionInfo' + minItems: 1 + description: Report the start/stop of the application traffic and detected SDF descriptions if applicable. + ruleReports: + type: array + items: + $ref: '#/components/schemas/RuleReport' + minItems: 1 + description: Used to report the PCC rule failure. + sessRuleReports: + type: array + items: + $ref: '#/components/schemas/SessionRuleReport' + minItems: 1 + description: Used to report the session rule failure. + qncReports: + type: array + items: + $ref: '#/components/schemas/QosNotificationControlInfo' + minItems: 1 + description: QoS Notification Control information. + qosMonReports: + type: array + items: + $ref: '#/components/schemas/QosMonitoringReport' + minItems: 1 + userLocationInfoTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + repPraInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + description: Reports the changes of presence reporting area. + ueInitResReq: + $ref: '#/components/schemas/UeInitiatedResourceRequest' + refQosIndication: + type: boolean + description: If it is included and set to true, the reflective QoS is supported by the UE. If it is included and set to false, the reflective QoS is revoked by the UE. + qosFlowUsage: + $ref: '#/components/schemas/QosFlowUsage' + creditManageStatus: + $ref: '#/components/schemas/CreditManagementStatus' + servNfId: + $ref: '#/components/schemas/ServingNfIdentity' + traceReq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + maPduInd: + $ref: '#/components/schemas/MaPduIndication' + atsssCapab: + $ref: '#/components/schemas/AtsssCapability' + tsnBridgeInfo: + $ref: '#/components/schemas/TsnBridgeInfo' + tsnBridgeManCont: + $ref: '#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: '#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: '#/components/schemas/PortManagementContainer' + minItems: 1 + mulAddrInfos: + type: array + items: + $ref: '#/components/schemas/IpMulticastAddressInfo' + minItems: 1 + policyDecFailureReports: + type: array + items: + $ref: '#/components/schemas/PolicyDecisionFailureCode' + minItems: 1 + description: Contains the type(s) of failed policy decision and/or condition data. + trafficDescriptors: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + pccRuleId: + type: string + description: Contains the identifier of the PCC rule which is used for traffic detection of event. + interGrpIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + typesOfNotif: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + UpPathChgEvent: + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifCorreId: + type: string + description: It is used to set the value of Notification Correlation ID in the notification sent by the SMF. + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + afAckInd: + type: boolean + required: + - notificationUri + - notifCorreId + - dnaiChgType + nullable: true + TerminationNotification: + type: object + properties: + resourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + cause: + $ref: '#/components/schemas/SmPolicyAssociationReleaseCause' + required: + - resourceUri + - cause + AppDetectionInfo: + type: object + properties: + appId: + type: string + description: A reference to the application detection filter configured at the UPF + instanceId: + type: string + description: Identifier sent by the SMF in order to allow correlation of application Start and Stop events to the specific service data flow description, if service data flow descriptions are deducible. + sdfDescriptions: + type: array + items: + $ref: '#/components/schemas/FlowInformation' + minItems: 1 + description: Contains the detected service data flow descriptions if they are deducible. + required: + - appId + AccNetChId: + type: object + properties: + accNetChaIdValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + refPccRuleIds: + type: array + items: + type: string + minItems: 1 + description: Contains the identifier of the PCC rule(s) associated to the provided Access Network Charging Identifier. + sessionChScope: + type: boolean + description: When it is included and set to true, indicates the Access Network Charging Identifier applies to the whole PDU Session + required: + - accNetChaIdValue + AccNetChargingAddress: + description: Describes the network entity within the access network performing charging + type: object + anyOf: + - required: [anChargIpv4Addr] + - required: [anChargIpv6Addr] + properties: + anChargIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + anChargIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + RequestedRuleData: + type: object + properties: + refPccRuleIds: + type: array + items: + type: string + minItems: 1 + description: An array of PCC rule id references to the PCC rules associated with the control data. + reqData: + type: array + items: + $ref: '#/components/schemas/RequestedRuleDataType' + minItems: 1 + description: Array of requested rule data type elements indicating what type of rule data is requested for the corresponding referenced PCC rules. + required: + - refPccRuleIds + - reqData + RequestedUsageData: + type: object + properties: + refUmIds: + type: array + items: + type: string + minItems: 1 + description: An array of usage monitoring data id references to the usage monitoring data instances for which the PCF is requesting a usage report. This attribute shall only be provided when allUmIds is not set to true. + allUmIds: + type: boolean + description: This boolean indicates whether requested usage data applies to all usage monitoring data instances. When it's not included, it means requested usage data shall only apply to the usage monitoring data instances referenced by the refUmIds attribute. + UeCampingRep: + type: object + properties: + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + servNfId: + $ref: '#/components/schemas/ServingNfIdentity' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + userLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + netLocAccSupp: + $ref: '#/components/schemas/NetLocAccessSupport' + RuleReport: + type: object + properties: + pccRuleIds: + type: array + items: + type: string + minItems: 1 + description: Contains the identifier of the affected PCC rule(s). + ruleStatus: + $ref: '#/components/schemas/RuleStatus' + contVers: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion' + minItems: 1 + description: Indicates the version of a PCC rule. + failureCode: + $ref: '#/components/schemas/FailureCode' + finUnitAct: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/FinalUnitAction' + ranNasRelCauses: + type: array + items: + $ref: '#/components/schemas/RanNasRelCause' + minItems: 1 + description: indicates the RAN or NAS release cause code information. + required: + - pccRuleIds + - ruleStatus + RanNasRelCause: + type: object + properties: + ngApCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + 5gMmCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5GMmCause' + 5gSmCause: + $ref: '#/components/schemas/5GSmCause' + epsCause: + $ref: '#/components/schemas/EpsRanNasRelCause' + UeInitiatedResourceRequest: + type: object + properties: + pccRuleId: + type: string + ruleOp: + $ref: '#/components/schemas/RuleOperation' + precedence: + type: integer + packFiltInfo: + type: array + items: + $ref: '#/components/schemas/PacketFilterInfo' + minItems: 1 + reqQos: + $ref: '#/components/schemas/RequestedQos' + required: + - ruleOp + - packFiltInfo + PacketFilterInfo: + type: object + properties: + packFiltId: + type: string + description: An identifier of packet filter. + packFiltCont: + $ref: '#/components/schemas/PacketFilterContent' + tosTrafficClass: + type: string + description: Contains the Ipv4 Type-of-Service and mask field or the Ipv6 Traffic-Class field and mask field. + spi: + type: string + description: The security parameter index of the IPSec packet. + flowLabel: + type: string + description: The Ipv6 flow label header field. + flowDirection: + $ref: '#/components/schemas/FlowDirection' + RequestedQos: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + gbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + gbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + required: + - 5qi + QosNotificationControlInfo: + type: object + properties: + refPccRuleIds: + type: array + items: + type: string + minItems: 1 + description: An array of PCC rule id references to the PCC rules associated with the QoS notification control info. + notifType: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/QosNotifType' + contVer: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion' + altQosParamId: + type: string + required: + - refPccRuleIds + - notifType + PartialSuccessReport: + type: object + properties: + failureCause: + $ref: '#/components/schemas/FailureCause' + ruleReports: + type: array + items: + $ref: '#/components/schemas/RuleReport' + minItems: 1 + description: Information about the PCC rules provisioned by the PCF not successfully installed/activated. + sessRuleReports: + type: array + items: + $ref: '#/components/schemas/SessionRuleReport' + minItems: 1 + description: Information about the session rules provisioned by the PCF not successfully installed. + ueCampingRep: + $ref: '#/components/schemas/UeCampingRep' + policyDecFailureReports: + type: array + items: + $ref: '#/components/schemas/PolicyDecisionFailureCode' + minItems: 1 + description: Contains the type(s) of failed policy decision and/or condition data. + required: + - failureCause + AuthorizedDefaultQos: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + priorityLevel: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevelRm' + averWindow: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindowRm' + maxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MaxDataBurstVolRm' + maxbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + gbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + extMaxDataBurstVol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' + ErrorReport: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + ruleReports: + type: array + items: + $ref: '#/components/schemas/RuleReport' + minItems: 1 + description: Used to report the PCC rule failure. + sessRuleReports: + type: array + items: + $ref: '#/components/schemas/SessionRuleReport' + minItems: 1 + description: Used to report the session rule failure. + polDecFailureReports: + type: array + items: + $ref: '#/components/schemas/PolicyDecisionFailureCode' + minItems: 1 + description: Used to report failure of the policy decision and/or condition data. + altQosParamId: + type: string + SessionRuleReport: + type: object + properties: + ruleIds: + type: array + items: + type: string + minItems: 1 + description: Contains the identifier of the affected session rule(s). + ruleStatus: + $ref: '#/components/schemas/RuleStatus' + sessRuleFailureCode: + $ref: '#/components/schemas/SessionRuleFailureCode' + policyDecFailureReports: + type: array + items: + $ref: '#/components/schemas/PolicyDecisionFailureCode' + minItems: 1 + description: Contains the type(s) of failed policy decision and/or condition data. + required: + - ruleIds + - ruleStatus + ServingNfIdentity: + type: object + properties: + servNfInstId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + anGwAddr: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AnGwAddress' + SteeringMode: + type: object + properties: + steerModeValue: + $ref: '#/components/schemas/SteerModeValue' + active: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + standby: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessTypeRm' + 3gLoad: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + prioAcc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - steerModeValue + AdditionalAccessInfo: + type: object + properties: + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + required: + - accessType + QosMonitoringData: + type: object + properties: + qmId: + type: string + description: Univocally identifies the QoS monitoring policy data within a PDU session. + reqQosMonParams: + type: array + items: + $ref: '#/components/schemas/RequestedQosMonitoringParameter' + minItems: 1 + description: indicates the UL packet delay, DL packet delay and/or round trip packet delay between the UE and the UPF is to be monitored when the QoS Monitoring for URLLC is enabled for the service data flow. + repFreqs: + type: array + items: + $ref: '#/components/schemas/ReportingFrequency' + minItems: 1 + repThreshDl: + type: integer + description: Unsigned integer identifying a period of time in units of miliiseconds for DL packet delay. + nullable: true + repThreshUl: + type: integer + description: Unsigned integer identifying a period of time in units of miliiseconds for UL packet delay. + nullable: true + repThreshRp: + type: integer + description: Unsigned integer identifying a period of time in units of miliiseconds for round trip packet delay. + nullable: true + waitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSecRm' + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorreId: + type: string + required: + - qmId + - reqQosMonParams + - repFreqs + nullable: true + QosMonitoringReport: + type: object + properties: + refPccRuleIds: + type: array + items: + type: string + minItems: 1 + description: An array of PCC rule id references to the PCC rules associated with the QoS monitoring report. + ulDelays: + type: array + items: + type: integer + minItems: 1 + dlDelays: + type: array + items: + type: integer + minItems: 1 + rtDelays: + type: array + items: + type: integer + minItems: 1 + required: + - refPccRuleIds +# + TsnBridgeInfo: + type: object + properties: + bridgeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + dsttAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + dsttPortNum: + $ref: '#/components/schemas/TsnPortNumber' + dsttResidTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' +# + PortManagementContainer: + type: object + properties: + portManCont: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + portNum: + $ref: '#/components/schemas/TsnPortNumber' + required: + - portManCont + - portNum + BridgeManagementContainer: + type: object + properties: + bridgeManCont: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + required: + - bridgeManCont + IpMulticastAddressInfo: + type: object + properties: + srcIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv4MulAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + srcIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ipv6MulAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + DownlinkDataNotificationControl: + description: Contains the downlink data notification control information. + type: object + properties: + notifCtrlInds: + type: array + items: + $ref: '#/components/schemas/NotificationControlIndication' + minItems: 1 + typesOfNotif: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + DownlinkDataNotificationControlRm: + description: this data type is defined in the same way as the DownlinkDataNotificationControl data type, but with the OpenAPI nullable property set to true. + type: object + properties: + notifCtrlInds: + type: array + items: + $ref: '#/components/schemas/NotificationControlIndication' + minItems: 1 + nullable: true + typesOfNotif: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DlDataDeliveryStatus' + minItems: 1 + nullable: true + nullable: true + 5GSmCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + EpsRanNasRelCause: + type: string + description: Defines the EPS RAN/NAS release cause. + PacketFilterContent: + type: string + description: Defines a packet filter for an IP flow. + FlowDescription: + type: string + description: Defines a packet filter for an IP flow. + TsnPortNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + ApplicationDescriptor: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + FlowDirection: + anyOf: + - type: string + enum: + - DOWNLINK + - UPLINK + - BIDIRECTIONAL + - UNSPECIFIED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - DOWNLINK: The corresponding filter applies for traffic to the UE. + - UPLINK: The corresponding filter applies for traffic from the UE. + - BIDIRECTIONAL: The corresponding filter applies for traffic both to and from the UE. + - UNSPECIFIED: The corresponding filter applies for traffic to the UE (downlink), but has no specific direction declared. The service data flow detection shall apply the filter for uplink traffic as if the filter was bidirectional. The PCF shall not use the value UNSPECIFIED in filters created by the network in NW-initiated procedures. The PCF shall only include the value UNSPECIFIED in filters in UE-initiated procedures if the same value is received from the SMF. + FlowDirectionRm: + anyOf: + - $ref: '#/components/schemas/FlowDirection' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' + ReportingLevel: + anyOf: + - type: string + enum: + - SER_ID_LEVEL + - RAT_GR_LEVEL + - SPON_CON_LEVEL + - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SER_ID_LEVEL: Indicates that the usage shall be reported on service id and rating group combination level. + - RAT_GR_LEVEL: Indicates that the usage shall be reported on rating group level. + - SPON_CON_LEVEL: Indicates that the usage shall be reported on sponsor identity and rating group combination level. + MeteringMethod: + anyOf: + - type: string + enum: + - DURATION + - VOLUME + - DURATION_VOLUME + - EVENT + - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - DURATION: Indicates that the duration of the service data flow traffic shall be metered. + - VOLUME: Indicates that volume of the service data flow traffic shall be metered. + - DURATION_VOLUME: Indicates that the duration and the volume of the service data flow traffic shall be metered. + - EVENT: Indicates that events of the service data flow traffic shall be metered. + PolicyControlRequestTrigger: + anyOf: + - type: string + enum: + - PLMN_CH + - RES_MO_RE + - AC_TY_CH + - UE_IP_CH + - UE_MAC_CH + - AN_CH_COR + - US_RE + - APP_STA + - APP_STO + - AN_INFO + - CM_SES_FAIL + - PS_DA_OFF + - DEF_QOS_CH + - SE_AMBR_CH + - QOS_NOTIF + - NO_CREDIT + - REALLO_OF_CREDIT + - PRA_CH + - SAREA_CH + - SCNN_CH + - RE_TIMEOUT + - RES_RELEASE + - SUCC_RES_ALLO + - RAT_TY_CH + - REF_QOS_IND_CH + - NUM_OF_PACKET_FILTER + - UE_STATUS_RESUME + - UE_TZ_CH + - AUTH_PROF_CH + - QOS_MONITORING + - SCELL_CH + - EPS_FALLBACK + - MA_PDU + - TSN_BRIDGE_INFO + - 5G_RG_JOIN + - 5G_RG_LEAVE + - DDN_FAILURE + - DDN_DELIVERY_STATUS + - GROUP_ID_LIST_CHG + - DDN_FAILURE_CANCELLATION + - DDN_DELIVERY_STATUS_CANCELLATION + - VPLMN_QOS_CH + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - PLMN_CH: PLMN Change + - RES_MO_RE: A request for resource modification has been received by the SMF. The SMF always reports to the PCF. + - AC_TY_CH: Access Type Change + - UE_IP_CH: UE IP address change. The SMF always reports to the PCF. + - UE_MAC_CH: A new UE MAC address is detected or a used UE MAC address is inactive for a specific period + - AN_CH_COR: Access Network Charging Correlation Information + - US_RE: The PDU Session or the Monitoring key specific resources consumed by a UE either reached the threshold or needs to be reported for other reasons. + - APP_STA: The start of application traffic has been detected. + - APP_STO: The stop of application traffic has been detected. + - AN_INFO: Access Network Information report + - CM_SES_FAIL: Credit management session failure + - PS_DA_OFF: The SMF reports when the 3GPP PS Data Off status changes. The SMF always reports to the PCF. + - DEF_QOS_CH: Default QoS Change. The SMF always reports to the PCF. + - SE_AMBR_CH: Session AMBR Change. The SMF always reports to the PCF. + - QOS_NOTIF: The SMF notify the PCF when receiving notification from RAN that QoS targets of the QoS Flow cannot be guranteed or gurateed again. + - NO_CREDIT: Out of credit + - REALLO_OF_CREDIT: Reallocation of credit + - PRA_CH: Change of UE presence in Presence Reporting Area + - SAREA_CH: Location Change with respect to the Serving Area + - SCNN_CH: Location Change with respect to the Serving CN node + - RE_TIMEOUT: Indicates the SMF generated the request because there has been a PCC revalidation timeout + - RES_RELEASE: Indicate that the SMF can inform the PCF of the outcome of the release of resources for those rules that require so. + - SUCC_RES_ALLO: Indicates that the requested rule data is the successful resource allocation. + - RAT_TY_CH: RAT Type Change. + - REF_QOS_IND_CH: Reflective QoS indication Change + - NUM_OF_PACKET_FILTER: Indicates that the SMF shall report the number of supported packet filter for signalled QoS rules + - UE_STATUS_RESUME: Indicates that the UE’s status is resumed. + - UE_TZ_CH: UE Time Zone Change + - AUTH_PROF_CH: The DN-AAA authorization profile index has changed + - QOS_MONITORING: Indicate that the SMF notifies the PCF of the QoS Monitoring information. + - SCELL_CH: Location Change with respect to the Serving Cell. + - EPS_FALLBACK: EPS Fallback report is enabled in the SMF. + - MA_PDU: UE Indicates that the SMF notifies the PCF of the MA PDU session request + - TSN_BRIDGE_INFO: 5GS Bridge information available + - 5G_RG_JOIN: The 5G-RG has joined to an IP Multicast Group. + - 5G_RG_LEAVE: The 5G-RG has left an IP Multicast Group. + - DDN_FAILURE: Event subscription for DDN Failure event received. + - DDN_DELIVERY_STATUS: Event subscription for DDN Delivery Status received. + - GROUP_ID_LIST_CHG: UE Internal Group Identifier(s) has changed: the SMF reports that UDM provided list of group Ids has changed. + - DDN_FAILURE_CANCELLATION: The event subscription for DDN Failure event is cancelled. + - DDN_DELIVERY_STATUS_CANCELLATION: The event subscription for DDD STATUS is cancelled. + - VPLMN_QOS_CH: Change of the QoS supported in the VPLMN. + RequestedRuleDataType: + anyOf: + - type: string + enum: + - CH_ID + - MS_TIME_ZONE + - USER_LOC_INFO + - RES_RELEASE + - SUCC_RES_ALLO + - EPS_FALLBACK + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - CH_ID: Indicates that the requested rule data is the charging identifier. + - MS_TIME_ZONE: Indicates that the requested access network info type is the UE's timezone. + - USER_LOC_INFO: Indicates that the requested access network info type is the UE's location. + - RES_RELEASE: Indicates that the requested rule data is the result of the release of resource. + - SUCC_RES_ALLO: Indicates that the requested rule data is the successful resource allocation. + - EPS_FALLBACK: Indicates that the requested rule data is the report of QoS flow rejection due to EPS fallback. + RuleStatus: + anyOf: + - type: string + enum: + - ACTIVE + - INACTIVE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - ACTIVE: Indicates that the PCC rule(s) are successfully installed (for those provisioned from PCF) or activated (for those pre-defined in SMF), or the session rule(s) are successfully installed + - INACTIVE: Indicates that the PCC rule(s) are removed (for those provisioned from PCF) or inactive (for those pre-defined in SMF) or the session rule(s) are removed. + FailureCode: + anyOf: + - type: string + enum: + - UNK_RULE_ID + - RA_GR_ERR + - SER_ID_ERR + - NF_MAL + - RES_LIM + - MAX_NR_QoS_FLOW + - MISS_FLOW_INFO + - RES_ALLO_FAIL + - UNSUCC_QOS_VAL + - INCOR_FLOW_INFO + - PS_TO_CS_HAN + - APP_ID_ERR + - NO_QOS_FLOW_BOUND + - FILTER_RES + - MISS_REDI_SER_ADDR + - CM_END_USER_SER_DENIED + - CM_CREDIT_CON_NOT_APP + - CM_AUTH_REJ + - CM_USER_UNK + - CM_RAT_FAILED + - UE_STA_SUSP + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UNK_RULE_ID: Indicates that the pre-provisioned PCC rule could not be successfully activated because the PCC rule identifier is unknown to the SMF. + - RA_GR_ERR: Indicate that the PCC rule could not be successfully installed or enforced because the Rating Group specified within the Charging Data policy decision which the PCC rule refers to is unknown or, invalid. + - SER_ID_ERR: Indicate that the PCC rule could not be successfully installed or enforced because the Service Identifier specified within the Charging Data policy decision which the PCC rule refers to is invalid, unknown, or not applicable to the service being charged. + - NF_MAL: Indicate that the PCC rule could not be successfully installed (for those provisioned from the PCF) or activated (for those pre-defined in SMF) or enforced (for those already successfully installed) due to SMF/UPF malfunction. + - RES_LIM: Indicate that the PCC rule could not be successfully installed (for those provisioned from PCF) or activated (for those pre-defined in SMF) or enforced (for those already successfully installed) due to a limitation of resources at the SMF/UPF. + - MAX_NR_QoS_FLOW: Indicate that the PCC rule could not be successfully installed (for those provisioned from PCF) or activated (for those pre-defined in SMF) or enforced (for those already successfully installed) due to the fact that the maximum number of QoS flows has been reached for the PDU session. + - MISS_FLOW_INFO: Indicate that the PCC rule could not be successfully installed or enforced because neither the "flowInfos" attribute nor the "appId" attribute is specified within the PccRule data structure by the PCF during the first install request of the PCC rule. + - RES_ALLO_FAIL: Indicate that the PCC rule could not be successfully installed or maintained since the QoS flow establishment/modification failed, or the QoS flow was released. + - UNSUCC_QOS_VAL: indicate that the QoS validation has failed or when Guaranteed Bandwidth > Max-Requested-Bandwidth. + - INCOR_FLOW_INFO: Indicate that the PCC rule could not be successfully installed or modified at the SMF because the provided flow information is not supported by the network (e.g. the provided IP address(es) or Ipv6 prefix(es) do not correspond to an IP version applicable for the PDU session). + - PS_TO_CS_HAN: Indicate that the PCC rule could not be maintained because of PS to CS handover. + - APP_ID_ERR: Indicate that the rule could not be successfully installed or enforced because the Application Identifier is invalid, unknown, or not applicable to the application required for detection. + - NO_QOS_FLOW_BOUND: Indicate that there is no QoS flow which the SMF can bind the PCC rule(s) to. + - FILTER_RES: Indicate that the Flow Information within the "flowInfos" attribute cannot be handled by the SMF because any of the restrictions defined in subclause 5.4.2 of 3GPP TS 29.212 was not met. + - MISS_REDI_SER_ADDR: Indicate that the PCC rule could not be successfully installed or enforced at the SMF because there is no valid Redirect Server Address within the Traffic Control Data policy decision which the PCC rule refers to provided by the PCF and no preconfigured redirection address for this PCC rule at the SMF. + - CM_END_USER_SER_DENIED: Indicate that the charging system denied the service request due to service restrictions (e.g. terminate rating group) or limitations related to the end-user, for example the end-user's account could not cover the requested service. + - CM_CREDIT_CON_NOT_APP: Indicate that the charging system determined that the service can be granted to the end user but no further credit control is needed for the service (e.g. service is free of charge or is treated for offline charging). + - CM_AUTH_REJ: Indicate that the charging system denied the service request in order to terminate the service for which credit is requested. + - CM_USER_UNK: Indicate that the specified end user could not be found in the charging system. + - CM_RAT_FAILED: Indicate that the charging system cannot rate the service request due to insufficient rating input, incorrect AVP combination or due to an attribute or an attribute value that is not recognized or supported in the rating. + - UE_STA_SUSP: Indicates that the UE is in suspend state. + AfSigProtocol: + anyOf: + - type: string + enum: + - NO_INFORMATION + - SIP + - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - NO_INFORMATION: Indicate that no information about the AF signalling protocol is being provided. + - SIP: Indicate that the signalling protocol is Session Initiation Protocol. + RuleOperation: + anyOf: + - type: string + enum: + - CREATE_PCC_RULE + - DELETE_PCC_RULE + - MODIFY_PCC_RULE_AND_ADD_PACKET_FILTERS + - MODIFY_ PCC_RULE_AND_REPLACE_PACKET_FILTERS + - MODIFY_ PCC_RULE_AND_DELETE_PACKET_FILTERS + - MODIFY_PCC_RULE_WITHOUT_MODIFY_PACKET_FILTERS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - CREATE_PCC_RULE: Indicates to create a new PCC rule to reserve the resource requested by the UE. + - DELETE_PCC_RULE: Indicates to delete a PCC rule corresponding to reserve the resource requested by the UE. + - MODIFY_PCC_RULE_AND_ADD_PACKET_FILTERS: Indicates to modify the PCC rule by adding new packet filter(s). + - MODIFY_ PCC_RULE_AND_REPLACE_PACKET_FILTERS: Indicates to modify the PCC rule by replacing the existing packet filter(s). + - MODIFY_ PCC_RULE_AND_DELETE_PACKET_FILTERS: Indicates to modify the PCC rule by deleting the existing packet filter(s). + - MODIFY_PCC_RULE_WITHOUT_MODIFY_PACKET_FILTERS: Indicates to modify the PCC rule by modifying the QoS of the PCC rule. + RedirectAddressType: + anyOf: + - type: string + enum: + - IPV4_ADDR + - IPV6_ADDR + - URL + - SIP_URI + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - IPV4_ADDR: Indicates that the address type is in the form of "dotted-decimal" IPv4 address. + - IPV6_ADDR: Indicates that the address type is in the form of IPv6 address. + - URL: Indicates that the address type is in the form of Uniform Resource Locator. + - SIP_URI: Indicates that the address type is in the form of SIP Uniform Resource Identifier. + QosFlowUsage: + anyOf: + - type: string + enum: + - GENERAL + - IMS_SIG + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - GENERAL: Indicate no specific QoS flow usage information is available. + - IMS_SIG: Indicate that the QoS flow is used for IMS signalling only. + FailureCause: + anyOf: + - type: string + enum: + - PCC_RULE_EVENT + - PCC_QOS_FLOW_EVENT + - RULE_PERMANENT_ERROR + - RULE_TEMPORARY_ERROR + - POL_DEC_ERROR + - type: string + CreditManagementStatus: + anyOf: + - type: string + enum: + - END_USER_SER_DENIED + - CREDIT_CTRL_NOT_APP + - AUTH_REJECTED + - USER_UNKNOWN + - RATING_FAILED + - type: string + SessionRuleFailureCode: + anyOf: + - type: string + enum: + - NF_MAL + - RES_LIM + - UNSUCC_QOS_VAL + - UE_STA_SUSP + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - NF_MAL: Indicate that the PCC rule could not be successfully installed (for those provisioned from the PCF) or activated (for those pre-defined in SMF) or enforced (for those already successfully installed) due to SMF/UPF malfunction. + - RES_LIM: Indicate that the PCC rule could not be successfully installed (for those provisioned from PCF) or activated (for those pre-defined in SMF) or enforced (for those already successfully installed) due to a limitation of resources at the SMF/UPF. + - UNSUCC_QOS_VAL: indicate that the QoS validation has failed. + - UE_STA_SUSP: Indicates that the UE is in suspend state. + SteeringFunctionality: + anyOf: + - type: string + enum: + - MPTCP + - ATSSS_LL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - MPTCP: Indicates that PCF authorizes the MPTCP functionality to support traffic steering, switching and splitting. + - ATSSS_LL: Indicates that PCF authorizes the ATSSS-LL functionality to support traffic steering, switching and splitting. + SteerModeValue: + anyOf: + - type: string + enum: + - ACTIVE_STANDBY + - LOAD_BALANCING + - SMALLEST_DELAY + - PRIORITY_BASED + - type: string + MulticastAccessControl: + anyOf: + - type: string + enum: + - ALLOWED + - NOT_ALLOWED + - type: string + RequestedQosMonitoringParameter: + anyOf: + - type: string + enum: + - DOWNLINK + - UPLINK + - ROUND_TRIP + - type: string + ReportingFrequency: + anyOf: + - type: string + enum: + - EVENT_TRIGGERED + - PERIODIC + - SESSION_RELEASE + - type: string + SmPolicyAssociationReleaseCause: + anyOf: + - type: string + enum: + - UNSPECIFIED + - UE_SUBSCRIPTION + - INSUFFICIENT_RES + - VALIDATION_CONDITION_NOT_MET + - type: string + PduSessionRelCause: + anyOf: + - type: string + enum: + - PS_TO_CS_HO + - type: string + MaPduIndication: + anyOf: + - type: string + enum: + - MA_PDU_REQUEST + - MA_PDU_NETWORK_UPGRADE_ALLOWED + - type: string + AtsssCapability: + anyOf: + - type: string + enum: + - MPTCP_ATSSS_LL_WITH_ASMODE_UL + - MPTCP_ATSSS_LL_WITH_EXSDMODE_DL_ASMODE_UL + - MPTCP_ATSSS_LL_WITH_ASMODE_DLUL + - ATSSS_LL + - MPTCP_ATSSS_LL + - type: string +# + NetLocAccessSupport: + anyOf: + - type: string + enum: + - ANR_NOT_SUPPORTED + - TZR_NOT_SUPPORTED + - LOC_NOT_SUPPORTED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - ANR_NOT_SUPPORTED: Indicates that the access network does not support the report of access network information. + - TZR_NOT_SUPPORTED: Indicates that the access network does not support the report of UE time zone. + - LOC_NOT_SUPPORTED: Indicates that the access network does not support the report of UE Location (or PLMN Id). + PolicyDecisionFailureCode: + anyOf: + - type: string + enum: + - TRA_CTRL_DECS_ERR + - QOS_DECS_ERR + - CHG_DECS_ERR + - USA_MON_DECS_ERR + - QOS_MON_DECS_ERR + - CON_DATA_ERR + - type: string +# + NotificationControlIndication: + anyOf: + - type: string + enum: + - DDN_FAILURE + - DDD_STATUS + - type: string +# diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29514_Npcf_PolicyAuthorization.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29514_Npcf_PolicyAuthorization.yaml new file mode 100644 index 000000000..720769c67 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29514_Npcf_PolicyAuthorization.yaml @@ -0,0 +1,1784 @@ +openapi: 3.0.0 +info: + title: Npcf_PolicyAuthorization Service API + version: 1.1.4 + description: | + PCF Policy Authorization Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.514 V16.9.0; 5G System; Policy Authorization Service;Stage 3. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.514/' +# +servers: + - url: '{apiRoot}/npcf-policyauthorization/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - npcf-policyauthorization +paths: + /app-sessions: + post: + summary: Creates a new Individual Application Session Context resource + operationId: PostAppSessions + tags: + - Application Sessions (Collection) + requestBody: + description: Contains the information for the creation the resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AppSessionContext' + responses: + '201': + description: Successful creation of the resource + content: + application/json: + schema: + $ref: '#/components/schemas/AppSessionContext' + headers: + Location: + description: 'Contains the URI of the created individual application session context resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId} or the URI of the created events subscription sub-resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription}' + required: true + schema: + type: string + '303': + description: See Other. The result of the HTTP POST request would be equivalent to the existing Application Session Context. + headers: + Location: + description: 'Contains the URI of the existing individual Application Session Context resource.' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtendedProblemDetails' + headers: + Retry-After: + description: 'Indicates the time the AF has to wait before making a new request. It can be a non-negative integer (decimal number) indicating the number of seconds the AF has to wait before making a new request or an HTTP-date after which the AF can retry a new request.' + schema: + anyOf: + - type: integer + - type: string + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + terminationRequest: + '{$request.body#/ascReqData/notifUri}/terminate': + post: + requestBody: + description: Request of the termination of the Individual Application Session Context + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TerminationInfo' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + eventNotification: + '{$request.body#/ascReqData/evSubsc/notifUri}/notify': + post: + requestBody: + description: Notification of an event occurrence in the PCF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + detected5GsBridgeForPduSession: + '{$request.body#/ascReqData/evSubsc/notifUri}/new-bridge': + post: + requestBody: + description: Notification of a new 5GS Bridge detected in the PCF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionTsnBridge' + responses: + '204': + description: The receipt of the notification is acknowledged + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /app-sessions/pcscf-restoration: + post: + summary: "Indicates P-CSCF restoration and does not create an Individual Application Session Context" + operationId: PcscfRestoration + tags: + - PCSCF Restoration Indication + requestBody: + description: PCSCF Restoration Indication + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcscfRestorationRequestData' + responses: + '204': + description: The deletion is confirmed without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# + /app-sessions/{appSessionId}: + get: + summary: "Reads an existing Individual Application Session Context" + operationId: GetAppSession + tags: + - Individual Application Session Context (Document) + parameters: + - name: appSessionId + description: string identifying the resource + in: path + required: true + schema: + type: string + responses: + '200': + description: A representation of the resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AppSessionContext' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: "Modifies an existing Individual Application Session Context" + operationId: ModAppSession + tags: + - Individual Application Session Context (Document) + parameters: + - name: appSessionId + description: string identifying the resource + in: path + required: true + schema: + type: string + requestBody: + description: modification of the resource. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AppSessionContextUpdateDataPatch' + responses: + '200': + description: successful modification of the resource and a representation of that resource is returned + content: + application/json: + schema: + $ref: '#/components/schemas/AppSessionContext' + '204': + description: The successful modification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtendedProblemDetails' + headers: + Retry-After: + description: 'Indicates the time the AF has to wait before making a new request. It can be a non-negative integer (decimal number) indicating the number of seconds the AF has to wait before making a new request or an HTTP-date after which the AF can retry a new request.' + schema: + anyOf: + - type: integer + - type: string + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + eventNotification: + '{$request.body#/ascReqData/evSubsc/notifUri}/notify': + post: + requestBody: + description: Notification of an event occurrence in the PCF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +# + /app-sessions/{appSessionId}/delete: + post: + summary: "Deletes an existing Individual Application Session Context" + operationId: DeleteAppSession + tags: + - Individual Application Session Context (Document) + parameters: + - name: appSessionId + description: string identifying the Individual Application Session Context resource + in: path + required: true + schema: + type: string + requestBody: + description: deletion of the Individual Application Session Context resource, req notification + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscReqData' + responses: + '200': + description: The deletion of the resource is confirmed and a resource is returned + content: + application/json: + schema: + $ref: '#/components/schemas/AppSessionContext' + '204': + description: The deletion is confirmed without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# + /app-sessions/{appSessionId}/events-subscription: + put: + summary: "creates or modifies an Events Subscription subresource" + operationId: updateEventsSubsc + tags: + - Events Subscription (Document) + parameters: + - name: appSessionId + description: string identifying the Events Subscription resource + in: path + required: true + schema: + type: string + requestBody: + description: Creation or modification of an Events Subscription resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscReqData' + responses: + '201': + description: The creation of the Events Subscription resource is confirmed and its representation is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscPutData' + headers: + Location: + description: 'Contains the URI of the created Events Subscription resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription}' + required: true + schema: + type: string + '200': + description: The modification of the Events Subscription resource is confirmed its representation is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/EventsSubscPutData' + '204': + description: The modification of the Events Subscription subresource is confirmed without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + eventNotification: + '{$request.body#/notifUri}/notify': + post: + requestBody: + description: Contains the information for the notification of an event occurrence in the PCF. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventsNotification' + responses: + '204': + description: The receipt of the notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: deletes the Events Subscription subresource + operationId: DeleteEventsSubsc + tags: + - Events Subscription (Document) + parameters: + - name: appSessionId + description: string identifying the Individual Application Session Context resource + in: path + required: true + schema: + type: string + responses: + '204': + description: The deletion of the of the Events Subscription sub-resource is confirmed without returning additional data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-policyauthorization: Access to the Npcf_PolicyAuthorization API + schemas: + AppSessionContext: + description: Represents an Individual Application Session Context resource. + type: object + properties: + ascReqData: + $ref: '#/components/schemas/AppSessionContextReqData' + ascRespData: + $ref: '#/components/schemas/AppSessionContextRespData' + evsNotif: + $ref: '#/components/schemas/EventsNotification' + AppSessionContextReqData: + description: Identifies the service requirements of an Individual Application Session Context. + type: object + required: + - notifUri + - suppFeat + oneOf: + - required: [ueIpv4] + - required: [ueIpv6] + - required: [ueMac] + properties: + afAppId: + $ref: '#/components/schemas/AfAppId' + afChargId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationChargingId' + afReqData: + $ref: '#/components/schemas/AfRequestedData' + afRoutReq: + $ref: '#/components/schemas/AfRoutingRequirement' + aspId: + $ref: '#/components/schemas/AspId' + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + evSubsc: + $ref: '#/components/schemas/EventsSubscReqData' + mcpttId: + description: indication of MCPTT service request + type: string + mcVideoId: + description: indication of MCVideo service request + type: string + medComponents: + type: object + additionalProperties: + $ref: '#/components/schemas/MediaComponent' + minProperties: 1 + ipDomain: + type: string + mpsId: + description: indication of MPS service request + type: string + mcsId: + description: indication of MCS service request + type: string + preemptControlInfo: + $ref: '#/components/schemas/PreemptionControlInformation' + resPrio: + $ref: '#/components/schemas/ReservPriority' + servInfStatus: + $ref: '#/components/schemas/ServiceInfoStatus' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + servUrn: + $ref: '#/components/schemas/ServiceUrn' + sliceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + sponId: + $ref: '#/components/schemas/SponId' + sponStatus: + $ref: '#/components/schemas/SponsoringStatus' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ueIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + tsnBridgeManCont: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + minItems: 1 + AppSessionContextRespData: + description: Describes the authorization data of an Individual Application Session Context created by the PCF. + type: object + properties: + servAuthInfo: + $ref: '#/components/schemas/ServAuthInfo' + ueIds: + type: array + items: + $ref: '#/components/schemas/UeIdentityInfo' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + AppSessionContextUpdateDataPatch: + description: Identifies the modifications to an Individual Application Session Context and/or the modifications to the sub-resource Events Subscription. + type: object + properties: + ascReqData: + $ref: '#/components/schemas/AppSessionContextUpdateData' + AppSessionContextUpdateData: + description: Identifies the modifications to the "ascReqData" property of an Individual Application Session Context which may include the modifications to the sub-resource Events Subscription. + type: object + properties: + afAppId: + $ref: '#/components/schemas/AfAppId' + afRoutReq: + $ref: '#/components/schemas/AfRoutingRequirementRm' + aspId: + $ref: '#/components/schemas/AspId' + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + evSubsc: + $ref: '#/components/schemas/EventsSubscReqDataRm' + mcpttId: + description: indication of MCPTT service request + type: string + mcVideoId: + description: indication of modification of MCVideo service + type: string + medComponents: + type: object + additionalProperties: + $ref: '#/components/schemas/MediaComponentRm' + minProperties: 1 + mpsId: + description: indication of MPS service request + type: string + mcsId: + description: indication of MCS service request + type: string + preemptControlInfo: + $ref: '#/components/schemas/PreemptionControlInformationRm' + resPrio: + $ref: '#/components/schemas/ReservPriority' + servInfStatus: + $ref: '#/components/schemas/ServiceInfoStatus' + sipForkInd: + $ref: '#/components/schemas/SipForkingIndication' + sponId: + $ref: '#/components/schemas/SponId' + sponStatus: + $ref: '#/components/schemas/SponsoringStatus' + tsnBridgeManCont: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + minItems: 1 + EventsSubscReqData: + description: Identifies the events the application subscribes to. + type: object + required: + - events + properties: + events: + type: array + items: + $ref: '#/components/schemas/AfEventSubscription' + minItems: 1 + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + reqQosMonParams: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter' + minItems: 1 + qosMon: + $ref: '#/components/schemas/QosMonitoringInformation' + reqAnis: + type: array + items: + $ref: '#/components/schemas/RequiredAccessInfo' + minItems: 1 + usgThres: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + notifCorreId: + type: string + EventsSubscReqDataRm: + description: this data type is defined in the same way as the EventsSubscReqData data type, but with the OpenAPI nullable property set to true. + type: object + required: + - events + properties: + events: + type: array + items: + $ref: '#/components/schemas/AfEventSubscription' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + reqQosMonParams: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter' + minItems: 1 + qosMon: + $ref: '#/components/schemas/QosMonitoringInformationRm' + reqAnis: + type: array + items: + $ref: '#/components/schemas/RequiredAccessInfo' + minItems: 1 + usgThres: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThresholdRm' + notifCorreId: + type: string + nullable: true + MediaComponent: + description: Identifies a media component. + type: object + required: + - medCompN + properties: + afAppId: + $ref: '#/components/schemas/AfAppId' + afRoutReq: + $ref: '#/components/schemas/AfRoutingRequirement' + qosReference: + type: string + disUeNotif: + type: boolean + altSerReqs: + type: array + items: + type: string + minItems: 1 + contVer: + $ref: '#/components/schemas/ContentVersion' + codecs: + type: array + items: + $ref: '#/components/schemas/CodecData' + minItems: 1 + maxItems: 2 + desMaxLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + desMaxLoss: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + flusId: + type: string + fStatus: + $ref: '#/components/schemas/FlowStatus' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxPacketLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxPacketLossRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxSuppBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxSuppBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + medCompN: + type: integer + medSubComps: + type: object + additionalProperties: + $ref: '#/components/schemas/MediaSubComponent' + minProperties: 1 + medType: + $ref: '#/components/schemas/MediaType' + minDesBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + minDesBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + preemptCap: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionCapability' + preemptVuln: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionVulnerability' + prioSharingInd: + $ref: '#/components/schemas/PrioritySharingIndicator' + resPrio: + $ref: '#/components/schemas/ReservPriority' + rrBw: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + rsBw: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + sharingKeyDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + sharingKeyUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + tsnQos: + $ref: '#/components/schemas/TsnQosContainer' + tscaiInputDl: + $ref: '#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: '#/components/schemas/TscaiInputContainer' + MediaComponentRm: + description: This data type is defined in the same way as the MediaComponent data type, but with the OpenAPI nullable property set to true + type: object + required: + - medCompN + properties: + afAppId: + $ref: '#/components/schemas/AfAppId' + afRoutReq: + $ref: '#/components/schemas/AfRoutingRequirementRm' + qosReference: + type: string + nullable: true + altSerReqs: + type: array + items: + type: string + minItems: 1 + nullable: true + disUeNotif: + type: boolean + contVer: + $ref: '#/components/schemas/ContentVersion' + codecs: + type: array + items: + $ref: '#/components/schemas/CodecData' + minItems: 1 + maxItems: 2 + desMaxLatency: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FloatRm' + desMaxLoss: + $ref: 'TS29571_CommonData.yaml#/components/schemas/FloatRm' + flusId: + type: string + nullable: true + fStatus: + $ref: '#/components/schemas/FlowStatus' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxPacketLossRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxPacketLossRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' + maxSuppBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + maxSuppBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + medCompN: + type: integer + medSubComps: + type: object + additionalProperties: + $ref: '#/components/schemas/MediaSubComponentRm' + minProperties: 1 + medType: + $ref: '#/components/schemas/MediaType' + minDesBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + minDesBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + mirBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + mirBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + preemptCap: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionCapabilityRm' + preemptVuln: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionVulnerabilityRm' + prioSharingInd: + $ref: '#/components/schemas/PrioritySharingIndicator' + resPrio: + $ref: '#/components/schemas/ReservPriority' + rrBw: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + rsBw: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + sharingKeyDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32Rm' + sharingKeyUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32Rm' + tsnQos: + $ref: '#/components/schemas/TsnQosContainerRm' + tscaiInputDl: + $ref: '#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: '#/components/schemas/TscaiInputContainer' + nullable: true + MediaSubComponent: + description: Identifies a media subcomponent + type: object + required: + - fNum + properties: + afSigProtocol: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' + ethfDescs: + type: array + items: + $ref: '#/components/schemas/EthFlowDescription' + minItems: 1 + maxItems: 2 + fNum: + type: integer + fDescs: + type: array + items: + $ref: '#/components/schemas/FlowDescription' + minItems: 1 + maxItems: 2 + fStatus: + $ref: '#/components/schemas/FlowStatus' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + tosTrCl: + $ref: '#/components/schemas/TosTrafficClass' + flowUsage: + $ref: '#/components/schemas/FlowUsage' + MediaSubComponentRm: + description: This data type is defined in the same way as the MediaSubComponent data type, but with the OpenAPI nullable property set to true. Removable attributes marBwDl and marBwUl are defined with the corresponding removable data type. + type: object + required: + - fNum + properties: + afSigProtocol: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' + ethfDescs: + type: array + items: + $ref: '#/components/schemas/EthFlowDescription' + minItems: 1 + maxItems: 2 + nullable: true + fNum: + type: integer + fDescs: + type: array + items: + $ref: '#/components/schemas/FlowDescription' + minItems: 1 + maxItems: 2 + nullable: true + fStatus: + $ref: '#/components/schemas/FlowStatus' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' + tosTrCl: + $ref: '#/components/schemas/TosTrafficClassRm' + flowUsage: + $ref: '#/components/schemas/FlowUsage' + nullable: true + EventsNotification: + description: describes the notification of a matched event + type: object + required: + - evSubsUri + - evNotifs + properties: + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + addAccessInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AdditionalAccessInfo' + relAccessInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AdditionalAccessInfo' + anChargAddr: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AccNetChargingAddress' + anChargIds: + type: array + items: + $ref: '#/components/schemas/AccessNetChargingIdentifier' + minItems: 1 + anGwAddr: + $ref: '#/components/schemas/AnGwAddress' + evSubsUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + evNotifs: + type: array + items: + $ref: '#/components/schemas/AfEventNotification' + minItems: 1 + failedResourcAllocReports: + type: array + items: + $ref: '#/components/schemas/ResourcesAllocationInfo' + minItems: 1 + succResourcAllocReports: + type: array + items: + $ref: '#/components/schemas/ResourcesAllocationInfo' + minItems: 1 + noNetLocSupp: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/NetLocAccessSupport' + outOfCredReports: + type: array + items: + $ref: '#/components/schemas/OutOfCreditInformation' + minItems: 1 + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + qncReports: + type: array + items: + $ref: '#/components/schemas/QosNotificationControlInfo' + minItems: 1 + qosMonReports: + type: array + items: + $ref: '#/components/schemas/QosMonitoringReport' + minItems: 1 + ranNasRelCauses: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RanNasRelCause' + minItems: 1 + description: Contains the RAN and/or NAS release cause. + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ueLoc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ueTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + usgRep: + $ref: 'TS29122_CommonData.yaml#/components/schemas/AccumulatedUsage' + tsnBridgeManCont: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + minItems: 1 + AfEventSubscription: + description: describes the event information delivered in the subscription + type: object + required: + - event + properties: + event: + $ref: '#/components/schemas/AfEvent' + notifMethod: + $ref: '#/components/schemas/AfNotifMethod' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + waitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + AfEventNotification: + description: describes the event information delivered in the notification + type: object + required: + - event + properties: + event: + $ref: '#/components/schemas/AfEvent' + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 + TerminationInfo: + description: indicates the cause for requesting the deletion of the Individual Application Session Context resource + type: object + required: + - termCause + - resUri + properties: + termCause: + $ref: '#/components/schemas/TerminationCause' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + AfRoutingRequirement: + description: describes the event information delivered in the subscription + type: object + properties: + appReloc: + type: boolean + routeToLocs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + spVal: + $ref: '#/components/schemas/SpatialValidity' + tempVals: + type: array + items: + $ref: '#/components/schemas/TemporalValidity' + minItems: 1 + upPathChgSub: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' + addrPreserInd: + type: boolean + SpatialValidity: + description: describes explicitly the route to an Application location + type: object + required: + - presenceInfoList + properties: + presenceInfoList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + SpatialValidityRm: + description: this data type is defined in the same way as the SpatialValidity data type, but with the OpenAPI nullable property set to true + type: object + required: + - presenceInfoList + properties: + presenceInfoList: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + nullable: true + AfRoutingRequirementRm: + description: this data type is defined in the same way as the AfRoutingRequirement data type, but with the OpenAPI nullable property set to true and the spVal and tempVals attributes defined as removable. + type: object + properties: + appReloc: + type: boolean + routeToLocs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + nullable: true + spVal: + $ref: '#/components/schemas/SpatialValidityRm' + tempVals: + type: array + items: + $ref: '#/components/schemas/TemporalValidity' + minItems: 1 + nullable: true + upPathChgSub: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' + addrPreserInd: + type: boolean + nullable: true + nullable: true + AnGwAddress: + description: describes the address of the access network gateway control node + type: object + anyOf: + - required: [anGwIpv4Addr] + - required: [anGwIpv6Addr] + properties: + anGwIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + anGwIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + Flows: + description: Identifies the flows + type: object + required: + - medCompN + properties: + contVers: + type: array + items: + $ref: '#/components/schemas/ContentVersion' + minItems: 1 + fNums: + type: array + items: + type: integer + minItems: 1 + medCompN: + type: integer + EthFlowDescription: + description: Identifies an Ethernet flow + type: object + required: + - ethType + properties: + destMacAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + ethType: + type: string + fDesc: + $ref: '#/components/schemas/FlowDescription' + fDir: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowDirection' + sourceMacAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + vlanTags: + type: array + items: + type: string + minItems: 1 + maxItems: 2 + srcMacAddrEnd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + destMacAddrEnd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + + + ResourcesAllocationInfo: + description: describes the status of the PCC rule(s) related to certain media components. + type: object + properties: + mcResourcStatus: + $ref: '#/components/schemas/MediaComponentResourcesStatus' + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 + altSerReq: + type: string + TemporalValidity: + description: Indicates the time interval(s) during which the AF request is to be applied + type: object + properties: + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + stopTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' +# + QosNotificationControlInfo: + description: Indicates whether the QoS targets for a GRB flow are not guaranteed or guaranteed again + type: object + required: + - notifType + properties: + notifType: + $ref: '#/components/schemas/QosNotifType' + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 + altSerReq: + type: string +# + AcceptableServiceInfo: + description: Indicates the maximum bandwidth that shall be authorized by the PCF. + type: object + properties: + accBwMedComps: + type: object + additionalProperties: + $ref: '#/components/schemas/MediaComponent' + minProperties: 1 + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + + UeIdentityInfo: + description: Represents 5GS-Level UE identities. + type: object + anyOf: + - required: [gpsi] + - required: [pei] + - required: [supi] + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' +# + AccessNetChargingIdentifier: + description: Describes the access network charging identifier. + type: object + required: + - accNetChaIdValue + properties: + accNetChaIdValue: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 +# + OutOfCreditInformation: + description: Indicates the SDFs without available credit and the corresponding termination action. + type: object + required: + - finUnitAct + properties: + finUnitAct: + $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/FinalUnitAction' + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 +# + QosMonitoringInformation: + description: Indicates the QoS Monitoring information to report, i.e. UL and/or DL and or round trip delay. + type: object + properties: + repThreshDl: + type: integer + repThreshUl: + type: integer + repThreshRp: + type: integer +# +# + PduSessionTsnBridge: + description: Contains the new 5GS Bridge information and may contain the DS-TT port and/or NW-TT port management information. + type: object + required: + - tsnBridgeInfo + properties: + tsnBridgeInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/TsnBridgeInfo' + tsnBridgeManCont: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' + tsnPortManContDstt: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + tsnPortManContNwtts: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' + minItems: 1 + +# + QosMonitoringInformationRm: + description: this data type is defined in the same way as the QosMonitoringInformation data type, but with the OpenAPI nullable property set to true. + type: object + properties: + repThreshDl: + type: integer + repThreshUl: + type: integer + repThreshRp: + type: integer + nullable: true +# + PcscfRestorationRequestData: + description: Indicates P-CSCF restoration. + type: object + oneOf: + - required: [ueIpv4] + - required: [ueIpv6] + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + ipDomain: + type: string + sliceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + ueIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + +# +# + QosMonitoringReport: + description: QoS Monitoring reporting information + type: object + properties: + flows: + type: array + items: + $ref: '#/components/schemas/Flows' + minItems: 1 + ulDelays: + type: array + items: + type: integer + minItems: 1 + dlDelays: + type: array + items: + type: integer + minItems: 1 + rtDelays: + type: array + items: + type: integer + minItems: 1 +# + TsnQosContainer: + description: Indicates TSC Traffic QoS. + type: object + properties: + maxTscBurstSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVol' + tscPackDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + tscPrioLevel: + $ref: '#/components/schemas/TscPriorityLevel' +# +# + TsnQosContainerRm: + description: Indicates removable TSC Traffic QoS. + type: object + properties: + maxTscBurstSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' + tscPackDelay: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudgetRm' + tscPrioLevel: + $ref: '#/components/schemas/TscPriorityLevelRm' + nullable: true +# + TscaiInputContainer: + description: Indicates TSC Traffic pattern. + type: object + properties: + periodicity: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + burstArrivalTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + nullable: true +# +# + EventsSubscPutData: + description: Identifies the events the application subscribes to within an Events Subscription sub-resource data. It may contain the notification of the already met events + anyOf: + - $ref: '#/components/schemas/EventsSubscReqData' + - $ref: '#/components/schemas/EventsNotification' +# +# EXTENDED PROBLEMDETAILS +# + ExtendedProblemDetails: + description: Extends ProblemDetails to also include the acceptable service info. + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - type: object + properties: + acceptableServInfo: + $ref: '#/components/schemas/AcceptableServiceInfo' + +# +# SIMPLE DATA TYPES +# + AfAppId: + description: Contains an AF application identifier. + type: string + AspId: + description: Contains an identity of an application service provider. + type: string + CodecData: + description: Contains codec related information. + type: string + ContentVersion: + description: Represents the content version of some content. + type: integer + FlowDescription: + description: Defines a packet filter of an IP flow. + type: string + SponId: + description: Contains an identity of a sponsor. + type: string + ServiceUrn: + description: Contains values of the service URN and may include subservices. + type: string + TosTrafficClass: + description: 2-octet string, where each octet is encoded in hexadecimal representation. The first octet contains the IPv4 Type-of-Service or the IPv6 Traffic-Class field and the second octet contains the ToS/Traffic Class mask field. + type: string + TosTrafficClassRm: + description: this data type is defined in the same way as the TosTrafficClass data type, but with the OpenAPI nullable property set to true + type: string + nullable: true + TscPriorityLevel: + type: integer + minimum: 1 + maximum: 8 + TscPriorityLevelRm: + type: integer + minimum: 1 + maximum: 8 + nullable: true +# +# ENUMERATIONS DATA TYPES +# + MediaType: + anyOf: + - type: string + enum: + - AUDIO + - VIDEO + - DATA + - APPLICATION + - CONTROL + - TEXT + - MESSAGE + - OTHER + - type: string +# + ReservPriority: + anyOf: + - type: string + enum: + - PRIO_1 + - PRIO_2 + - PRIO_3 + - PRIO_4 + - PRIO_5 + - PRIO_6 + - PRIO_7 + - PRIO_8 + - PRIO_9 + - PRIO_10 + - PRIO_11 + - PRIO_12 + - PRIO_13 + - PRIO_14 + - PRIO_15 + - PRIO_16 + - type: string +# + ServAuthInfo: + anyOf: + - type: string + enum: + - TP_NOT_KNOWN + - TP_EXPIRED + - TP_NOT_YET_OCURRED + - type: string +# + SponsoringStatus: + anyOf: + - type: string + enum: + - SPONSOR_DISABLED + - SPONSOR_ENABLED + - type: string +# + AfEvent: + anyOf: + - type: string + enum: + - ACCESS_TYPE_CHANGE + - ANI_REPORT + - CHARGING_CORRELATION + - EPS_FALLBACK + - FAILED_RESOURCES_ALLOCATION + - OUT_OF_CREDIT + - PLMN_CHG + - QOS_MONITORING + - QOS_NOTIF + - RAN_NAS_CAUSE + - REALLOCATION_OF_CREDIT + - SUCCESSFUL_RESOURCES_ALLOCATION + - TSN_BRIDGE_INFO + - USAGE_REPORT + - type: string +# + AfNotifMethod: + anyOf: + - type: string + enum: + - EVENT_DETECTION + - ONE_TIME + - PERIODIC + - PDU_SESSION_RELEASE + - type: string +# + QosNotifType: + anyOf: + - type: string + enum: + - GUARANTEED + - NOT_GUARANTEED + - type: string +# + TerminationCause: + anyOf: + - type: string + enum: + - ALL_SDF_DEACTIVATION + - PDU_SESSION_TERMINATION + - PS_TO_CS_HO + - type: string +# + MediaComponentResourcesStatus: + anyOf: + - type: string + enum: + - ACTIVE + - INACTIVE + - type: string +# +# + FlowUsage: + anyOf: + - type: string + enum: + - NO_INFO + - RTCP + - AF_SIGNALLING + - type: string + + + FlowStatus: + anyOf: + - type: string + enum: + - ENABLED-UPLINK + - ENABLED-DOWNLINK + - ENABLED + - DISABLED + - REMOVED + - type: string +# + RequiredAccessInfo: + anyOf: + - type: string + enum: + - USER_LOCATION + - UE_TIME_ZONE + - type: string +# + SipForkingIndication: + anyOf: + - type: string + enum: + - SINGLE_DIALOGUE + - SEVERAL_DIALOGUES + - type: string +# + AfRequestedData: + anyOf: + - type: string + enum: + - UE_IDENTITY + - type: string +# + ServiceInfoStatus: + anyOf: + - type: string + enum: + - FINAL + - PRELIMINARY + - type: string +# + PreemptionControlInformation: + anyOf: + - type: string + enum: + - MOST_RECENT + - LEAST_RECENT + - HIGHEST_BW + - type: string +# + PrioritySharingIndicator: + anyOf: + - type: string + enum: + - ENABLED + - DISABLED + - type: string +# + PreemptionControlInformationRm: + anyOf: + - $ref: '#/components/schemas/PreemptionControlInformation' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue' diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29517_Naf_EventExposure.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29517_Naf_EventExposure.yaml new file mode 100644 index 000000000..c40e1b9b0 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29517_Naf_EventExposure.yaml @@ -0,0 +1,502 @@ +openapi: 3.0.0 +info: + version: 1.0.3 + title: Naf_EventExposure + description: | + AF Event Exposure Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.517 V16.5.0; 5G System; Application Function Event Exposure Service; Stage 3. + url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.517/ + +servers: + - url: '{apiRoot}/naf-eventexposure/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: [] + + +paths: + /subscriptions: + post: + summary: Creates a new Individual Application Event Exposure Subscription resource + operationId: PostAfEventExposureSubsc + tags: + - Application Event Subscription (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureSubsc' + responses: + '201': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureSubsc' + headers: + Location: + description: 'Contains the URI of the created individual application event subscription resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + AfEventExposureNotif: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureNotif' + responses: + '204': + description: No Content, Notification was successful + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscriptions/{subscriptionId}: + get: + summary: "Reads an existing Individual Application Event Subscription" + operationId: GetAfEventExposureSubsc + tags: + - Individual Application Event Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Application Event Subscription ID + required: true + schema: + type: string + - name: supp-feat + in: query + description: Features supported by the NF service consumer + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK. Resource representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureSubsc' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: "Modifies an existing Individual Application Event Subscription " + operationId: PutAfEventExposureSubsc + tags: + - Individual Application Event Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureSubsc' + parameters: + - name: subscriptionId + in: path + description: Application Event Subscription ID + required: true + schema: + type: string + responses: + '200': + description: OK. Resource was successfully modified and representation is returned + content: + application/json: + schema: + $ref: '#/components/schemas/AfEventExposureSubsc' + '204': + description: No Content. Resource was successfully modified + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: "Cancels an existing Individual Application Event Subscription " + operationId: DeleteAfEventExposureSubsc + tags: + - Individual Application Event Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: Application Event Subscription ID + required: true + schema: + type: string + responses: + '204': + description: No Content. Resource was successfully deleted + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUri}' + scopes: {} + description: for trusted AF, the 'naf-eventexposure' shall be used as 'scopes' and '{nrfApiRoot}/oauth2/token' shall be used as 'tokenUri'. + + schemas: + AfEventExposureNotif: + type: object + properties: + notifId: + type: string + eventNotifs: + type: array + items: + $ref: '#/components/schemas/AfEventNotification' + minItems: 1 + required: + - notifId + - eventNotifs + AfEventExposureSubsc: + type: object + properties: + eventsSubs: + type: array + items: + $ref: '#/components/schemas/EventsSubs' + minItems: 1 + eventsRepInfo: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifId: + type: string + eventNotifs: + type: array + items: + $ref: '#/components/schemas/AfEventNotification' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - eventsSubs + - eventsRepInfo + - notifId + - notifUri + AfEventNotification: + type: object + properties: + event: + $ref: '#/components/schemas/AfEvent' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + svcExprcInfos: + type: array + items: + $ref: '#/components/schemas/ServiceExperienceInfoPerApp' + minItems: 1 + ueMobilityInfos: + type: array + items: + $ref: '#/components/schemas/UeMobilityCollection' + minItems: 1 + ueCommInfos: + type: array + items: + $ref: '#/components/schemas/UeCommunicationCollection' + minItems: 1 + excepInfos: + type: array + items: + $ref: '#/components/schemas/ExceptionInfo' + minItems: 1 + required: + - event + - timeStamp + EventsSubs: + type: object + properties: + event: + $ref: '#/components/schemas/AfEvent' + eventFilter: + $ref: '#/components/schemas/EventFilter' + required: + - event + - eventFilter + EventFilter: + type: object + properties: + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + exterGroupIds: + type: array + items: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + minItems: 1 + interGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + anyUeInd: + type: boolean + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + ServiceExperienceInfoPerApp: + type: object + properties: + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + svcExpPerFlows: + type: array + items: + $ref: '#/components/schemas/ServiceExperienceInfoPerFlow' + minItems: 1 + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + required: + - svcExpPerFlows + ServiceExperienceInfoPerFlow: + type: object + properties: + svcExprc: + $ref: '#/components/schemas/SvcExperience' + timeIntev: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + ipTrafficFilter: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + ethTrafficFilter: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + SvcExperience: + type: object + properties: + mos: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + upperRange: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + lowerRange: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + UeMobilityCollection: + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + ueTrajs: + type: array + items: + $ref: '#/components/schemas/UeTrajectoryCollection' + minItems: 1 + required: + - appId + - ueTrajs + UeCommunicationCollection: + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + exterGroupId: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + comms: + type: array + items: + $ref: '#/components/schemas/CommunicationCollection' + minItems: 1 + required: + - appId + - comms + UeTrajectoryCollection: + type: object + properties: + ts: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + required: + - ts + - locArea + CommunicationCollection: + type: object + properties: + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ulVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + dlVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + required: + - startTime + - endTime + - ulVol + - dlVol + ExceptionInfo: + type: object + properties: + ipTrafficFilter: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + ethTrafficFilter: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + exceps: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Exception' + minItems: 1 + +# Simple data types and Enumerations + + AfEvent: + anyOf: + - type: string + enum: + - SVC_EXPERIENCE + - UE_MOBILITY + - UE_COMM + - EXCEPTIONS + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_Communication.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_Communication.yaml new file mode 100644 index 000000000..db0b928d0 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_Communication.yaml @@ -0,0 +1,3352 @@ +openapi: 3.0.0 +info: + version: 1.1.4 + title: Namf_Communication + description: | + AMF Communication Service + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +security: + - {} + - oAuth2ClientCredentials: + - namf-comm +externalDocs: + description: 3GPP TS 29.518 V16.8.0; 5G System; Access and Mobility Management Services + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' +servers: + - url: '{apiRoot}/namf-comm/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501 +paths: + /ue-contexts/{ueContextId}: + put: + summary: Namf_Communication CreateUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: CreateUEContext + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextCreateData' + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + binaryDataN2InformationExt2: + type: string + format: binary + binaryDataN2InformationExt3: + type: string + format: binary + binaryDataN2InformationExt4: + type: string + format: binary + binaryDataN2InformationExt5: + type: string + format: binary + binaryDataN2InformationExt6: + type: string + format: binary + binaryDataN2InformationExt7: + type: string + format: binary + binaryDataN2InformationExt8: + type: string + format: binary + binaryDataN2InformationExt9: + type: string + format: binary + binaryDataN2InformationExt10: + type: string + format: binary + binaryDataN2InformationExt11: + type: string + format: binary + binaryDataN2InformationExt12: + type: string + format: binary + binaryDataN2InformationExt13: + type: string + format: binary + binaryDataN2InformationExt14: + type: string + format: binary + binaryDataN2InformationExt15: + type: string + format: binary + binaryDataN2InformationExt16: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt11: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt12: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt13: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt14: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt15: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt16: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + callbacks: + onN2MessageNotify: + '{$request.body#/n2NotifyUri}': + post: + summary: Namf_Communication N2 Info Notify (UE Specific) service Operation + tags: + - N2 Info Notify + operationId: N2InfoNotifyHandoverComplete + requestBody: + description: UE Specific N2 Information Notification + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationNotification' + responses: + '200': + description: N2 Information Notification Response. + content: + application/json: + schema: + $ref: '#/components/schemas/N2InfoNotificationRspData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N2InfoNotificationRspData' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + responses: + '201': + description: UE context successfully created. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//ue-contexts/{ueContextId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreatedData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextCreatedData' + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + binaryDataN2InformationExt2: + type: string + format: binary + binaryDataN2InformationExt3: + type: string + format: binary + binaryDataN2InformationExt4: + type: string + format: binary + binaryDataN2InformationExt5: + type: string + format: binary + binaryDataN2InformationExt6: + type: string + format: binary + binaryDataN2InformationExt7: + type: string + format: binary + binaryDataN2InformationExt8: + type: string + format: binary + binaryDataN2InformationExt9: + type: string + format: binary + binaryDataN2InformationExt10: + type: string + format: binary + binaryDataN2InformationExt11: + type: string + format: binary + binaryDataN2InformationExt12: + type: string + format: binary + binaryDataN2InformationExt13: + type: string + format: binary + binaryDataN2InformationExt14: + type: string + format: binary + binaryDataN2InformationExt15: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt11: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt12: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt13: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt14: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt15: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreateError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreateError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Response parts + jsonData: + $ref: '#/components/schemas/UeContextCreateError' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextCreateError' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/release: + post: + summary: Namf_Communication ReleaseUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: ReleaseUEContext + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UEContextRelease' + required: true + responses: + '204': + description: UE Context successfully released + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/assign-ebi: + post: + summary: Namf_Communication EBI Assignment service Operation + tags: + - Individual ueContext (Document) + operationId: EBIAssignment + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiData' + required: true + responses: + '200': + description: EBI Assignment successfully performed. + content: + application/json: + schema: + $ref: '#/components/schemas/AssignedEbiData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + application/problem+json: # error originated by an SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + application/problem+json: # error originated by an SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/AssignEbiError' + application/problem+json: # error originated by an SCP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/transfer: + post: + summary: Namf_Communication UEContextTransfer service Operation + tags: + - Individual ueContext (Document) + operationId: UEContextTransfer + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextTransferReqData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextTransferReqData' + binaryDataN1Message: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: UE context transfer successfully initiated. + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextTransferRspData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextTransferRspData' + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/transfer-update: + post: + summary: Namf_Communication RegistrationStatusUpdate service Operation + tags: + - Individual ueContext (Document) + operationId: RegistrationStatusUpdate + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeRegStatusUpdateReqData' + required: true + responses: + '200': + description: UE context transfer status successfully updated. + content: + application/json: + schema: + $ref: '#/components/schemas/UeRegStatusUpdateRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /ue-contexts/{ueContextId}/relocate: + post: + summary: Namf_Communication RelocateUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: RelocateUEContext + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextRelocateData' + binaryDataGtpcMessage: + type: string + format: binary + binaryDataN2Information: + type: string + format: binary + binaryDataN2InformationExt1: + type: string + format: binary + binaryDataN2InformationExt2: + type: string + format: binary + binaryDataN2InformationExt3: + type: string + format: binary + binaryDataN2InformationExt4: + type: string + format: binary + binaryDataN2InformationExt5: + type: string + format: binary + binaryDataN2InformationExt6: + type: string + format: binary + binaryDataN2InformationExt7: + type: string + format: binary + binaryDataN2InformationExt8: + type: string + format: binary + binaryDataN2InformationExt9: + type: string + format: binary + binaryDataN2InformationExt10: + type: string + format: binary + binaryDataN2InformationExt11: + type: string + format: binary + binaryDataN2InformationExt12: + type: string + format: binary + binaryDataN2InformationExt13: + type: string + format: binary + binaryDataN2InformationExt14: + type: string + format: binary + binaryDataN2InformationExt15: + type: string + format: binary + binaryDataN2InformationExt16: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataGtpcMessage: + contentType: application/vnd.3gpp.gtpc + headers: + Content-Id: + schema: + type: string + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt1: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt2: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt3: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt4: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt5: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt6: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt7: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt8: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt9: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt10: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt11: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt12: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt13: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt14: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt15: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryDataN2InformationExt16: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + responses: + '201': + description: UE context successfully relocated. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//ue-contexts/{ueContextId}/relocate' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextRelocatedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /ue-contexts/{ueContextId}/cancel-relocate: + post: + summary: Namf_Communication CancelRelocateUEContext service Operation + tags: + - Individual ueContext (Document) + operationId: CancelRelocateUEContext + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(5g-guti-[0-9]{5,6}[0-9a-fA-F]{14}|imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/UeContextCancelRelocateData' + binaryDataGtpcMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataGtpcMessage: + contentType: application/vnd.3gpp.gtpc + headers: + Content-Id: + schema: + type: string + required: true + responses: + '204': + description: UE Context successfully released + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/n1-n2-messages: + post: + summary: Namf_Communication N1N2 Message Transfer (UE Specific) service Operation + tags: + - n1N2Message collection (Document) + operationId: N1N2MessageTransfer + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|cid-.{1,255}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferReqData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N1N2MessageTransferReqData' + binaryDataN1Message: + type: string + format: binary + binaryDataN2Information: + type: string + format: binary + binaryMtData: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + binaryMtData: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + required: true + responses: + '202': + description: N1N2 Message Transfer accepted. + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferRspData' + headers: + Location: + description: 'The URI of the resource located on the AMF to which the status of the N1N2 message transfer is held' + required: true + schema: + type: string + '200': + description: N1N2 Message Transfer successfully initiated. + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '409': + description: Conflicts + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: Gateway Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MessageTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + description: Unexpected error + callbacks: + onN1N2TransferFailure: + '{$request.body#/n1n2FailureTxfNotifURI}': + post: + summary: Namf_Communication N1N2Transfer Failure Notification service Operation + tags: + - N1N2 Transfer Failure Notification + operationId: N1N2TransferFailureNotification + requestBody: + description: N1N2Transfer Failure Notification + content: + application/json: + schema: + $ref: '#/components/schemas/N1N2MsgTxfrFailureNotification' + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /ue-contexts/{ueContextId}/n1-n2-messages/subscriptions: + post: + summary: Namf_Communication N1N2 Message Subscribe (UE Specific) service Operation + tags: + - N1N2 Subscriptions Collection for Individual UE Contexts (Document) + operationId: N1N2MessageSubscribe + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UeN1N2InfoSubscriptionCreateData' + required: true + responses: + '201': + description: N1N2 Message Subscription successfully created. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//{ueContextId}/ue-contexts/n1-n2-messages/subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/UeN1N2InfoSubscriptionCreatedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onN1N2MessageNotify: + '{$request.body#/n1NotifyCallbackUri}': + post: + summary: Namf_Communication N1 Message Notify service Operation + tags: + - N1 Message Notify + operationId: N1MessageNotify + requestBody: + description: N1 Message Notification + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N1MessageNotification' + binaryDataN1Message: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '{$request.body#/n2NotifyCallbackUri}': + post: + summary: Namf_Communication N2 Info Notify (UE Specific) service Operation + tags: + - N2 Info Notify + operationId: N2InfoNotify + requestBody: + description: UE Specific N2 Information Notification + content: + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N2InformationNotification' + binaryDataN1Message: + type: string + format: binary + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN1Message: + contentType: application/vnd.3gpp.5gnas + headers: + Content-Id: + schema: + type: string + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /ue-contexts/{ueContextId}/n1-n2-messages/subscriptions/{subscriptionId}: + delete: + summary: Namf_Communication N1N2 Message UnSubscribe (UE Specific) service Operation + tags: + - N1N2 Individual Subscription (Document) + operationId: N1N2MessageUnSubscribe + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + - name: subscriptionId + in: path + description: Subscription Identifier + required: true + schema: + type: string + responses: + '204': + description: N1N2 Message Subscription successfully removed. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /non-ue-n2-messages/transfer: + post: + summary: Namf_Communication Non UE N2 Message Transfer service Operation + tags: + - Non UE N2Messages collection (Document) + operationId: NonUeN2MessageTransfer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferReqData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N2InformationTransferReqData' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: Non UE N2 Message Transfer successfully initiated. + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '503': + description: Service Unavailable + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationTransferError' + application/problem+json: # error originated by an SCP or SEPP + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + default: + description: Unexpected error + /non-ue-n2-messages/subscriptions: + post: + summary: Namf_Communication Non UE N2 Info Subscribe service Operation + tags: + - Non UE N2Messages Subscriptions collection (Document) + operationId: NonUeN2InfoSubscribe + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NonUeN2InfoSubscriptionCreateData' + required: true + responses: + '201': + description: Non UE N2 Info Subscription successfully created. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//non-ue-n2-messages/subscriptions/{n2NotifySubscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NonUeN2InfoSubscriptionCreatedData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onN2InfoNotify: + '{$request.body#/n2NotifyCallbackUri}': + post: + summary: Namf_Communication Non UE N2 Info Notify service Operation + tags: + - Non UE N2 Info Notify + operationId: NonUeN2InfoNotify + requestBody: + description: Non UE N2 Information Notification + content: + application/json: + schema: + $ref: '#/components/schemas/N2InformationNotification' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/N2InformationNotification' + binaryDataN2Information: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataN2Information: + contentType: application/vnd.3gpp.ngap + headers: + Content-Id: + schema: + type: string + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /non-ue-n2-messages/subscriptions/{n2NotifySubscriptionId}: + delete: + summary: Namf_Communication Non UE N2 Info UnSubscribe service Operation + tags: + - Non UE N2 Message Notification Individual Subscription (Document) + operationId: NonUeN2InfoUnSubscribe + parameters: + - name: n2NotifySubscriptionId + in: path + description: N2 info Subscription Identifier + required: true + schema: + type: string + responses: + '204': + description: Non UE N2 INfo Subscription successfully removed. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /subscriptions: + post: + summary: Namf_Communication AMF Status Change Subscribe service Operation + tags: + - subscriptions collection (Document) + operationId: AMFStatusChangeSubscribe + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + required: true + responses: + '201': + description: N1N2 Message Subscription successfully created. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-comm//subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onAmfStatusChange: + '{$request.body#/amfStatusUri}': + post: + summary: Amf Status Change Notify service Operation + tags: + - Amf Status Change Notify + operationId: AmfStatusChangeNotify + requestBody: + description: Amf Status Change Notification + content: + application/json: + schema: + $ref: '#/components/schemas/AmfStatusChangeNotification' + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /subscriptions/{subscriptionId}: + delete: + summary: Namf_Communication AMF Status Change UnSubscribe service Operation + tags: + - individual subscription (Document) + operationId: AMFStatusChangeUnSubscribe + parameters: + - name: subscriptionId + in: path + description: AMF Status Change Subscription Identifier + required: true + schema: + type: string + responses: + '204': + description: N1N2 Message Subscription successfully removed. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + put: + summary: Namf_Communication AMF Status Change Subscribe Modify service Operation + tags: + - individual subscription (Document) + operationId: AMFStatusChangeSubscribeModfy + parameters: + - name: subscriptionId + in: path + description: AMF Status Change Subscription Identifier + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + required: true + responses: + '202': + description: N1N2 Message Subscription successfully updated. + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + OnAmfStatusChange: + '{$request.body#/amfStatusUri}': + post: + summary: Amf Status Change Notify service Operation + tags: + - Amf Status Change Notify + operationId: AmfStatusChangeNOtify + requestBody: + description: Amf Status Change Notification + content: + application/json: + schema: + $ref: '#/components/schemas/AmfStatusChangeNotification' + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + namf-comm: Access to the Namf_Communication API + schemas: +# +# STRUCTURED DATA TYPES +# + SubscriptionData: + type: object + properties: + amfStatusUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + required: + - amfStatusUri + AmfStatusChangeNotification: + type: object + properties: + amfStatusInfoList: + type: array + items: + $ref: '#/components/schemas/AmfStatusInfo' + minItems: 1 + required: + - amfStatusInfoList + AmfStatusInfo: + type: object + properties: + guamiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + minItems: 1 + statusChange: + $ref: '#/components/schemas/StatusChange' + targetAmfRemoval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + targetAmfFailure: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + required: + - guamiList + - statusChange + AssignEbiData: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + arpList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + releasedEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + required: + - pduSessionId + AssignedEbiData: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + assignedEbiList: + type: array + items: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/EbiArpMapping' + minItems: 0 + failedArpList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + releasedEbiList: + type: array + items: + $ref: '#/components/schemas/EpsBearerId' + minItems: 1 + required: + - pduSessionId + - assignedEbiList + AssignEbiFailed: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + failedArpList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + minItems: 1 + required: + - pduSessionId + UEContextRelease: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + unauthenticatedSupi: + type: boolean + default: false + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + required: + - ngapCause + N2InformationTransferReqData: + type: object + properties: + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + ratSelector: + $ref: '#/components/schemas/RatSelector' + globalRanNodeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + n2Information: + $ref: '#/components/schemas/N2InfoContainer' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - n2Information + NonUeN2InfoSubscriptionCreateData: + type: object + properties: + globalRanNodeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + anTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + n2NotifyCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - n2InformationClass + - n2NotifyCallbackUri + NonUeN2InfoSubscriptionCreatedData: + type: object + properties: + n2NotifySubscriptionId: + type: string + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + required: + - n2NotifySubscriptionId + UeN1N2InfoSubscriptionCreateData: + type: object + properties: + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + n2NotifyCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + n1MessageClass: + $ref: '#/components/schemas/N1MessageClass' + n1NotifyCallbackUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + UeN1N2InfoSubscriptionCreatedData: + type: object + properties: + n1n2NotifySubscriptionId: + type: string + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - n1n2NotifySubscriptionId + N2InformationNotification: + type: object + properties: + n2NotifySubscriptionId: + type: string + n2InfoContainer: + $ref: '#/components/schemas/N2InfoContainer' + toReleaseSessionList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + lcsCorrelationId: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CorrelationID' + notifyReason: + $ref: '#/components/schemas/N2InfoNotifyReason' + smfChangeInfoList: + type: array + items: + $ref: '#/components/schemas/SmfChangeInfo' + minItems: 1 + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + initialAmfName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + anN2IPv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + anN2IPv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + notifySourceNgRan: + type: boolean + default: false + required: + - n2NotifySubscriptionId + N2InfoContainer: + type: object + properties: + n2InformationClass: + $ref: '#/components/schemas/N2InformationClass' + smInfo: + $ref: '#/components/schemas/N2SmInformation' + ranInfo: + $ref: '#/components/schemas/N2RanInformation' + nrppaInfo: + $ref: '#/components/schemas/NrppaInformation' + pwsInfo: + $ref: '#/components/schemas/PwsInformation' + v2xInfo: + $ref: '#/components/schemas/V2xInformation' + required: + - n2InformationClass + N1MessageNotification: + type: object + properties: + n1NotifySubscriptionId: + type: string + n1MessageContainer: + $ref: '#/components/schemas/N1MessageContainer' + lcsCorrelationId: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CorrelationID' + registrationCtxtContainer: + $ref: '#/components/schemas/RegistrationContextContainer' + newLmfIdentification: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + cIoT5GSOptimisation: + type: boolean + default: false + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + required: + - n1MessageContainer + N1MessageContainer: + type: object + properties: + n1MessageClass: + $ref: '#/components/schemas/N1MessageClass' + n1MessageContent: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + serviceInstanceId: + type: string + required: + - n1MessageClass + - n1MessageContent + N1N2MessageTransferReqData: + type: object + properties: + n1MessageContainer: + $ref: '#/components/schemas/N1MessageContainer' + n2InfoContainer: + $ref: '#/components/schemas/N2InfoContainer' + mtData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + skipInd: + type: boolean + default: false + lastMsgIndication: + type: boolean + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + lcsCorrelationId: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CorrelationID' + ppi: + $ref: '#/components/schemas/Ppi' + arp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + n1n2FailureTxfNotifURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + smfReallocationInd: + type: boolean + default: false + areaOfValidity: + $ref: '#/components/schemas/AreaOfValidity' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + maAcceptedInd: + type: boolean + default: false + extBufSupport: + type: boolean + default: false + targetAccess: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + + N1N2MessageTransferRspData: + type: object + properties: + cause: + $ref: '#/components/schemas/N1N2MessageTransferCause' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - cause + RegistrationContextContainer: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + localTimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + anType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + anN2ApId: + type: integer + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + initialAmfName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfName' + userLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + rrcEstCause: + type: string + pattern: '^[0-9a-fA-F]+$' + ueContextRequest: + type: boolean + default: false + initialAmfN2ApId: + type: integer + anN2IPv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + anN2IPv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + allowedNssai: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/AllowedNssai' + configuredNssai: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/ConfiguredSnssai' + minItems: 1 + rejectedNssaiInPlmn: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + rejectedNssaiInTa: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + selectedPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + iabNodeInd: + type: boolean + default: false + ceModeBInd: + $ref: '#/components/schemas/CeModeBInd' + lteMInd: + $ref: '#/components/schemas/LteMInd' + authenticatedInd: + type: boolean + default: false + npnAccessInfo: + $ref: '#/components/schemas/NpnAccessInfo' + required: + - ueContext + - anType + - anN2ApId + - ranNodeId + - initialAmfName + - userLocation + AreaOfValidity: + type: object + properties: + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 0 + required: + - taiList + UeContextTransferReqData: + type: object + properties: + reason: + $ref: '#/components/schemas/TransferReason' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + regRequest: + $ref: '#/components/schemas/N1MessageContainer' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - reason + - accessType + UeContextTransferRspData: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + ueRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + ueNbiotRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueContext + UeContext: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + supiUnauthInd: + type: boolean + gpsiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + udmGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + ausfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + pcfGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + routingIndicator: + type: string + groupList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + drxParameter: + $ref: '#/components/schemas/DrxParameter' + subRfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + usedRfsp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' + subUeAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + smsfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + seafData: + $ref: '#/components/schemas/SeafData' + 5gMmCapability: + $ref: '#/components/schemas/5GMmCapability' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + pcfAmpServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + pcfUepServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + pcfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + pcfAmPolicyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + amPolicyReqTriggerList: + type: array + items: + $ref: '#/components/schemas/PolicyReqTrigger' + minItems: 1 + pcfUePolicyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + uePolicyReqTriggerList: + type: array + items: + $ref: '#/components/schemas/PolicyReqTrigger' + minItems: 1 + hpcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + hpcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + restrictedRatList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + forbiddenAreaList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Area' + minItems: 1 + serviceAreaRestriction: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + restrictedCoreNwTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CoreNetworkType' + minItems: 1 + eventSubscriptionList: + type: array + items: + $ref: '#/components/schemas/ExtAmfEventSubscription' + minItems: 1 + mmContextList: + type: array + items: + $ref: '#/components/schemas/MmContext' + minItems: 1 + maxItems: 2 + sessionContextList: + type: array + items: + $ref: '#/components/schemas/PduSessionContext' + minItems: 1 + traceData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData' + serviceGapExpiryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + stnSr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StnSr' + cMsisdn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CMsisdn' + msClassmark2: + $ref: '#/components/schemas/MSClassmark2' + supportedCodecList: + type: array + items: + $ref: '#/components/schemas/SupportedCodec' + minItems: 1 + smallDataRateStatusInfos: + type: array + items: + $ref: '#/components/schemas/SmallDataRateStatusInfo' + minItems: 1 + restrictedPrimaryRatList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + restrictedSecondaryRatList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 1 + v2xContext: + $ref: '#/components/schemas/V2xContext' + lteCatMInd: + type: boolean + default: false + moExpDataCounter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MoExpDataCounter' + cagData: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/CagData' + managementMdtInd: + type: boolean + default: false + immediateMdtConf: + $ref: '#/components/schemas/ImmediateMdtConf' + ecRestrictionDataWb: + $ref: '#/components/schemas/EcRestrictionDataWb' + ecRestrictionDataNb: + type: boolean + default: false + iabOperationAllowed: + type: boolean + + + N2SmInformation: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + n2InfoContent: + $ref: '#/components/schemas/N2InfoContent' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + homePlmnSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + iwkSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + subjectToHo: + type: boolean + required: + - pduSessionId + N2InfoContent: + type: object + properties: + ngapMessageType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + ngapIeType: + $ref: '#/components/schemas/NgapIeType' + ngapData: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - ngapData + NrppaInformation: + type: object + properties: + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nrppaPdu: + $ref: '#/components/schemas/N2InfoContent' + serviceInstanceId: + type: string + required: + - nfId + - nrppaPdu + PwsInformation: + type: object + properties: + messageIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + serialNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + pwsContainer: + $ref: '#/components/schemas/N2InfoContent' + bcEmptyAreaList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + sendRanResponse: + type: boolean + default: false + omcId: + $ref: '#/components/schemas/OmcIdentifier' + required: + - messageIdentifier + - serialNumber + - pwsContainer + N1N2MsgTxfrFailureNotification: + type: object + properties: + cause: + $ref: '#/components/schemas/N1N2MessageTransferCause' + n1n2MsgDataUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - cause + - n1n2MsgDataUri + N1N2MessageTransferError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + errInfo: + $ref: '#/components/schemas/N1N2MsgTxfrErrDetail' + required: + - error + N1N2MsgTxfrErrDetail: + type: object + properties: + retryAfter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + highestPrioArp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' + maxWaitingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + N2InformationTransferRspData: + type: object + properties: + result: + $ref: '#/components/schemas/N2InformationTransferResult' + pwsRspData: + $ref: '#/components/schemas/PWSResponseData' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - result + MmContext: + type: object + properties: + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + nasSecurityMode: + $ref: '#/components/schemas/NasSecurityMode' + epsNasSecurityMode: + $ref: '#/components/schemas/EpsNasSecurityMode' + nasDownlinkCount: + $ref: '#/components/schemas/NasCount' + nasUplinkCount: + $ref: '#/components/schemas/NasCount' + ueSecurityCapability: + $ref: '#/components/schemas/UeSecurityCapability' + s1UeNetworkCapability: + $ref: '#/components/schemas/S1UeNetworkCapability' + allowedNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nssaiMappingList: + type: array + items: + $ref: '#/components/schemas/NssaiMapping' + minItems: 1 + allowedHomeNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nsInstanceList: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + minItems: 1 + expectedUEbehavior: + $ref: '#/components/schemas/ExpectedUeBehavior' + ueDifferentiationInfo: + $ref: '#/components/schemas/UeDifferentiationInfo' + plmnAssiUeRadioCapId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnAssiUeRadioCapId' + manAssiUeRadioCapId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ManAssiUeRadioCapId' + ucmfDicEntryId: + type: string + n3IwfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + wagfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + tngfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + anN2ApId: + type: integer + nssaaStatusList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NssaaStatus' + minItems: 1 + pendingNssaiMappingList: + type: array + items: + $ref: '#/components/schemas/NssaiMapping' + minItems: 1 + required: + - accessType + SeafData: + type: object + properties: + ngKsi: + $ref: '#/components/schemas/NgKsi' + keyAmf: + $ref: '#/components/schemas/KeyAmf' + nh: + type: string + pattern: '^[A-Fa-f0-9]+$' + ncc: + type: integer + minimum: 0 + maximum: 7 + keyAmfChangeInd: + type: boolean + keyAmfHDerivationInd: + type: boolean + required: + - ngKsi + - keyAmf + NasSecurityMode: + type: object + properties: + integrityAlgorithm: + $ref: '#/components/schemas/IntegrityAlgorithm' + cipheringAlgorithm: + $ref: '#/components/schemas/CipheringAlgorithm' + required: + - integrityAlgorithm + - cipheringAlgorithm + PduSessionContext: + type: object + properties: + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + smContextRef: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + selectedDnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + additionalAccessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + allocatedEbiList: + type: array + items: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/EbiArpMapping' + minItems: 1 + hsmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + hsmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + hsmfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + smfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + vsmfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + vsmfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + vsmfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + vsmfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + ismfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + ismfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + ismfServiceSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + ismfBinding: + $ref: '#/components/schemas/SbiBindingLevel' + nsInstance: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + smfServiceInstanceId: + type: string + maPduSession: + type: boolean + default: false + cnAssistedRanPara: + $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/CnAssistedRanPara' + required: + - pduSessionId + - smContextRef + - sNssai + - dnn + - accessType + NssaiMapping: + type: object + properties: + mappedSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + hSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - mappedSnssai + - hSnssai + UeRegStatusUpdateReqData: + type: object + properties: + transferStatus: + $ref: '#/components/schemas/UeContextTransferStatus' + toReleaseSessionList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + pcfReselectedInd: + type: boolean + smfChangeInfoList: + type: array + items: + $ref: '#/components/schemas/SmfChangeInfo' + minItems: 1 + required: + - transferStatus + UeRegStatusUpdateRspData: + type: object + properties: + regStatusTransferComplete: + type: boolean + required: + - regStatusTransferComplete + AssignEbiError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + failureDetails: + $ref: '#/components/schemas/AssignEbiFailed' + required: + - error + - failureDetails + UeContextCreateData: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + targetId: + $ref: '#/components/schemas/NgRanTargetId' + sourceToTargetData: + $ref: '#/components/schemas/N2InfoContent' + pduSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + n2NotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ueRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + servingNetwork: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + required: + - ueContext + - targetId + - sourceToTargetData + - pduSessionList + UeContextCreatedData: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + targetToSourceData: + $ref: '#/components/schemas/N2InfoContent' + pduSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + failedSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pcfReselectedInd: + type: boolean + required: + - ueContext + - targetToSourceData + - pduSessionList + UeContextCreateError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + targetToSourceFailureData: + $ref: '#/components/schemas/N2InfoContent' + required: + - error + UeContextRelocateData: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + targetId: + $ref: '#/components/schemas/NgRanTargetId' + sourceToTargetData: + $ref: '#/components/schemas/N2InfoContent' + forwardRelocationRequest: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + pduSessionList: + type: array + items: + $ref: '#/components/schemas/N2SmInformation' + minItems: 1 + ueRadioCapability: + $ref: '#/components/schemas/N2InfoContent' + ngapCause: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - ueContext + - targetId + - sourceToTargetData + - forwardRelocationRequest + UeContextRelocatedData: + type: object + properties: + ueContext: + $ref: '#/components/schemas/UeContext' + UeContextCancelRelocateData: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + relocationCancelRequest: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + required: + - relocationCancelRequest + NgRanTargetId: + type: object + properties: + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + required: + - ranNodeId + - tai + PWSResponseData: + type: object + properties: + ngapMessageType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + serialNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + messageIdentifier: + type: integer + unknownTaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + required: + - ngapMessageType + - serialNumber + - messageIdentifier + PWSErrorData: + type: object + properties: + namfCause: + type: integer + required: + - namfCause + N2InformationTransferError: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + pwsErrorInfo: + $ref: '#/components/schemas/PWSErrorData' + required: + - error + NgKsi: + type: object + properties: + tsc: + $ref: '#/components/schemas/ScType' + ksi: + type: integer + minimum: 0 + maximum: 6 + required: + - tsc + - ksi + KeyAmf: + type: object + properties: + keyType: + $ref: '#/components/schemas/KeyAmfType' + keyVal: + type: string + required: + - keyType + - keyVal + ExpectedUeBehavior: + type: object + properties: + expMoveTrajectory: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + minItems: 1 + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - expMoveTrajectory + - validityTime + N2RanInformation: + type: object + properties: + n2InfoContent: + $ref: '#/components/schemas/N2InfoContent' + required: + - n2InfoContent + N2InfoNotificationRspData: + type: object + properties: + n2InfoContent: + $ref: '#/components/schemas/N2InfoContent' + SmallDataRateStatusInfo: + type: object + properties: + Snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + Dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + SmallDataRateStatus: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SmallDataRateStatus' + required: + - Snssai + - Dnn + - SmallDataRateStatus + SmfChangeInfo: + type: object + properties: + pduSessionIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + minItems: 1 + smfChangeInd: + $ref: '#/components/schemas/SmfChangeIndication' + required: + - pduSessionIdList + - smfChangeInd + + V2xContext: + type: object + properties: + nrV2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NrV2xAuth' + lteV2xServicesAuth: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LteV2xAuth' + nrUeSidelinkAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + lteUeSidelinkAmbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + Pc5QoSPara: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pc5QoSPara' + + V2xInformation: + type: object + properties: + n2Pc5Pol: + $ref: '#/components/schemas/N2InfoContent' + + ImmediateMdtConf: + type: object + properties: + jobType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/JobType' + measurementLteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MeasurementLteForMdt' + minItems: 1 + measurementNrList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MeasurementNrForMdt' + minItems: 1 + reportingTriggerList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportingTrigger' + minItems: 1 + reportInterval: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportIntervalMdt' + reportIntervalNr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportIntervalNrMdt' + reportAmount: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ReportAmountMdt' + eventThresholdRsrp: + type: integer + minimum: 0 + maximum: 97 + eventThresholdRsrq: + type: integer + minimum: 0 + maximum: 34 + eventThresholdRsrpNr: + type: integer + minimum: 0 + maximum: 127 + eventThresholdRsrqNr: + type: integer + minimum: 0 + maximum: 127 + collectionPeriodRmmLte: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CollectionPeriodRmmLteMdt' + collectionPeriodRmmNr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CollectionPeriodRmmNrMdt' + measurementPeriodLte: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MeasurementPeriodLteMdt' + areaScope: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AreaScope' + positioningMethod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PositioningMethodMdt' + addPositioningMethodList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PositioningMethodMdt' + minItems: 1 + mdtAllowedPlmnIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + maxItems: 16 + sensorMeasurementList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SensorMeasurement' + minItems: 1 + required: + - jobType + + EpsNasSecurityMode: + type: object + properties: + integrityAlgorithm: + $ref: '#/components/schemas/EpsNasIntegrityAlgorithm' + cipheringAlgorithm: + $ref: '#/components/schemas/EpsNasCipheringAlgorithm' + required: + - integrityAlgorithm + - cipheringAlgorithm + + EcRestrictionDataWb: + type: object + properties: + ecModeARestricted: + type: boolean + default: false + ecModeBRestricted: + type: boolean + required: + - ecModeBRestricted + + ExtAmfEventSubscription: + allOf: + - $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/AmfEventSubscription' + - $ref: '#/components/schemas/AmfEventSubscriptionAddInfo' + + AmfEventSubscriptionAddInfo: + type: object + properties: + bindingInfo: + type: array + items: + type: string + minItems: 1 + maxItems: 2 + subscribingNfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + + UeDifferentiationInfo: + type: object + properties: + periodicComInd: + $ref: '#/components/schemas/PeriodicCommunicationIndicator' + periodicTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + scheduledComTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ScheduledCommunicationTime' + stationaryInd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/StationaryIndication' + trafficProfile: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TrafficProfile' + batteryInd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BatteryIndication' + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + CeModeBInd: + description: CE-mode-B Support Indicator. + type: object + properties: + ceModeBSupportInd: + type: boolean + required: + - ceModeBSupportInd + + LteMInd: + description: LTE-M Indication. + type: object + properties: + lteCatMInd: + type: boolean + required: + - lteCatMInd + + NpnAccessInfo: + description: NPN Access Information. + type: object + properties: + cellCagInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId' + minItems: 1 + +# +# SIMPLE DATA TYPES +# + EpsBearerId: + type: integer + minimum: 0 + maximum: 15 + Ppi: + type: integer + minimum: 0 + maximum: 7 + NasCount: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + 5GMmCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + UeSecurityCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + S1UeNetworkCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + DrxParameter: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + OmcIdentifier: + type: string + MSClassmark2: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + SupportedCodec: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + +# +# ENUMERATIONS +# + StatusChange: + anyOf: + - type: string + enum: + - AMF_UNAVAILABLE + - AMF_AVAILABLE + - type: string + N2InformationClass: + anyOf: + - type: string + enum: + - SM + - NRPPa + - PWS + - PWS-BCAL + - PWS-RF + - RAN + - V2X + - type: string + N1MessageClass: + anyOf: + - type: string + enum: + - 5GMM + - SM + - LPP + - SMS + - UPDP + - LCS + - type: string + N1N2MessageTransferCause: + anyOf: + - type: string + enum: + - ATTEMPTING_TO_REACH_UE + - N1_N2_TRANSFER_INITIATED + - WAITING_FOR_ASYNCHRONOUS_TRANSFER + - UE_NOT_RESPONDING + - N1_MSG_NOT_TRANSFERRED + - UE_NOT_REACHABLE_FOR_SESSION + - TEMPORARY_REJECT_REGISTRATION_ONGOING + - TEMPORARY_REJECT_HANDOVER_ONGOING + - type: string + UeContextTransferStatus: + anyOf: + - type: string + enum: + - TRANSFERRED + - NOT_TRANSFERRED + - type: string + N2InformationTransferResult: + anyOf: + - type: string + enum: + - N2_INFO_TRANSFER_INITIATED + - type: string + CipheringAlgorithm: + anyOf: + - type: string + enum: + - NEA0 + - NEA1 + - NEA2 + - NEA3 + - type: string + IntegrityAlgorithm: + anyOf: + - type: string + enum: + - NIA0 + - NIA1 + - NIA2 + - NIA3 + - type: string + SmsSupport: + anyOf: + - type: string + enum: + - 3GPP + - NON_3GPP + - BOTH + - NONE + - type: string + ScType: + anyOf: + - type: string + enum: + - NATIVE + - MAPPED + - type: string + KeyAmfType: + anyOf: + - type: string + enum: + - KAMF + - KPRIMEAMF + - type: string + TransferReason: + anyOf: + - type: string + enum: + - INIT_REG + - MOBI_REG + - MOBI_REG_UE_VALIDATED + - type: string + PolicyReqTrigger: + anyOf: + - type: string + enum: + - LOCATION_CHANGE + - PRA_CHANGE + - SARI_CHANGE + - RFSP_INDEX_CHANGE + - ALLOWED_NSSAI_CHANGE + - type: string + RatSelector: + anyOf: + - type: string + enum: + - E-UTRA + - NR + - type: string + NgapIeType: + anyOf: + - type: string + enum: + - PDU_RES_SETUP_REQ + - PDU_RES_REL_CMD + - PDU_RES_MOD_REQ + - HANDOVER_CMD + - HANDOVER_REQUIRED + - HANDOVER_PREP_FAIL + - SRC_TO_TAR_CONTAINER + - TAR_TO_SRC_CONTAINER + - TAR_TO_SRC_FAIL_CONTAINER + - RAN_STATUS_TRANS_CONTAINER + - SON_CONFIG_TRANSFER + - NRPPA_PDU + - UE_RADIO_CAPABILITY + - RIM_INFO_TRANSFER + - SECONDARY_RAT_USAGE + - PC5_QOS_PARA + - EARLY_STATUS_TRANS_CONTAINER + - type: string + N2InfoNotifyReason: + anyOf: + - type: string + enum: + - HANDOVER_COMPLETED + - type: string + SmfChangeIndication: + anyOf: + - type: string + enum: + - CHANGED + - REMOVED + - type: string + SbiBindingLevel: + anyOf: + - type: string + enum: + - NF_INSTANCE_BINDING + - NF_SET_BINDING + - NF_SERVICE_SET_BINDING + - NF_SERVICE_INSTANCE_BINDING + - type: string + + EpsNasCipheringAlgorithm: + anyOf: + - type: string + enum: + - EEA0 + - EEA1 + - EEA2 + - EEA3 + - type: string + + EpsNasIntegrityAlgorithm: + anyOf: + - type: string + enum: + - EIA0 + - EIA1 + - EIA2 + - EIA3 + - type: string + + PeriodicCommunicationIndicator: + anyOf: + - type: string + enum: + - PIORIODICALLY + - ON_DEMAND + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_EventExposure.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_EventExposure.yaml new file mode 100644 index 000000000..45efedfb4 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_EventExposure.yaml @@ -0,0 +1,707 @@ +openapi: 3.0.0 +info: + version: 1.1.4 + title: Namf_EventExposure + description: | + AMF Event Exposure Service + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +security: + - {} + - oAuth2ClientCredentials: + - namf-evts +externalDocs: + description: 3GPP TS 29.518 V16.8.0; 5G System; Access and Mobility Management Services + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' +servers: + - url: '{apiRoot}/namf-evts/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501 +paths: + /subscriptions: + post: + summary: Namf_EventExposure Subscribe service Operation + tags: + - Subscriptions collection (Document) + operationId: CreateSubscription + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfCreateEventSubscription' + required: true + responses: + '201': + description: Subsription Created + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-evts//subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/AmfCreatedEventSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + callbacks: + onEventReport: + '{$request.body#/subscription/eventNotifyUri}': + post: + summary: Event Notificaiton Delivery + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfEventNotification' + required: true + responses: + '204': + description: Successful acknowledgement + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + onSubscriptionIdChangeEvtReport: + '{$request.body#/subscription/subsChangeNotifyUri}': + post: + summary: Event Notificaiton Delivery For Subscription Id Change + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AmfEventNotification' + required: true + responses: + '204': + description: Successful acknowledgement + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /subscriptions/{subscriptionId}: + patch: + summary: Namf_EventExposure Subscribe Modify service Operation + tags: + - Individual subscription (Document) + operationId: ModifySubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be modified + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + oneOf: + - type: array + items: + $ref: '#/components/schemas/AmfUpdateEventSubscriptionItem' + minItems: 1 + - type: array + items: + $ref: '#/components/schemas/AmfUpdateEventOptionItem' + minItems: 1 + maxItems: 1 + required: true + responses: + '200': + description: Subsription modified successfully + content: + application/json: + schema: + $ref: '#/components/schemas/AmfUpdatedEventSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + delete: + summary: Namf_EventExposure Unsubscribe service Operation + tags: + - Individual subscription (Document) + operationId: DeleteSubscription + parameters: + - name: subscriptionId + in: path + required: true + description: Unique ID of the subscription to be deleted + schema: + type: string + responses: + '204': + description: Subsription deleted successfully + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + namf-evts: Access to the Namf_EventExposure API + schemas: + AmfEventSubscription: + type: object + properties: + eventList: + type: array + items: + $ref: '#/components/schemas/AmfEvent' + minItems: 1 + eventNotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorrelationId: + type: string + nfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + subsChangeNotifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + subsChangeNotifyCorrelationId: + type: string + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + anyUE: + type: boolean + options: + $ref: '#/components/schemas/AmfEventMode' + sourceNfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + required: + - eventList + - eventNotifyUri + - notifyCorrelationId + - nfId + AmfEvent: + type: object + properties: + type: + $ref: '#/components/schemas/AmfEventType' + immediateFlag: + type: boolean + default: false + areaList: + type: array + items: + $ref: '#/components/schemas/AmfEventArea' + minItems: 1 + locationFilterList: + type: array + items: + $ref: '#/components/schemas/LocationFilter' + minItems: 1 + refId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + trafficDescriptorList: + type: array + items: + $ref: '#/components/schemas/TrafficDescriptor' + minItems: 1 + reportUeReachable: + type: boolean + default: false + reachabilityFilter: + $ref: '#/components/schemas/ReachabilityFilter' + maxReports: + type: integer + maxResponseTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - type + AmfEventNotification: + type: object + properties: + notifyCorrelationId: + type: string + subsChangeNotifyCorrelationId: + type: string + reportList: + type: array + items: + $ref: '#/components/schemas/AmfEventReport' + minItems: 1 + eventSubsSyncInfo: + $ref: '#/components/schemas/AmfEventSubsSyncInfo' + AmfEventReport: + type: object + properties: + type: + $ref: '#/components/schemas/AmfEventType' + state: + $ref: '#/components/schemas/AmfEventState' + timeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + anyUe: + type: boolean + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + areaList: + type: array + items: + $ref: '#/components/schemas/AmfEventArea' + minItems: 1 + refId: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + location: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + additionalLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + timezone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + accessTypeList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + minItems: 1 + rmInfoList: + type: array + items: + $ref: '#/components/schemas/RmInfo' + minItems: 1 + cmInfoList: + type: array + items: + $ref: '#/components/schemas/CmInfo' + minItems: 1 + reachability: + $ref: '#/components/schemas/UeReachability' + commFailure: + $ref: '#/components/schemas/CommunicationFailure' + lossOfConnectReason: + $ref: '#/components/schemas/LossOfConnectivityReason' + numberOfUes: + type: integer + 5gsUserStateList: + type: array + items: + $ref: '#/components/schemas/5GsUserStateInfo' + minItems: 1 + typeCode: + type: string + pattern: '^imeitac-[0-9]{8}$' + registrationNumber: + type: integer + maxAvailabilityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueIdExt: + type: array + items: + $ref: '#/components/schemas/UEIdExt' + minItems: 1 + required: + - type + - state + - timeStamp + AmfEventMode: + type: object + properties: + trigger: + $ref: '#/components/schemas/AmfEventTrigger' + maxReports: + type: integer + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + repPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + sampRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + required: + - trigger + AmfEventState: + type: object + properties: + active: + type: boolean + remainReports: + type: integer + remainDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + required: + - active + RmInfo: + type: object + properties: + rmState: + $ref: '#/components/schemas/RmState' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - rmState + - accessType + CmInfo: + type: object + properties: + cmState: + $ref: '#/components/schemas/CmState' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - cmState + - accessType + CommunicationFailure: + type: object + properties: + nasReleaseCode: + type: string + ranReleaseCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' + AmfCreateEventSubscription: + type: object + properties: + subscription: + $ref: '#/components/schemas/AmfEventSubscription' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + required: + - subscription + AmfCreatedEventSubscription: + type: object + properties: + subscription: + $ref: '#/components/schemas/AmfEventSubscription' + subscriptionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + reportList: + type: array + items: + $ref: '#/components/schemas/AmfEventReport' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - subscription + - subscriptionId + AmfUpdateEventSubscriptionItem: + type: object + properties: + op: + type: string + enum: + - add + - remove + - replace + path: + type: string + pattern: '\/eventList\/[0-]$|\/eventList\/[1-9][0-9]*$' + value: + $ref: '#/components/schemas/AmfEvent' + required: + - op + - path + AmfUpdateEventOptionItem: + type: object + properties: + op: + type: string + enum: + - replace + path: + type: string + pattern: '\/options\/expiry$' + value: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - op + - path + - value + AmfUpdatedEventSubscription: + type: object + properties: + subscription: + $ref: '#/components/schemas/AmfEventSubscription' + reportList: + type: array + items: + $ref: '#/components/schemas/AmfEventReport' + minItems: 1 + required: + - subscription + AmfEventArea: + type: object + properties: + presenceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + ladnInfo: + $ref: '#/components/schemas/LadnInfo' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiId: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + LadnInfo: + type: object + properties: + ladn: + type: string + presence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' + required: + - ladn + 5GsUserStateInfo: + type: object + properties: + 5gsUserState: + $ref: '#/components/schemas/5GsUserState' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + required: + - 5gsUserState + - accessType + TrafficDescriptor: + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dddTrafficDescriptorList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DddTrafficDescriptor' + minItems: 1 + UEIdExt: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + + AmfEventSubsSyncInfo: + type: object + properties: + subscriptionList: + type: array + items: + $ref: '#/components/schemas/AmfEventSubscriptionInfo' + minItems: 1 + required: + - subscriptionList + + AmfEventSubscriptionInfo: + type: object + properties: + subId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifyCorrelationId: + type: string + refIdList: + type: array + items: + $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' + minItems: 1 + oldSubId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - subId + - refIdList + + AmfEventType: + anyOf: + - type: string + enum: + - LOCATION_REPORT + - PRESENCE_IN_AOI_REPORT + - TIMEZONE_REPORT + - ACCESS_TYPE_REPORT + - REGISTRATION_STATE_REPORT + - CONNECTIVITY_STATE_REPORT + - REACHABILITY_REPORT + - COMMUNICATION_FAILURE_REPORT + - UES_IN_AREA_REPORT + - SUBSCRIPTION_ID_CHANGE + - SUBSCRIPTION_ID_ADDITION + - LOSS_OF_CONNECTIVITY + - 5GS_USER_STATE_REPORT + - AVAILABILITY_AFTER_DDN_FAILURE + - TYPE_ALLOCATION_CODE_REPORT + - FREQUENT_MOBILITY_REGISTRATION_REPORT + - type: string + AmfEventTrigger: + anyOf: + - type: string + enum: + - ONE_TIME + - CONTINUOUS + - PERIODIC + - type: string + LocationFilter : + anyOf: + - type: string + enum: + - TAI + - CELL_ID + - N3IWF + - UE_IP + - UDP_PORT + - TNAP_ID + - GLI + - TWAP_ID + - type: string + UeReachability: + anyOf: + - type: string + enum: + - UNREACHABLE + - REACHABLE + - REGULATORY_ONLY + - type: string + RmState: + anyOf: + - type: string + enum: + - REGISTERED + - DEREGISTERED + - type: string + CmState: + anyOf: + - type: string + enum: + - IDLE + - CONNECTED + - type: string + 5GsUserState: + anyOf: + - type: string + enum: + - DEREGISTERED + - REGISTERED_NOT_REACHABLE_FOR_PAGING + - REGISTERED_REACHABLE_FOR_PAGING + - CONNECTED_NOT_REACHABLE_FOR_PAGING + - CONNECTED_REACHABLE_FOR_PAGING + - NOT_PROVIDED_FROM_AMF + - type: string + LossOfConnectivityReason: + anyOf: + - type: string + enum: + - DEREGISTERED + - MAX_DETECTION_TIME_EXPIRED + - PURGED + - type: string + + ReachabilityFilter: + anyOf: + - type: string + enum: + - UE_REACHABILITY_STATUS_CHANGE + - UE_REACHABLE_DL_TRAFFIC + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_Location.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_Location.yaml new file mode 100644 index 000000000..baf55415a --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_Location.yaml @@ -0,0 +1,468 @@ +openapi: 3.0.0 +info: + version: 1.1.4 + title: Namf_Location + description: | + AMF Location Service + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +security: + - {} + - oAuth2ClientCredentials: + - namf-loc +externalDocs: + description: 3GPP TS 29.518 V16.8.0; 5G System; Access and Mobility Management Services + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' +servers: + - url: '{apiRoot}/namf-loc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501 +paths: + /{ueContextId}/provide-pos-info: + post: + summary: Namf_Location ProvidePositioningInfo service Operation + tags: + - Individual UE context (Document) + operationId: ProvidePositioningInfo + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RequestPosInfo' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ProvidePosInfo' + '204': + description: Successful accept of location request with no information returned. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + description: Unexpected error + callbacks: + onUELocationNotification: + '{$request.body#/locationNotificationUri}': + post: + requestBody: + description: UE Location Event Notification + content: + application/json: + schema: + $ref: '#/components/schemas/NotifiedPosInfo' + responses: + '204': + description: Expected response to a successful callback processing + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + /{ueContextId}/provide-loc-info: + post: + summary: Namf_Location ProvideLocationInfo service Operation + tags: + - Individual UE context (Document) + operationId: ProvideLocationInfo + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RequestLocInfo' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/ProvideLocInfo' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /{ueContextId}/cancel-pos-info: + post: + summary: Namf_Location CancelLocation service operation + tags: + - Individual UE context (Document) + operationId: CancelLocation + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|.+)$' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CancelPosInfo' + required: true + responses: + '204': + description: Expected response to a successful cancellation + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + namf-loc: Access to the Namf_Location API + schemas: + RequestPosInfo: + type: object + properties: + lcsClientType: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/ExternalClientType' + lcsLocation: + $ref: '#/components/schemas/LocationType' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + priority: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LcsPriority' + lcsQoS: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS' + velocityRequested: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityRequested' + lcsSupportedGADShapes: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/SupportedGADShapes' + additionalLcsSuppGADShapes: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/SupportedGADShapes' + minItems: 1 + locationNotificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + lcsServiceType: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LcsServiceType' + ldrType: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LdrType' + hgmlcCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ldrReference: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LdrReference' + periodicEventInfo: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PeriodicEventInfo' + areaEventInfo: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AreaEventInfo' + motionEventInfo: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/MotionEventInfo' + externalClientIdentification: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/ExternalClientIdentification' + afID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + codeWord: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/CodeWord' + uePrivacyRequirements: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/UePrivacyRequirements' + required: + - lcsClientType + - lcsLocation + ProvidePosInfo: + type: object + properties: + locationEstimate: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + accuracyFulfilmentIndicator: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AccuracyFulfilmentIndicator' + ageOfLocationEstimate: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate' + velocityEstimate: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityEstimate' + positioningDataList: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PositioningMethodAndUsage' + minItems: 0 + maxItems: 9 + gnssPositioningDataList: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GnssPositioningMethodAndUsage' + minItems: 0 + maxItems: 9 + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + targetServingNode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + targetMmeName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + targetMmeRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + utranSrvccInd: + type: boolean + civicAddress: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + barometricPressure: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/BarometricPressure' + altitude: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Altitude' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + servingLMFIdentification: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' + locationPrivacyVerResult: + $ref: '#/components/schemas/LocationPrivacyVerResult' + NotifiedPosInfo: + type: object + properties: + locationEvent: + $ref: '#/components/schemas/LocationEvent' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + locationEstimate: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + ageOfLocationEstimate: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate' + velocityEstimate: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityEstimate' + positioningDataList: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PositioningMethodAndUsage' + minItems: 0 + maxItems: 9 + gnssPositioningDataList: + type: array + items: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GnssPositioningMethodAndUsage' + minItems: 0 + maxItems: 9 + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + servingNode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + targetMmeName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + targetMmeRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + utranSrvccInd: + type: boolean + civicAddress: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + barometricPressure: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/BarometricPressure' + altitude: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Altitude' + hgmlcCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ldrReference: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LdrReference' + servingLMFIdentification: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' + terminationCause: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/TerminationCause' + required: + - locationEvent + RequestLocInfo: + type: object + properties: + req5gsLoc: + type: boolean + default: false + reqCurrentLoc: + type: boolean + default: false + reqRatType: + type: boolean + default: false + reqTimeZone: + type: boolean + default: false + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ProvideLocInfo: + type: object + properties: + currentLoc: + type: boolean + location: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + additionalLocation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + geoInfo: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + locationAge: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + timezone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + CancelPosInfo: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + hgmlcCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ldrReference: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LdrReference' + servingLMFIdentification: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LMFIdentification' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - supi + - hgmlcCallBackURI + - ldrReference + LocationType: + anyOf: + - type: string + enum: + - CURRENT_LOCATION + - CURRENT_OR_LAST_KNOWN_LOCATION + - NOTIFICATION_VERIFICATION_ONLY + - DEFERRED_LOCATION + - type: string + LocationEvent: + anyOf: + - type: string + enum: + - EMERGENCY_CALL_ORIGINATION + - EMERGENCY_CALL_RELEASE + - EMERGENCY_CALL_HANDOVER + - ACTIVATION_OF_DEFERRED_LOCATION + - UE_MOBILITY_FOR_DEFERRED_LOCATION + - CANCELLATION_OF_DEFERRED_LOCATION + - type: string + + LocationPrivacyVerResult: + anyOf: + - type: string + enum: + - LOCATION_ALLOWED + - LOCATION_NOT_ALLOWED + - RESPONSE_TIME_OUT + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_MT.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_MT.yaml new file mode 100644 index 000000000..7c7f71057 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29518_Namf_MT.yaml @@ -0,0 +1,203 @@ +openapi: 3.0.0 +info: + version: 1.1.2 + title: Namf_MT + description: | + AMF Mobile Terminated Service + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +security: + - {} + - oAuth2ClientCredentials: + - namf-mt +externalDocs: + description: 3GPP TS 29.518 V16.8.0; 5G System; Access and Mobility Management Services + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' +servers: + - url: '{apiRoot}/namf-mt/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause clause 4.4 of 3GPP TS 29.501 +paths: + '/ue-contexts/{ueContextId}': + get: + summary: Namf_MT Provide Domain Selection Info service Operation + tags: + - ueContext (Document) + operationId: Provide Domain Selection Info + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|.+)$' + - name: info-class + in: query + description: UE Context Information Class + schema: + $ref: '#/components/schemas/UeContextInfoClass' + - name: supported-features + in: query + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: old-guami + in: query + description: Old GUAMI + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + responses: + '200': + description: Requested UE Context Information returned + content: + application/json: + schema: + $ref: '#/components/schemas/UeContextInfo' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + /ue-contexts/{ueContextId}/ue-reachind: + put: + summary: Namf_MT EnableUEReachability service Operation + tags: + - ueReachInd (Document) + operationId: EnableUeReachability + parameters: + - name: ueContextId + in: path + description: UE Context Identifier + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EnableUeReachabilityReqData' + required: true + responses: + '200': + description: UE has become reachable as desired + content: + application/json: + schema: + $ref: '#/components/schemas/EnableUeReachabilityRspData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsEnableUeReachability' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + description: Gateway Timeout + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsEnableUeReachability' + default: + description: Unexpected error +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + namf-mt: Access to the Namf_MT API + schemas: + EnableUeReachabilityReqData: + type: object + properties: + reachability: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/UeReachability' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + oldGuami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + extBufSupport: + type: boolean + default: false + required: + - reachability + EnableUeReachabilityRspData: + type: object + properties: + reachability: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/UeReachability' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - reachability + UeContextInfo: + type: object + properties: + supportVoPS: + type: boolean + supportVoPSn3gpp: + type: boolean + lastActTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ProblemDetailsEnableUeReachability: + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/AdditionInfoEnableUeReachability' + AdditionInfoEnableUeReachability: + type: object + properties: + maxWaitingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + UeContextInfoClass: + anyOf: + - type: string + enum: + - TADS + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Application_Data.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Application_Data.yaml new file mode 100644 index 000000000..a02227807 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Application_Data.yaml @@ -0,0 +1,2008 @@ +openapi: 3.0.0 +info: + version: '-' + title: Unified Data Repository Service API file for Application Data + description: | + The API version is defined in 3GPP TS 29.504 + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.519 V16.6.0; 5G System; Usage of the Unified Data Repository Service for Policy Data, Application Data and Structured Data for Exposure. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.519/' + +paths: + /application-data/pfds: + get: + summary: Retrieve PFDs for application identifier(s) + operationId: ReadPFDData + tags: + - PFD Data (Store) + parameters: + - name: appId + in: query + description: Contains the information of the application identifier(s) for the querying PFD Data resource. If none appId is included in the URI, it applies to all application identifier(s) for the querying PFD Data resource. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + responses: + '200': + description: A representation of PFDs for request applications is returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdDataForAppExt' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/pfds/{appId}: + get: + summary: Retrieve the corresponding PFDs of the specified application identifier + operationId: ReadIndividualPFDData + tags: + - Individual PFD Data (Document) + parameters: + - name: appId + in: path + description: Indicate the application identifier for the request pfd(s). It shall apply the format of Data type ApplicationId. + required: true + schema: + type: string + responses: + '200': + description: A representation of PFDs for the request application identified by the application identifier is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete the corresponding PFDs of the specified application identifier + operationId: DeleteIndividualPFDData + tags: + - Individual PFD Data (Document) + parameters: + - name: appId + in: path + description: Indicate the application identifier for the request pfd(s). It shall apply the format of Data type ApplicationId. + required: true + schema: + type: string + responses: + '204': + description: Successful case. The Individual PFD Data resource related to the application identifier was deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create or update the corresponding PFDs for the specified application identifier + operationId: CreateOrReplaceIndividualPFDData + tags: + - Individual PFD Data (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + parameters: + - name: appId + in: path + description: Indicate the application identifier for the request pfd(s). It shall apply the format of Data type ApplicationId. + required: true + schema: + type: string + responses: + '201': + description: The creation of an Individual PFD Data resource related to the application-identifier is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//application-data/pfds/{appId}' + required: true + schema: + type: string + '200': + description: Successful case. The upgrade of an Individual PFD Data resource related to the application identifier is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForAppExt' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/influenceData: + get: + summary: Retrieve Traffic Influence Data + operationId: ReadInfluenceData + tags: + - Influence Data (Store) + parameters: + - name: influence-Ids + in: query + description: Each element identifies a service. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: dnns + in: query + description: Each element identifies a DNN. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + - name: snssais + in: query + description: Each element identifies a slice. + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: internal-Group-Ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + - name: supp-feat + in: query + required: false + description: Supported Features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The Traffic Influence Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrafficInfluData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/influenceData/{influenceId}: + put: + summary: Create or update an individual Influence Data resource + operationId: CreateOrReplaceIndividualInfluenceData + tags: + - Individual Influence Data (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + parameters: + - name: influenceId + in: path + description: The Identifier of an Individual Influence Data to be created or updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: The creation of an Individual Traffic Influence Data resource is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//application-data/influenceData/{influenceId}' + required: true + schema: + type: string + '200': + description: The update of an Individual Traffic Influence Data resource is confirmed and a response body containing Traffic Influence Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify part of the properties of an individual Influence Data resource + operationId: UpdateIndividualInfluenceData + tags: + - Individual Influence Data (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/TrafficInfluDataPatch' + parameters: + - name: influenceId + in: path + description: The Identifier of an Individual Influence Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: The update of an Individual Traffic Influence Data resource is confirmed and a response body containing Traffic Influence Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Influence Data resource + operationId: DeleteIndividualInfluenceData + tags: + - Individual Influence Data (Document) + parameters: + - name: influenceId + in: path + description: The Identifier of an Individual Influence Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The Individual Influence Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/influenceData/subs-to-notify: + post: + summary: Create a new Individual Influence Data Subscription resource + operationId: CreateIndividualInfluenceDataSubscription + tags: + - Influence Data Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + responses: + '201': + description: The subscription was created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + trafficInfluenceDataChangeNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + oneOf: + - $ref: '#/components/schemas/TrafficInfluData' + - $ref: '#/components/schemas/TrafficInfluDataNotif' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Read Influence Data Subscriptions + operationId: ReadInfluenceDataSubscriptions + tags: + - Influence Data Subscriptions (Collection) + parameters: + - name: dnn + in: query + description: Identifies a DNN. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: snssai + in: query + description: Identifies a slice. + required: false + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: internal-Group-Id + in: query + description: Identifies a group of users. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + - name: supi + in: query + description: Identifies a user. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + responses: + '200': + description: The subscription information as request in the request URI query parameter(s) are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrafficInfluSub' + minItems: 0 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/influenceData/subs-to-notify/{subscriptionId}: + get: + summary: Get an existing individual Influence Data Subscription resource + operationId: ReadIndividualInfluenceDataSubscription + tags: + - Individual Influence Data Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Individual Influence Data Subscription + required: true + schema: + type: string + responses: + '200': + description: The subscription information is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Modify an existing individual Influence Data Subscription resource + operationId: ReplaceIndividualInfluenceDataSubscription + tags: + - Individual Influence Data Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Individual Influence Data Subscription + required: true + schema: + type: string + responses: + '200': + description: The subscription was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Influence Data Subscription resource + operationId: DeleteIndividualInfluenceDataSubscription + tags: + - Individual Influence Data Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Individual Influence Data Subscription + required: true + schema: + type: string + responses: + '204': + description: The subscription was terminated successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/bdtPolicyData: + get: + summary: Retrieve applied BDT Policy Data + operationId: ReadBdtPolicyData + tags: + - BdtPolicy Data (Store) + parameters: + - name: bdt-policy-ids + in: query + description: Each element identifies a service. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: internal-group-ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + responses: + '200': + description: The applied BDT policy Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/BdtPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/bdtPolicyData/{bdtPolicyId}: + put: + summary: Create an individual applied BDT Policy Data resource + operationId: CreateIndividualAppliedBdtPolicyData + tags: + - Individual BDT Policy Data (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicyData' + parameters: + - name: bdtPolicyId + in: path + description: The Identifier of an Individual Applied BDT Policy Data to be created or updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: The creation of an Individual Applied BDT Policy Data resource is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicyData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//application-data/bdtPolicyData/{bdtPolicyId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify part of the properties of an individual Applied BDT Policy Data resource + operationId: UpdateIndividualAppliedBdtPolicyData + tags: + - Individual Applied BDT Policy Data (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/BdtPolicyDataPatch' + parameters: + - name: bdtPolicyId + in: path + description: The Identifier of an Individual Applied BDT Policy Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: The update of an Individual Applied BDT Policy Data resource is confirmed and a response body containing Applied BDT Policy Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicyData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Applied BDT Policy Data resource + operationId: DeleteIndividualAppliedBdtPolicyData + tags: + - Individual Applied BDT Policy Data (Document) + parameters: + - name: bdtPolicyId + in: path + description: The Identifier of an Individual Applied BDT Policy Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The Individual Applied BDT Policy Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/iptvConfigData: + get: + summary: Retrieve IPTV configuration Data + operationId: ReadIPTVCongifurationData + tags: + - IPTV Configuration Data (Store) + parameters: + - name: config-ids + in: query + description: Each element identifies a configuration. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: dnns + in: query + description: Each element identifies a DNN. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + - name: snssais + in: query + description: Each element identifies a slice. + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + - name: inter-group-ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + responses: + '200': + description: The IPTV configuration data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IptvConfigData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/iptvConfigData/{configurationId}: + put: + summary: Create or update an individual IPTV configuration resource + operationId: CreateOrReplaceIndividualIPTVConfigurationData + tags: + - Individual IPTV Configuration Data (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + parameters: + - name: configurationId + in: path + description: The Identifier of an Individual IPTV Configuration Data to be created or updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: The creation of an Individual IPTV Configuration Data resource is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: The update of an Individual IPTV configuration resource. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Partial update an individual IPTV configuration resource + operationId: PartialReplaceIndividualIPTVConfigurationData + tags: + - Individual IPTV Configuration Data + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: 'TS29522_IPTVConfiguration.yaml#/components/schemas/IptvConfigDataPatch' + parameters: + - name: configurationId + in: path + description: The Identifier of an Individual IPTV Configuration Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: The update of an Individual IPTV configuration resource. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual IPTV configuration resource + operationId: DeleteIndividualIPTVConfigurationData + tags: + - Individual IPTV Configuration Data (Document) + parameters: + - name: configurationId + in: path + description: The Identifier of an Individual IPTV Configuration to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The resource was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/serviceParamData: + get: + summary: Retrieve Service Parameter Data + operationId: ReadServiceParameterData + tags: + - Service Parameter Data (Store) + parameters: + - name: service-param-ids + in: query + description: Each element identifies a service. + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: dnns + in: query + description: Each element identifies a DNN. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + - name: snssais + in: query + description: Each element identifies a slice. + required: false + content: + application/json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + - name: internal-group-ids + in: query + description: Each element identifies a group of users. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + - name: supis + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + - name: ue-ipv4s + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + - name: ue-ipv6s + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + - name: ue-macs + in: query + description: Each element identifies the user. + required: false + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The Service Parameter Data stored in the UDR are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceParameterData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/serviceParamData/{serviceParamId}: + put: + summary: Create or update an individual Service Parameter Data resource + operationId: CreateOrReplaceServiceParameterData + tags: + - Individual Service Parameter Data (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + parameters: + - name: serviceParamId + in: path + description: The Identifier of an Individual Service Parameter Data to be created or updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '201': + description: The creation of an Individual Service Parameter Data resource is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr//application-data/serviceParamData/{serviceParamId}' + required: true + schema: + type: string + '200': + description: The update of an Individual Service Parameter Data resource is confirmed and a response body containing Service Parameter Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify part of the properties of an individual Service Parameter Data resource + operationId: UpdateIndividualServiceParameterData + tags: + - Individual Service Parameter Data (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ServiceParameterDataPatch' + parameters: + - name: serviceParamId + in: path + description: The Identifier of an Individual Service Parameter Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '200': + description: The update of an Individual Service Parameter Data resource is confirmed and a response body containing Service Parameter Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '204': + description: No content + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete an individual Service Parameter Data resource + operationId: DeleteIndividualServiceParameterData + tags: + - Individual Service Parameter Data (Document) + parameters: + - name: serviceParamId + in: path + description: The Identifier of an Individual Service Parameter Data to be updated. It shall apply the format of Data type string. + required: true + schema: + type: string + responses: + '204': + description: The Individual Service Parameter Data was deleted successfully. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /application-data/subs-to-notify: + post: + summary: Create a subscription to receive notification of application data changes + operationId: CreateIndividualApplicationDataSubscription + tags: + - ApplicationDataSubscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + responses: + '201': + description: Upon success, a response body containing a representation of each Individual subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + applicationDataChangeNotif: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ApplicationDataChangeNotif' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Read Application Data change Subscriptions + operationId: ReadApplicationDataChangeSubscriptions + tags: + - ApplicationDataSubscriptions (Collection) + parameters: + - name: data-filter + in: query + description: The data filter for the query. + required: false + schema: + $ref: '#/components/schemas/DataFilter' + responses: + '200': + description: The subscription information as request in the request URI query parameter(s) are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ApplicationDataSubs' + minItems: 0 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /application-data/subs-to-notify/{subsId}: + parameters: + - name: subsId + in: path + required: true + schema: + type: string + put: + summary: Modify a subscription to receive notification of application data changes + operationId: ReplaceIndividualApplicationDataSubscription + tags: + - IndividualApplicationDataSubscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + responses: + '200': + description: The individual subscription resource was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + '204': + description: The individual subscription resource was updated successfully and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete the individual Application Data subscription + operationId: DeleteIndividualApplicationDataSubscription + tags: + - IndividualApplicationDataSubscription (Document) + responses: + '204': + description: Upon success, an empty response body shall be returned. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Get an existing individual Application Data Subscription resource + operationId: ReadIndividualApplicationDataSubscription + tags: + - IndividualApplicationDataSubscription (Document) + parameters: + - name: subsId + in: path + description: String identifying a subscription to the Individual Application Data Subscription + required: true + schema: + type: string + responses: + '200': + description: The subscription information is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationDataSubs' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: + TrafficInfluData: + type: object + properties: + upPathChgNotifCorreId: + type: string + description: Contains the Notification Correlation Id allocated by the NEF for the UP path change notification. + appReloInd: + type: boolean + description: Identifies whether an application can be relocated once a location of the application has been selected. + afAppId: + type: string + description: Identifies an application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet filters. Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable. + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + description: Identifies a group of users. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Identifies IP packet filters. Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + traffCorreInd: + type: boolean + validStartTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + validEndTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + minItems: 1 + description: Identifies the temporal validities for the N6 traffic routing requirement. + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + upPathChgNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + headers: + type: array + items: + type: string + minItems: 1 + subscribedEvents: + type: array + items: + $ref: 'TS29522_TrafficInfluence.yaml#/components/schemas/SubscribedEvent' + minItems: 1 + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + afAckInd: + type: boolean + addrPreserInd: + type: boolean + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + allOf: + - oneOf: + - required: [afAppId] + - required: [trafficFilters] + - required: [ethTrafficFilters] + - oneOf: + - required: [supi] + - required: [interGroupId] + TrafficInfluDataPatch: + type: object + properties: + upPathChgNotifCorreId: + type: string + description: Contains the Notification Correlation Id allocated by the NEF for the UP path change notification. + appReloInd: + type: boolean + description: Identifies whether an application can be relocated once a location of the application has been selected. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet filters. Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable. + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + internalGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + description: Identifies a group of users. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Identifies IP packet filters. Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + traffCorreInd: + type: boolean + validStartTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + validEndTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + minItems: 1 + nullable: true + description: Identifies the temporal validities for the N6 traffic routing requirement. + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + upPathChgNotifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + headers: + type: array + items: + type: string + minItems: 1 + afAckInd: + type: boolean + addrPreserInd: + type: boolean + TrafficInfluSub: + type: object + properties: + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: Each element identifies a DNN. + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Each element identifies a slice. + internalGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + description: Each element identifies a group of users. + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + description: Each element identifies the user. + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + oneOf: + - required: [dnns] + - required: [snssais] + - required: [internalGroupIds] + - required: [supis] + TrafficInfluDataNotif: + type: object + properties: + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + trafficInfluData: + $ref: '#/components/schemas/TrafficInfluData' + required: + - resUri + PfdDataForAppExt: + allOf: + - $ref: 'TS29551_Nnef_PFDmanagement.yaml#/components/schemas/PfdDataForApp' + - type: object + properties: + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + BdtPolicyData: + type: object + properties: + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + description: Identifies a group of users. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - bdtRefId + BdtPolicyDataPatch: + type: object + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + required: + - bdtRefId + IptvConfigData: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + description: Identifies a group of users. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + afAppId: + type: string + multiAccCtrls: + type: object + additionalProperties: + $ref: 'TS29522_IPTVConfiguration.yaml#/components/schemas/MulticastAccessControl' + minProperties: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + required: + - afAppId + - multiAccCtrls + oneOf: + - required: [interGroupId] + - required: [supi] + ServiceParameterData: + type: object + properties: + appId: + type: string + description: Identifies an application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + description: Identifies a group of users. + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + ueIpv4: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + anyUeInd: + type: boolean + paramOverPc5: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParameterOverPc5' + paramOverUu: + $ref: 'TS29522_ServiceParameter.yaml#/components/schemas/ParameterOverUu' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ApplicationDataSubs: + description: Identifies a subscription to application data change notification. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + dataFilters: + type: array + items: + $ref: '#/components/schemas/DataFilter' + minItems: 1 + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + ApplicationDataChangeNotif: + description: Contains changed application data for which notification was requested. + type: object + properties: + iptvConfigData: + $ref: '#/components/schemas/IptvConfigData' + pfdData: + $ref: 'TS29551_Nnef_PFDmanagement.yaml#/components/schemas/PfdChangeNotification' + bdtPolicyData: + $ref: '#/components/schemas/BdtPolicyData' + resUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + serParamData: + $ref: '#/components/schemas/ServiceParameterData' + required: + - resUri + DataFilter: + description: Identifies a data filter. + type: object + properties: + dataInd: + $ref: '#/components/schemas/DataInd' + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + internalGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + minItems: 1 + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + ueIpv4s: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ueIpv6s: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + ueMacs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + required: + - dataInd + DataInd: + anyOf: + - type: string + enum: + - PFD + - IPTV + - BDT + - SVC_PARAM + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - PFD + - IPTV + - BDT + - SVC_PARAM diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Exposure_Data.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Exposure_Data.yaml new file mode 100644 index 000000000..1f1e45c40 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Exposure_Data.yaml @@ -0,0 +1,684 @@ +openapi: 3.0.0 +info: + version: '-' + title: Unified Data Repository Service API file for structured data for exposure + description: | + The API version is defined in 3GPP TS 29.504 + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.519 V16.7.0; 5G System; Usage of the Unified Data Repository Service for Policy Data, Application Data and Structured Data for Exposure. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.519/' + +paths: + /exposure-data/{ueId}/access-and-mobility-data: + put: + summary: Creates and updates the access and mobility exposure data for a UE + operationId: CreateOrReplaceAccessAndMobilityData + tags: + - AccessAndMobilityData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + responses: + '201': + description: Successful case. The resource has been successfully created and a response body containing a representation of the access and mobility data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: Successful case. The resource has been successfully updated and a response body containing a representation of the access and mobility data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Retrieves the access and mobility exposure data for a UE + operationId: QueryAccessAndMobilityData + tags: + - AccessAndMobilityData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The response body contains the access and mobility data + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes the access and mobility exposure data for a UE + operationId: DeleteAccessAndMobilityData + tags: + - AccessAndMobilityData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Updates the access and mobility exposure data for a UE + operationId: UpdateAccessAndMobilityData + tags: + - AccessAndMobilityData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + responses: + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /exposure-data/{ueId}/session-management-data/{pduSessionId}: + put: + summary: Creates and updates the session management data for a UE and for an individual PDU session + operationId: CreateOrReplaceSessionManagementData + tags: + - PduSessionManagementData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionManagementData' + responses: + '201': + description: Successful case. The resource has been successfully created and a response body containing a representation of the access and mobility data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionManagementData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: Successful case. The resource has been successfully updated and a response body containing a representation of the access and mobility data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessAndMobilityData' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Retrieves the session management data for a UE and for an individual PDU session + operationId: QuerySessionManagementData + tags: + - PduSessionManagementData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + - name: ipv4-addr + in: query + description: IPv4 Address of the UE + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ipv6-prefix + in: query + description: IPv6 Address Prefix of the UE + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: dnn + in: query + description: DNN of the UE + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The response body contains the session management data + content: + application/json: + schema: + $ref: '#/components/schemas/PduSessionManagementData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes the session management data for a UE and for an individual PDU session + operationId: DeleteSessionManagementData + tags: + - PduSessionManagementData + parameters: + - name: ueId + in: path + description: UE id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: pduSessionId + in: path + description: PDU session id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + responses: + '204': + description: Upon success, an empty response body shall be returned + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /exposure-data/subs-to-notify: + post: + summary: Create a subscription to receive notification of exposure data changes + operationId: CreateIndividualExposureDataSubscription + tags: + - ExposureDataSubscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + exposureDataChangeNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ExposureDataChangeNotification' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /exposure-data/subs-to-notify/{subId}: + put: + summary: updates a subscription to receive notifications of exposure data changes + operationId: ReplaceIndividualExposureDataSubscription + tags: + - IndividualExposureDataSubscription (Document) + parameters: + - name: subId + in: path + description: Subscription id + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + responses: + '200': + description: Resource was successfully modified and a body with the modified subscription to notifications about exposure data is returned.. + content: + application/json: + schema: + $ref: '#/components/schemas/ExposureDataSubscription' + '204': + description: The individual subscription resource was successfully modified. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes the individual Exposure Data subscription + operationId: DeleteIndividualExposureDataSubscription + tags: + - IndividualExposureDataSubscription (Document) + parameters: + - name: subId + in: path + description: Subscription id + required: true + schema: + type: string + responses: + '204': + description: Resource was successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + schemas: + AccessAndMobilityData: + type: object + properties: + location: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + locationTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + timeZoneTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + regStates: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/RmInfo' + regStatesTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + connStates: + type: array + items: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmInfo' + connStatesTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + reachabilityStatus: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/UeReachability' + reachabilityStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + smsOverNasStatus: + $ref: 'TS29518_Namf_Communication.yaml#/components/schemas/SmsSupport' + smsOverNasStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + roamingStatus: + type: boolean + description: True The serving PLMN of the UE is different from the HPLMN of the UE; False The serving PLMN of the UE is the HPLMN of the UE. + roamingStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + currentPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + currentPlmnTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ratType: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + ratTypesTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + PduSessionManagementData: + type: object + properties: + pduSessionStatus: + $ref: '#/components/schemas/PduSessionStatus' + pduSessionStatusTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + dnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + dnaiTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + n6TrafficRoutingInfo: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + n6TrafficRoutingInfoTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Prefix: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + description: UE IPv6 prefix. + ipv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + pduSessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + ipAddrTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + pduSessionId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ExposureDataSubscription: + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + - monitoredResourceUris + ExposureDataChangeNotification: + type: object + properties: + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + accessAndMobilityData: + $ref: '#/components/schemas/AccessAndMobilityData' + pduSessionManagementData: + type: array + items: + $ref: '#/components/schemas/PduSessionManagementData' + minItems: 1 + delResources: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + PduSessionStatus: + anyOf: + - type: string + enum: + - "ACTIVE" + - "RELEASED" + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - "ACTIVE" + - "RELEASED" diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Policy_Data.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Policy_Data.yaml new file mode 100644 index 000000000..cbf9607d0 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29519_Policy_Data.yaml @@ -0,0 +1,1622 @@ +openapi: 3.0.0 +info: + version: '-' + title: Unified Data Repository Service API file for policy data + description: | + The API version is defined in 3GPP TS 29.504 + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.519 V16.7.0; 5G System; Usage of the Unified Data Repository Service for Policy Data, Application Data and Structured Data for Exposure. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.519/' + +paths: + /policy-data/ues/{ueId}/am-data: + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + get: + summary: Retrieves the access and mobility policy data for a subscriber + operationId: ReadAccessAndMobilityPolicyData + tags: + - AccessAndMobilityPolicyData (Document) + responses: + '200': + description: Upon success, a response body containing access and mobility policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/AmPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/ue-policy-set: + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + get: + summary: Retrieves the UE policy set data for a subscriber + operationId: ReadUEPolicySet + tags: + - UEPolicySet (Document) + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing UE policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create or modify the UE policy set data for a subscriber + operationId: CreateOrReplaceUEPolicySet + tags: + - UEPolicySet (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + responses: + '201': + description: Successful case. The resource has been successfully created and a response body containing a representation of the created UEPolicySet resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '200': + description: Successful case. The resource has been successfully created and a response body containing UE policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify the UE policy set data for a subscriber + operationId: UpdateUEPolicySet + tags: + - UEPolicySet (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/UePolicySetPatch' + responses: + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/sm-data: + get: + summary: Retrieves the session management policy data for a subscriber + operationId: ReadSessionManagementPolicyData + tags: + - SessionManagementPolicyData (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: snssai + in: query + required: false + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: dnn + in: query + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing SmPolicyData shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modify the session management policy data for a subscriber + operationId: UpdateSessionManagementPolicyData + tags: + - SessionManagementPolicyData (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/SmPolicyDataPatch' + responses: + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/SmPolicyData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/sm-data/{usageMonId}: + get: + summary: Retrieve a usage monitoring resource + operationId: ReadUsageMonitoringInformation + tags: + - UsageMonitoringInformation (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: usageMonId + in: path + required: true + schema: + type: string + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Successful case. The usage monitoring data is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UsageMonData' + '204': + description: The resource was found but no usage monitoring data is available. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Create a usage monitoring resource + operationId: CreateUsageMonitoringResource + tags: + - UsageMonitoringInformation (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: usageMonId + in: path + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UsageMonData' + responses: + '201': + description: Successful case. The resource has been successfully created and a response body is returned containing a representation of the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/UsageMonData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete a usage monitoring resource + operationId: DeleteUsageMonitoringInformation + tags: + - UsageMonitoringInformation (Document) + parameters: + - name: ueId + in: path + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: usageMonId + in: path + required: true + schema: + type: string + responses: + '204': + description: Successful case. The resource has been successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/sponsor-connectivity-data/{sponsorId}: + parameters: + - name: sponsorId + in: path + required: true + schema: + type: string + get: + summary: Retrieves the sponsored connectivity information for a given sponsorId + operationId: ReadSponsorConnectivityData + tags: + - SponsorConnectivityData (Document) + responses: + '200': + description: Upon success, a response body containing Sponsor Connectivity Data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/SponsorConnectivityData' + '204': + description: The resource was found but no Sponsor Connectivity Data is available. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/bdt-data: + get: + summary: Retrieves the BDT data collection + operationId: ReadBdtData + tags: + - BdtData (Store) + parameters: + - name: bdt-ref-ids + in: query + description: List of the BDT reference identifiers. + required: false + schema: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + minItems: 1 + style: form + explode: false + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing the BDT data shall be returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/BdtData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/bdt-data/{bdtReferenceId}: + parameters: + - name: bdtReferenceId + in: path + required: true + schema: + type: string + get: + summary: Retrieves the BDT data information associated with a BDT reference Id + operationId: ReadIndividualBdtData + tags: + - IndividualBdtData (Document) + parameters: + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Upon success, a response body containing the BDT data shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Creates an BDT data resource associated with an BDT reference Id + operationId: CreateIndividualBdtData + tags: + - IndividualBdtData (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + responses: + '201': + description: Successful case. The resource has been successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Modifies an BDT data resource associated with an BDT reference Id + operationId: UpdateIndividualBdtData + tags: + - IndividualBdtData (Document) + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/BdtDataPatch' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/BdtData' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes an BDT data resource associated with an BDT reference Id + operationId: DeleteIndividualBdtData + tags: + - IndividualBdtData (Document) + responses: + '204': + description: Successful case. The resource has been successfully deleted. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/subs-to-notify: + post: + summary: Create a subscription to receive notification of policy data changes + operationId: CreateIndividualPolicyDataSubscription + tags: + - PolicyDataSubscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + responses: + '201': + description: Upon success, a response body containing a representation of each Individual subscription resource shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + policyDataChangeNotification: + '{$request.body#/notificationUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PolicyDataChangeNotification' + minItems: 1 + responses: + '204': + description: No Content, Notification was successful + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/subs-to-notify/{subsId}: + parameters: + - name: subsId + in: path + required: true + schema: + type: string + put: + summary: Modify a subscription to receive notification of policy data changes + operationId: ReplaceIndividualPolicyDataSubscription + tags: + - IndividualPolicyDataSubscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + responses: + '200': + description: The individual subscription resource was updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PolicyDataSubscription' + '204': + description: The individual subscription resource was updated successfully and no additional content is to be sent in the response message. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + delete: + summary: Delete the individual Policy Data subscription + operationId: DeleteIndividualPolicyDataSubscription + tags: + - IndividualPolicyDataSubscription (Document) + responses: + '204': + description: Upon success, an empty response body shall be returned. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /policy-data/ues/{ueId}/operator-specific-data: + get: + summary: Retrieve the operator specific policy data of an UE + operationId: ReadOperatorSpecificData + tags: + - OperatorSpecificData (Document) + parameters: + - name: ueId + in: path + description: UE Id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + - name: fields + in: query + description: attributes to be retrieved + required: false + schema: + type: array + items: + type: string + minItems: 1 + - name: supp-feat + in: query + description: Supported Features + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + patch: + summary: Modify the operator specific policy data of an UE + operationId: UpdateOperatorSpecificData + tags: + - OperatorSpecificData (Document) + parameters: + - name: ueId + in: path + description: UE Id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + content: + application/json-patch+json: + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + required: true + responses: + '204': + description: No content. Response to successful modification. + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchResult' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Modify the operator specific policy data of an UE + operationId: ReplaceOperatorSpecificData + tags: + - OperatorSpecificData (Document) + parameters: + - name: ueId + in: path + description: UE Id + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + requestBody: + required: true + content: + application/json: + schema: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + '204': + description: The resource has been successfully updated. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /policy-data/plmns/{plmnId}/ue-policy-set: + parameters: + - name: plmnId + in: path + required: true + schema: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/VarPlmnId' + get: + summary: Retrieve the UE policy set data for an H-PLMN + operationId: ReadPlmnUePolicySet + tags: + - PlmnUePolicySet (Document) + responses: + '200': + description: Upon success, a response body containing UE policies shall be returned. + content: + application/json: + schema: + $ref: '#/components/schemas/UePolicySet' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '412': + $ref: 'TS29571_CommonData.yaml#/components/responses/412' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + schemas: + AmPolicyData: + description: Contains the AM policy data for a given subscriber. + type: object + properties: + praInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + subscCats: + type: array + items: + type: string + minItems: 1 + UePolicySet: + description: Contains the UE policy data for a given subscriber. + type: object + properties: + praInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + subscCats: + type: array + items: + type: string + minItems: 1 + uePolicySections: + type: object + additionalProperties: + $ref: '#/components/schemas/UePolicySection' + minProperties: 1 + upsis: + type: array + items: + type: string + minItems: 1 + allowedRouteSelDescs: + type: object + additionalProperties: + $ref: '#/components/schemas/PlmnRouteSelectionDescriptor' + minProperties: 1 + andspInd: + type: boolean + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + osIds: + type: array + items: + $ref: '#/components/schemas/OsId' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + UePolicySetPatch: + description: Contains the UE policy set for a given subscriber. + type: object + properties: + uePolicySections: + type: object + additionalProperties: + $ref: '#/components/schemas/UePolicySection' + minProperties: 1 + upsis: + type: array + items: + type: string + minItems: 1 + andspInd: + type: boolean + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + osIds: + type: array + items: + $ref: '#/components/schemas/OsId' + minItems: 1 + UePolicySection: + description: Contains the UE policy section. + type: object + properties: + uePolicySectionInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + upsi: + type: string + required: + - uePolicySectionInfo + - upsi + SmPolicyData: + description: Contains the SM policy data for a given subscriber. + type: object + properties: + smPolicySnssaiData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicySnssaiData' + minProperties: 1 + umDataLimits: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonDataLimit' + minProperties: 1 + umData: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonData' + minProperties: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - smPolicySnssaiData + SmPolicySnssaiData: + description: Contains the SM policy data for a given subscriber and S-NSSAI. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + smPolicyDnnData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicyDnnData' + minProperties: 1 + required: + - snssai + SmPolicyDnnData: + description: Contains the SM policy data for a given DNN (and S-NSSAI). + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + allowedServices: + type: array + items: + type: string + minItems: 1 + subscCats: + type: array + items: + type: string + minItems: 1 + gbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + gbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + adcSupport: + type: boolean + subscSpendingLimits: + type: boolean + ipv4Index: + $ref: '#/components/schemas/IpIndex' + ipv6Index: + $ref: '#/components/schemas/IpIndex' + offline: + type: boolean + online: + type: boolean + chfInfo: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ChargingInformation' + refUmDataLimitIds: + type: object + additionalProperties: + $ref: '#/components/schemas/LimitIdToMonitoringKey' + minProperties: 1 + mpsPriority: + type: boolean + mcsPriority: + type: boolean + imsSignallingPrio: + type: boolean + mpsPriorityLevel: + type: integer + mcsPriorityLevel: + type: integer + praInfos: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 1 + bdtRefIds: + type: object + additionalProperties: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceIdRm' + minProperties: 1 + nullable: true + locRoutNotAllowed: + type: boolean + required: + - dnn + UsageMonDataLimit: + description: Contains usage monitoring control data for a subscriber. + type: object + properties: + limitId: + type: string + scopes: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonDataScope' + minProperties: 1 + umLevel: + $ref: '#/components/schemas/UsageMonLevel' + startDate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endDate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + usageLimit: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + resetPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - limitId + UsageMonData: + description: Contains remain allowed usage data for a subscriber. + type: object + properties: + limitId: + type: string + scopes: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonDataScope' + minProperties: 1 + umLevel: + $ref: '#/components/schemas/UsageMonLevel' + allowedUsage: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + resetTime: + $ref: '#/components/schemas/TimePeriod' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - limitId + LimitIdToMonitoringKey: + description: Contains the limit identifier and the corresponding monitoring key for a given S-NSSAI and DNN. + type: object + properties: + limitId: + type: string + monkey: + type: array + items: + type: string + minItems: 1 + required: + - limitId + nullable: true + UsageMonDataScope: + description: Contains a SNSSAI and DNN combinations to which the UsageMonData instance belongs to. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnn: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + required: + - snssai + TimePeriod: + description: Contains the periodicity for the defined usage monitoring data limits. + type: object + properties: + period: + $ref: '#/components/schemas/Periodicity' + maxNumPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - period + SponsorConnectivityData: + description: Contains the sponsored data connectivity related information for a sponsor identifier. + type: object + properties: + aspIds: + type: array + items: + type: string + required: + - aspIds + BdtData: + description: Contains the background data transfer data. + type: object + properties: + aspId: + type: string + transPolicy: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/TransferPolicy' + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + nwAreaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + numOfUes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + volPerUe: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + trafficDes: + $ref: 'TS29122_ResourceManagementOfBdt.yaml#/components/schemas/TrafficDescriptor' + bdtpStatus: + $ref: '#/components/schemas/BdtPolicyStatus' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - aspId + - transPolicy + PolicyDataSubscription: + description: Identifies a subscription to policy data change notification. + type: object + properties: + notificationUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifId: + type: string + monitoredResourceUris: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + monResItems: + type: array + items: + $ref: '#/components/schemas/ResourceItem' + minItems: 1 + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notificationUri + - monitoredResourceUris + PolicyDataChangeNotification: + description: Contains changed policy data for which notification was requested. + type: object + properties: + amPolicyData: + $ref: '#/components/schemas/AmPolicyData' + uePolicySet: + $ref: '#/components/schemas/UePolicySet' + plmnUePolicySet: + $ref: '#/components/schemas/UePolicySet' + smPolicyData: + $ref: '#/components/schemas/SmPolicyData' + usageMonData: + $ref: '#/components/schemas/UsageMonData' + SponsorConnectivityData: + $ref: '#/components/schemas/SponsorConnectivityData' + bdtData: + $ref: '#/components/schemas/BdtData' + opSpecData: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + opSpecDataMap: + type: object + additionalProperties: + $ref: 'TS29505_Subscription_Data.yaml#/components/schemas/OperatorSpecificDataContainer' + minProperties: 1 + ueId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/VarUeId' + sponsorId: + type: string + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + usageMonId: + type: string + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + delResources: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + notifId: + type: string + reportedFragments: + type: array + items: + $ref: '#/components/schemas/NotificationItem' + minItems: 1 + PlmnRouteSelectionDescriptor: + description: Contains the route selection descriptors (combinations of SNSSAI, DNNs, PDU session types, SSC modes and ATSSS information) allowed by subscription to the UE for a serving PLMN + type: object + properties: + servingPlmn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + snssaiRouteSelDescs: + type: array + items: + $ref: '#/components/schemas/SnssaiRouteSelectionDescriptor' + minItems: 1 + required: + - servingPlmn + SnssaiRouteSelectionDescriptor: + description: Contains the route selector parameters (DNNs, PDU session types, SSC modes and ATSSS information) per SNSSAI + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dnnRouteSelDescs: + type: array + items: + $ref: '#/components/schemas/DnnRouteSelectionDescriptor' + minItems: 1 + required: + - snssai + DnnRouteSelectionDescriptor: + description: Contains the route selector parameters (PDU session types, SSC modes and ATSSS information) per DNN + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + sscModes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + minItems: 1 + pduSessTypes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + minItems: 1 + atsssInfo: + description: Indicates whether MA PDU session establishment is allowed for this DNN. When set to value true MA PDU session establishment is allowed for this DNN. + type: boolean + default: false + required: + - dnn + SmPolicyDataPatch: + description: Contains the SM policy data for a given subscriber. + type: object + properties: + umData: + type: object + additionalProperties: + $ref: '#/components/schemas/UsageMonData' + minProperties: 1 + nullable: true + smPolicySnssaiData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicySnssaiDataPatch' + minProperties: 1 + SmPolicySnssaiDataPatch: + description: Contains the SM policy data for a given subscriber and S-NSSAI. + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + smPolicyDnnData: + type: object + additionalProperties: + $ref: '#/components/schemas/SmPolicyDnnDataPatch' + minProperties: 1 + required: + - snssai + SmPolicyDnnDataPatch: + description: Contains the SM policy data for a given DNN (and S-NSSAI). + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + bdtRefIds: + type: object + additionalProperties: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceIdRm' + minProperties: 1 + nullable: true + required: + - dnn +# + ResourceItem: + description: Identifies a subscription to policy data change notification when the change occurs in a fragment (subset of resource data) of a given resource. + type: object + properties: + monResourceUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + items: + type: array + items: + $ref: '#/components/schemas/ItemPath' + minItems: 1 + required: + - monResourceUri + - items +# + + NotificationItem: + description: Identifies a data change notification when the change occurs in a fragment (subset of resource data) of a given resource. + type: object + properties: + resourceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifItems: + type: array + items: + $ref: '#/components/schemas/UpdatedItem' + minItems: 1 + required: + - resourceId + - notifItems +# + UpdatedItem: + description: Identifies a fragment of a resource. + type: object + properties: + item: + $ref: '#/components/schemas/ItemPath' + value: {} + required: + - item + - value +# +# + BdtDataPatch: + description: Contains the modified background data transfer data. + type: object + properties: + transPolicy: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/TransferPolicy' + bdtpStatus: + $ref: '#/components/schemas/BdtPolicyStatus' +# + + IpIndex: + type: integer + OsId: + type: string + format: uuid + UsageMonLevel: + anyOf: + - type: string + enum: + - SESSION_LEVEL + - SERVICE_LEVEL + - type: string + Periodicity: + anyOf: + - type: string + enum: + - YEARLY + - MONTHLY + - WEEKLY + - DAILY + - HOURLY + - type: string +# + + ItemPath: + description: Identifies a fragment (subset of resource data) of a given resource. + type: string +# + BdtPolicyStatus: + description: Indicates the validation status of a negotiated BDT policy. + anyOf: + - type: string + enum: + - INVALID + - VALID + - type: string +# diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29520_Nnwdaf_AnalyticsInfo.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29520_Nnwdaf_AnalyticsInfo.yaml new file mode 100644 index 000000000..e6a132697 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29520_Nnwdaf_AnalyticsInfo.yaml @@ -0,0 +1,270 @@ +openapi: 3.0.0 +info: + version: 1.1.2 + title: Nnwdaf_AnalyticsInfo + description: | + Nnwdaf_AnalyticsInfo Service API. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.520 V16.8.0; 5G System; Network Data Analytics Services. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.520/' +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-analyticsinfo +servers: + - url: '{apiRoot}/nnwdaf-analyticsinfo/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +paths: + /analytics: + get: + summary: Read a NWDAF Analytics + operationId: GetNWDAFAnalytics + tags: + - NWDAF Analytics (Document) + parameters: + - name: event-id + in: query + description: Identify the analytics. + required: true + schema: + $ref: '#/components/schemas/EventId' + - name: ana-req + in: query + description: Identifies the analytics reporting requirement information. + required: false + content: + application/json: + schema: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventReportingRequirement' + - name: event-filter + in: query + description: Identify the analytics. + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/EventFilter' + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: tgt-ue + in: query + description: Identify the target UE information. + required: false + content: + application/json: + schema: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TargetUeInformation' + responses: + '200': + description: Containing the analytics with parameters as relevant for the requesting NF service consumer. + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsData' + '204': + description: No Content (The request NWDAF Analytics data does not exist) + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: Indicates that the NWDAF Analytics resource does not exist. + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-analyticsinfo: Access to the Nnwdaf_AnalyticsInfo API + schemas: + AnalyticsData: + type: object + properties: + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeStampGen: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + sliceLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/SliceLoadLevelInformation' + minItems: 1 + description: The slices and their load level information. + nsiLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiLoadLevelInfo' + minItems: 1 + nfLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NfLoadLevelInformation' + minItems: 1 + nwPerfs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfInfo' + minItems: 1 + svcExps: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ServiceExperienceInfo' + minItems: 1 + qosSustainInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosSustainabilityInfo' + minItems: 1 + ueMobs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeMobility' + minItems: 1 + ueComms: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommunication' + minItems: 1 + userDataCongInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UserDataCongestionInfo' + minItems: 1 + abnorBehavrs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AbnormalBehaviour' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + EventFilter: + description: Represents the event filters used to identify the requested analytics. + type: object + properties: + anySlice: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnySlice' + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Identification(s) of network slice to which the subscription belongs. + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + nfInstanceIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + nfSetIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + nfTypes: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + minItems: 1 + nsiIdInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiIdInfo' + minItems: 1 + qosRequ: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosRequirement' + nwPerfTypes: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfType' + minItems: 1 + bwRequs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/BwRequirement' + minItems: 1 + excepIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExceptionId' + minItems: 1 + exptAnaType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExpectedAnalyticsType' + exptUeBehav: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + not: + required: [anySlice, snssais] + EventId: + anyOf: + - type: string + enum: + - LOAD_LEVEL_INFORMATION + - NETWORK_PERFORMANCE + - NF_LOAD + - SERVICE_EXPERIENCE + - UE_MOBILITY + - UE_COMMUNICATION + - QOS_SUSTAINABILITY + - ABNORMAL_BEHAVIOUR + - USER_DATA_CONGESTION + - NSI_LOAD_LEVEL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - LOAD_LEVEL_INFORMATION: Represent the analytics of load level information of corresponding network slice. + - NETWORK_PERFORMANCE: Represent the analytics of network performance information. + - NF_LOAD: Indicates that the event subscribed is NF Load. + - SERVICE_EXPERIENCE: Represent the analytics of service experience information of the specific applications. + - UE_MOBILITY: Represent the analytics of UE mobility. + - UE_COMMUNICATION: Represent the analytics of UE communication. + - QOS_SUSTAINABILITY: Represent the analytics of QoS sustainability information in the certain area. + - ABNORMAL_BEHAVIOUR: Indicates that the event subscribed is abnormal behaviour information. + - USER_DATA_CONGESTION: Represent the analytics of the user data congestion in the certain area. + - NSI_LOAD_LEVEL: Represent the analytics of Network Slice and the optionally associated Network Slice Instance. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29520_Nnwdaf_EventsSubscription.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29520_Nnwdaf_EventsSubscription.yaml new file mode 100644 index 000000000..b43f28b9e --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29520_Nnwdaf_EventsSubscription.yaml @@ -0,0 +1,1093 @@ +openapi: 3.0.0 +info: + version: 1.1.4 + title: Nnwdaf_EventsSubscription + description: | + Nnwdaf_EventsSubscription Service API. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.520 V16.8.0; 5G System; Network Data Analytics Services. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.520/' +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-eventssubscription +servers: + - url: '{apiRoot}/nnwdaf-eventssubscription/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +paths: + /subscriptions: + post: + summary: Create a new Individual NWDAF Events Subscription + operationId: CreateNWDAFEventsSubscription + tags: + - NWDAF Events Subscriptions (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + responses: + '201': + description: Create a new Individual NWDAF Event Subscription resource. + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnwdaf-eventssubscription/v1/subscriptions/{subscriptionId}' + required: true + schema: + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + myNotification: + '{$request.body#/notificationURI}': + post: + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/NnwdafEventsSubscriptionNotification' + minItems: 1 + responses: + '204': + description: The receipt of the Notification is acknowledged. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /subscriptions/{subscriptionId}: + delete: + summary: Delete an existing Individual NWDAF Events Subscription + operationId: DeleteNWDAFEventsSubscription + tags: + - Individual NWDAF Events Subscription (Document) + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_EventsSubscription Service + required: true + schema: + type: string + responses: + '204': + description: No Content. The Individual NWDAF Event Subscription resource matching the subscriptionId was deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: The Individual NWDAF Event Subscription resource does not exist. + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + put: + summary: Update an existing Individual NWDAF Events Subscription + operationId: UpdateNWDAFEventsSubscription + tags: + - Individual NWDAF Events Subscription (Document) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + parameters: + - name: subscriptionId + in: path + description: String identifying a subscription to the Nnwdaf_EventsSubscription Service + required: true + schema: + type: string + responses: + '200': + description: The Individual NWDAF Event Subscription resource was modified successfully and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/NnwdafEventsSubscription' + '204': + description: The Individual NWDAF Event Subscription resource was modified successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: The Individual NWDAF Event Subscription resource does not exist. + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-eventssubscription: Access to the Nnwdaf_EventsSubscription API + schemas: + NnwdafEventsSubscription: + type: object + properties: + eventSubscriptions: + type: array + items: + $ref: '#/components/schemas/EventSubscription' + minItems: 1 + description: Subscribed events + evtReq: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notificationURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + eventNotifications: + type: array + items: + $ref: '#/components/schemas/EventNotification' + minItems: 1 + failEventReports: + type: array + items: + $ref: '#/components/schemas/FailureEventInfo' + minItems: 1 + required: + - eventSubscriptions + EventSubscription: + type: object + properties: + anySlice: + $ref: '#/components/schemas/AnySlice' + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + description: Identification(s) of application to which the subscription applies. + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: Identification(s) of DNN to which the subscription applies. + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + event: + $ref: '#/components/schemas/NwdafEvent' + extraReportReq: + $ref: '#/components/schemas/EventReportingRequirement' + loadLevelThreshold: + type: integer + description: Indicates that the NWDAF shall report the corresponding network slice load level to the NF service consumer where the load level of the network slice identified by snssais is reached. + notificationMethod: + $ref: '#/components/schemas/NotificationMethod' + matchingDir: + $ref: '#/components/schemas/MatchingDirection' + nfLoadLvlThds: + type: array + items: + $ref: '#/components/schemas/ThresholdLevel' + minItems: 1 + description: Shall be supplied in order to start reporting when an average load level is reached. + nfInstanceIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + nfSetIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + nfTypes: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + minItems: 1 + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + nsiIdInfos: + type: array + items: + $ref: '#/components/schemas/NsiIdInfo' + minItems: 1 + nsiLevelThrds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + minItems: 1 + qosRequ: + $ref: '#/components/schemas/QosRequirement' + qosFlowRetThds: + type: array + items: + $ref: '#/components/schemas/RetainabilityThreshold' + minItems: 1 + ranUeThrouThds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + minItems: 1 + repetitionPeriod: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + snssaia: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Identification(s) of network slice to which the subscription applies. When subscribed event is "SLICE_LOAD_LEVEL", either information about slice(s) identified by snssai, or anySlice set to "TRUE" shall be included. It corresponds to snssais in the data model definition of 3GPP TS 29.520. When subscribed is “QOS_SUSTAINABILITY”, the identifications of network slices is optional. + tgtUe: + $ref: '#/components/schemas/TargetUeInformation' + congThresholds: + type: array + items: + $ref: '#/components/schemas/ThresholdLevel' + minItems: 1 + nwPerfRequs: + type: array + items: + $ref: '#/components/schemas/NetworkPerfRequirement' + minItems: 1 + bwRequs: + type: array + items: + $ref: '#/components/schemas/BwRequirement' + minItems: 1 + excepRequs: + type: array + items: + $ref: '#/components/schemas/Exception' + minItems: 1 + exptAnaType: + $ref: '#/components/schemas/ExpectedAnalyticsType' + exptUeBehav: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + required: + - event + NnwdafEventsSubscriptionNotification: + type: object + properties: + eventNotifications: + type: array + items: + $ref: '#/components/schemas/EventNotification' + minItems: 1 + description: Notifications about Individual Events + subscriptionId: + type: string + description: String identifying a subscription to the Nnwdaf_EventsSubscription Service + required: + - eventNotifications + - subscriptionId + EventNotification: + type: object + properties: + event: + $ref: '#/components/schemas/NwdafEvent' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeStampGen: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + nfLoadLevelInfos: + type: array + items: + $ref: '#/components/schemas/NfLoadLevelInformation' + minItems: 1 + nsiLoadLevelInfos: + type: array + items: + $ref: '#/components/schemas/NsiLoadLevelInfo' + minItems: 1 + sliceLoadLevelInfo: + $ref: '#/components/schemas/SliceLoadLevelInformation' + svcExps: + type: array + items: + $ref: '#/components/schemas/ServiceExperienceInfo' + minItems: 1 + qosSustainInfos: + type: array + items: + $ref: '#/components/schemas/QosSustainabilityInfo' + minItems: 1 + ueComms: + type: array + items: + $ref: '#/components/schemas/UeCommunication' + minItems: 1 + ueMobs: + type: array + items: + $ref: '#/components/schemas/UeMobility' + minItems: 1 + userDataCongInfos: + type: array + items: + $ref: '#/components/schemas/UserDataCongestionInfo' + minItems: 1 + abnorBehavrs: + type: array + items: + $ref: '#/components/schemas/AbnormalBehaviour' + minItems: 1 + nwPerfs: + type: array + items: + $ref: '#/components/schemas/NetworkPerfInfo' + minItems: 1 + required: + - event + ServiceExperienceInfo: + type: object + properties: + svcExprc: + $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/SvcExperience' + svcExprcVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + nsiId: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + required: + - svcExprc + BwRequirement: + type: object + properties: + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + marBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + marBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + mirBwUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + required: + - appId + SliceLoadLevelInformation: + type: object + properties: + loadLevelInformation: + $ref: '#/components/schemas/LoadLevelInformation' + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Identification(s) of network slice to which the subscription applies. + required: + - loadLevelInformation + - snssais + NsiLoadLevelInfo: + description: Represents the network slice and optionally the associated network slice instance and the load level information. + type: object + properties: + loadLevelInformation: + $ref: '#/components/schemas/LoadLevelInformation' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiId: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + required: + - loadLevelInformation + - snssai + NsiIdInfo: + description: Represents the S-NSSAI and the optionally associated Network Slice Instance(s). + type: object + properties: + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiIds: + type: array + items: + $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId' + minItems: 1 + required: + - snssai + EventReportingRequirement: + type: object + properties: + accuracy: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Accuracy' + startTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + sampRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + maxObjectNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxSupiNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + timeAnaNeeded: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + TargetUeInformation: + type: object + properties: + anyUe: + type: boolean + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + intGroupIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + UeMobility: + type: object + properties: + ts: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + recurringTime: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + duration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + durationVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + locInfos: + type: array + items: + $ref: '#/components/schemas/LocationInfo' + minItems: 1 + required: + - duration + - locInfos + LocationInfo: + type: object + properties: + loc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - loc + UeCommunication: + type: object + properties: + commDur: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + commDurVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + perioTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + perioTimeVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + ts: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + tsVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + recurringTime: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + trafChar: + $ref: '#/components/schemas/TrafficCharacterization' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - commDur + - trafChar + TrafficCharacterization: + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + fDescs: + type: array + items: + $ref: '#/components/schemas/IpEthFlowDescription' + minItems: 1 + maxItems: 2 + ulVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + ulVolVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + dlVol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + dlVolVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + UserDataCongestionInfo: + type: object + properties: + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + congestionInfo: + $ref: '#/components/schemas/CongestionInfo' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + CongestionInfo: + type: object + properties: + congType: + $ref: '#/components/schemas/CongestionType' + timeIntev: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + nsi: + $ref: '#/components/schemas/ThresholdLevel' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - congType + - timeIntev + - nsi + QosSustainabilityInfo: + type: object + properties: + areaInfo: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + startTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTs: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qosFlowRetThd: + $ref: '#/components/schemas/RetainabilityThreshold' + ranUeThrouThd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + QosRequirement: + type: object + properties: + 5qi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi' + gfbrUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + gfbrDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + resType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/QosResourceType' + pdb: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' + per: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + ThresholdLevel: + type: object + properties: + congLevel: + type: integer + nfLoadLevel: + type: integer + nfCpuUsage: + type: integer + nfMemoryUsage: + type: integer + nfStorageUsage: + type: integer + NfLoadLevelInformation: + type: object + properties: + nfType: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + nfStatus: + $ref: '#/components/schemas/NfStatus' + nfCpuUsage: + type: integer + nfMemoryUsage: + type: integer + nfStorageUsage: + type: integer + nfLoadLevelAverage: + type: integer + nfLoadLevelpeak: + type: integer + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - nfType + - nfInstanceId + NfStatus: + type: object + properties: + statusRegistered: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + statusUnregistered: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + statusUndiscoverable: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + AnySlice: + type: boolean + description: FALSE represents not applicable for all slices. TRUE represents applicable for all slices. + LoadLevelInformation: + type: integer + description: Load level information of the network slice and the optionally associated network slice instance. + AbnormalBehaviour: + type: object + properties: + supis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + excep: + $ref: '#/components/schemas/Exception' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + addtMeasInfo: + $ref: '#/components/schemas/AdditionalMeasurement' + required: + - excep + Exception: + type: object + properties: + excepId: + $ref: '#/components/schemas/ExceptionId' + excepLevel: + type: integer + excepTrend: + $ref: '#/components/schemas/ExceptionTrend' + required: + - excepId + AdditionalMeasurement: + type: object + properties: + unexpLoc: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + unexpFlowTeps: + type: array + items: + $ref: '#/components/schemas/IpEthFlowDescription' + minItems: 1 + unexpWakes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minItems: 1 + ddosAttack: + $ref: '#/components/schemas/AddressList' + wrgDest: + $ref: '#/components/schemas/AddressList' + circums: + type: array + items: + $ref: '#/components/schemas/CircumstanceDescription' + minItems: 1 + IpEthFlowDescription: + type: object + properties: + ipTrafficFilter: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription' + ethTrafficFilter: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + AddressList: + type: object + properties: + ipv4Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + minItems: 1 + CircumstanceDescription: + type: object + properties: + freq: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + tm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + locArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + vol: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Volume' + RetainabilityThreshold: + type: object + properties: + relFlowNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + relTimeUnit: + $ref: '#/components/schemas/TimeUnit' + relFlowRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + NetworkPerfRequirement: + type: object + properties: + nwPerfType: + $ref: '#/components/schemas/NetworkPerfType' + relativeRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + absoluteNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - nwPerfType + NetworkPerfInfo: + type: object + properties: + networkArea: + $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' + nwPerfType: + $ref: '#/components/schemas/NetworkPerfType' + relativeRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + absoluteNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - networkArea + - nwPerfType + FailureEventInfo: + type: object + properties: + event: + $ref: '#/components/schemas/NwdafEvent' + failureCode: + $ref: '#/components/schemas/NwdafFailureCode' + required: + - event + - failureCode + NotificationMethod: + anyOf: + - type: string + enum: + - PERIODIC + - THRESHOLD + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - PERIODIC: The subscribe of NWDAF Event is periodically. The periodic of the notification is identified by repetitionPeriod defined in subclause 5.1.6.2.3. + - THRESHOLD: The subscribe of NWDAF Event is upon threshold exceeded. The threshold of the notification is identified by loadLevelThreshold defined in subclause 5.1.6.2.3. + NwdafEvent: + anyOf: + - type: string + enum: + - SLICE_LOAD_LEVEL + - NETWORK_PERFORMANCE + - NF_LOAD + - SERVICE_EXPERIENCE + - UE_MOBILITY + - UE_COMMUNICATION + - QOS_SUSTAINABILITY + - ABNORMAL_BEHAVIOUR + - USER_DATA_CONGESTION + - NSI_LOAD_LEVEL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SLICE_LOAD_LEVEL: Indicates that the event subscribed is load level information of Network Slice + - NETWORK_PERFORMANCE: Indicates that the event subscribed is network performance information. + - NF_LOAD: Indicates that the event subscribed is load level and status of one or several Network Functions. + - SERVICE_EXPERIENCE: Indicates that the event subscribed is service experience. + - UE_MOBILITY: Indicates that the event subscribed is UE mobility information. + - UE_COMMUNICATION: Indicates that the event subscribed is UE communication information. + - QOS_SUSTAINABILITY: Indicates that the event subscribed is QoS sustainability. + - ABNORMAL_BEHAVIOUR: Indicates that the event subscribed is abnormal behaviour. + - USER_DATA_CONGESTION: Indicates that the event subscribed is user data congestion information. + - NSI_LOAD_LEVEL: Indicates that the event subscribed is load level information of Network Slice and the optionally associated Network Slice Instance + Accuracy: + anyOf: + - type: string + enum: + - LOW + - HIGH + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - LOW: Low accuracy. + - HIGH: High accuracy. + CongestionType: + anyOf: + - type: string + enum: + - USER_PLANE + - CONTROL_PLANE + - USER_AND_CONTROL_PLANE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - USER_PLANE: The congestion analytics type is User Plane. + - CONTROL_PLANE: The congestion analytics type is Control Plane. + - USER_AND_CONTROL_PLANE: The congestion analytics type is User Plane and Control Plane. + ExceptionId: + anyOf: + - type: string + enum: + - UNEXPECTED_UE_LOCATION + - UNEXPECTED_LONG_LIVE_FLOW + - UNEXPECTED_LARGE_RATE_FLOW + - UNEXPECTED_WAKEUP + - SUSPICION_OF_DDOS_ATTACK + - WRONG_DESTINATION_ADDRESS + - TOO_FREQUENT_SERVICE_ACCESS + - UNEXPECTED_RADIO_LINK_FAILURES + - PING_PONG_ACROSS_CELLS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UNEXPECTED_UE_LOCATION: Unexpected UE location + - UNEXPECTED_LONG_LIVE_FLOW: Unexpected long-live rate flows + - UNEXPECTED_LARGE_RATE_FLOW: Unexpected large rate flows + - UNEXPECTED_WAKEUP: Unexpected wakeup + - SUSPICION_OF_DDOS_ATTACK: Suspicion of DDoS attack + - WRONG_DESTINATION_ADDRESS: Wrong destination address + - TOO_FREQUENT_SERVICE_ACCESS: Too frequent Service Access + - UNEXPECTED_RADIO_LINK_FAILURES: Unexpected radio link failures + - PING_PONG_ACROSS_CELLS: Ping-ponging across neighbouring cells + ExceptionTrend: + anyOf: + - type: string + enum: + - UP + - DOWN + - UNKNOW + - STABLE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UP: Up trend of the exception level. + - DOWN: Down trend of the exception level. + - UNKNOW: Unknown trend of the exception level. + - STABLE: Stable trend of the exception level. + TimeUnit: + anyOf: + - type: string + enum: + - MINUTE + - HOUR + - DAY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - MINUTE: Time unit is per minute. + - HOUR: Time unit is per hour. + - DAY: Time unit is per day. + NetworkPerfType: + anyOf: + - type: string + enum: + - GNB_ACTIVE_RATIO + - GNB_COMPUTING_USAGE + - GNB_MEMORY_USAGE + - GNB_DISK_USAGE + - NUM_OF_UE + - SESS_SUCC_RATIO + - HO_SUCC_RATIO + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - GNB_ACTIVE_RATIO: Indicates that the network performance requirement is gNodeB active (i.e. up and running) rate. Indicates the ratio of gNB active (i.e. up and running) number to the total number of gNB + - GNB_COMPUTING_USAGE: Indicates gNodeB computing resource usage. + - GNB_MEMORY_USAGE: Indicates gNodeB memory usage. + - GNB_DISK_USAGE: Indicates gNodeB disk usage. + - NUM_OF_UE: Indicates number of UEs. + - SESS_SUCC_RATIO: Indicates ratio of successful setup of PDU sessions to total PDU session setup attempts. + - SESS_SUCC_RATIO: Indicates Ratio of successful handovers to the total handover attempts. + ExpectedAnalyticsType: + anyOf: + - type: string + enum: + - MOBILITY + - COMMUN + - MOBILITY_AND_COMMUN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - MOBILITY: Mobility related abnormal behaviour analytics is expected by the consumer. + - COMMUN: Communication related abnormal behaviour analytics is expected by the consumer. + - MOBILITY_AND_COMMUN: Both mobility and communication related abnormal behaviour analytics is expected by the consumer. + MatchingDirection: + anyOf: + - type: string + enum: + - ASCENDING + - DESCENDING + - CROSSED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - ASCENDING: Threshold is crossed in ascending direction. + - DESCENDING: Threshold is crossed in descending direction. + - CROSSED: Threshold is crossed either in ascending or descending direction. + NwdafFailureCode: + anyOf: + - type: string + enum: + - UNAVAILABLE_DATA + - BOTH_STAT_PRED_NOT_ALLOWED + - OTHER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UNAVAILABLE_DATA: Indicates the requested statistics information for the event is rejected since necessary data to perform the service is unavailable. + - BOTH_STAT_PRED_NOT_ALLOWED: Indicates the requested analysis information for the event is rejected since the start time is in the past and the end time is in the future, which means the NF service consumer requested both statistics and prediction for the analytics. + - OTHER: Indicates the requested analysis information for the event is rejected due to other reasons. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29521_Nbsf_Management.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29521_Nbsf_Management.yaml new file mode 100644 index 000000000..19078d693 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29521_Nbsf_Management.yaml @@ -0,0 +1,416 @@ +openapi: 3.0.0 +info: + version: 1.1.2 + title: Nbsf_Management + description: | + Binding Support Management Service API. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.521 V16.8.0; 5G System; Binding Support Management Service. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.521/' +servers: + - url: '{apiRoot}/nbsf-management/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - nbsf-management +paths: + /pcfBindings: + post: + summary: Create a new Individual PCF binding information + operationId: CreatePCFBinding + tags: + - PCF Bindings (Collection) + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + responses: + '201': + description: The creation of an individual PCF session binding. + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nbsf-management/v1/pcfBindings/{bindingId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + description: The existing PCF binding information stored in the BSF for the indicated combination is returned. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ExtProblemDetails' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + get: + summary: Read PCF Bindings information + operationId: GetPCFBindings + tags: + - PCF Bindings (Collection) + parameters: + - name: ipv4Addr + in: query + description: The IPv4 Address of the served UE. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + - name: ipv6Prefix + in: query + description: The IPv6 Address of the served UE. The NF service consumer shall append '/128' to the IPv6 address in the attribute value. E.g. '2001:db8:85a3::8a2e:370:7334/128'. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + - name: macAddr48 + in: query + description: The MAC Address of the served UE. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + - name: dnn + in: query + description: DNN. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - name: supi + in: query + description: Subscription Permanent Identifier. + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + - name: gpsi + in: query + description: Generic Public Subscription Identifier + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + - name: snssai + in: query + description: The identification of slice. + required: false + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + - name: ipDomain + in: query + description: The IPv4 address domain identifier. + required: false + schema: + type: string + - name: supp-feat + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The individual PCF session binding session binding information resource matching the query parameter(s) is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + '204': + description: There is no PCF session binding information matching the query parameter(s). + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /pcfBindings/{bindingId}: + delete: + summary: Delete an existing Individual PCF Binding information + operationId: DeleteIndPCFBinding + tags: + - Individual PCF Binding (Document) + parameters: + - name: bindingId + in: path + description: Represents the individual PCF Session Binding. + required: true + schema: + type: string + responses: + '204': + description: No Content. The Individual PCF session binding information resource is deleted. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + patch: + summary: Update an existing Individual PCF Binding information + operationId: UpdateIndPCFBinding + tags: + - Individual PCF Binding (Document) + parameters: + - name: bindingId + in: path + description: Represents the individual PCF Session Binding. + required: true + schema: + type: string + requestBody: + description: Parameters to update the existing session binding + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PcfBindingPatch' + responses: + '200': + description: OK (Successful update of the session binding) + content: + application/json: + schema: + $ref: '#/components/schemas/PcfBinding' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nbsf-management: Access to the Nbsf_Management API + schemas: + PcfBinding: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + addIpv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + description: The additional IPv6 Address Prefixes of the served UE. + ipDomain: + type: string + macAddr48: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + addMacAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + description: The additional MAC Addresses of the served UE. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + pcfFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + pcfIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_PolicyAuthorization service. + pcfDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + pcfDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + pcfSmFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + pcfSmIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_SMPolicyControl service. + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + recoveryTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + paraCom: + $ref: '#/components/schemas/ParameterCombination' + bindLevel: + $ref: '#/components/schemas/BindingLevel' + ipv4FrameRouteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrMask' + minItems: 1 + ipv6FrameRouteList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + required: + - dnn + - snssai + PcfBindingPatch: + type: object + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrRm' + ipDomain: + type: string + nullable: true + ipv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6PrefixRm' + addIpv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + description: The additional IPv6 Address Prefixes of the served UE. + nullable: true + macAddr48: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48Rm' + addMacAddrs: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + minItems: 1 + description: The additional MAC Addresses of the served UE. + nullable: true + pcfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + pcfFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + pcfIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_PolicyAuthorization service. + pcfDiamHost: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + pcfDiamRealm: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' + ParameterCombination: + type: object + properties: + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + ExtProblemDetails: + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/BindingResp' + BindingResp: + type: object + properties: + pcfSmFqdn: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' + pcfSmIpEndPoints: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' + minItems: 1 + description: IP end points of the PCF hosting the Npcf_SMPolicyControl service. + BindingLevel: + anyOf: + - type: string + enum: + - NF_SET + - NF_INSTANCE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - "NF_SET" + - "NF_INSTANCE" diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_5GLANParameterProvision.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_5GLANParameterProvision.yaml new file mode 100644 index 000000000..bb432c69d --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_5GLANParameterProvision.yaml @@ -0,0 +1,439 @@ +openapi: 3.0.0 +info: + title: 3gpp-5glan-pp + version: 1.0.1 + description: | + API for 5G LAN Parameter Provision. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.7.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-5glan-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{afId}/subscriptions: + get: + summary: read all of the active subscriptions for the AF + tags: + - 5GLAN Parameters Provision Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get all of the active subscriptions for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/5GLanParametersProvision' + minItems: 0 + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new subscription resource + tags: + - 5GLAN Parameters Provision Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new subscription creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/subscriptions/{subscriptionId}: + get: + summary: read an active subscription for the AF and the subscription Id + tags: + - Individual 5GLAN Parameters Provision Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing subscription resource + tags: + - Individual 5GLAN Parameters Provision Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + responses: + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Partial updates an existing subscription resource + tags: + - Individual 5GLAN Parameters Provision Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/5GLanParametersProvisionPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/5GLanParametersProvision' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing subscription + tags: + - Individual 5GLAN Parameters Provision Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + 5GLanParametersProvision: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + 5gLanParams: + $ref: '#/components/schemas/5GLanParameters' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - 5gLanParams + - suppFeat + 5GLanParametersProvisionPatch: + type: object + properties: + 5gLanParamsPatch: + $ref: '#/components/schemas/5GLanParametersPatch' + 5GLanParameters: + type: object + properties: + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + gpsis: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minProperties: 1 + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + aaaIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + aaaIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + aaaUsgs: + type: array + items: + $ref: '#/components/schemas/AaaUsage' + minItems: 1 + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + sessionType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + appDesps: + type: object + additionalProperties: + $ref: '#/components/schemas/AppDescriptor' + minProperties: 1 + required: + - exterGroupId + - gpsis + - dnn + - snssai + - sessionType + - appDesps + 5GLanParametersPatch: + type: object + properties: + gpsis: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GpsiRm' + minProperties: 1 + appDesps: + type: object + additionalProperties: + $ref: '#/components/schemas/AppDescriptorRm' + minProperties: 1 + AppDescriptor: + type: object + properties: + osId: + $ref: 'TS29519_Policy_Data.yaml#/components/schemas/OsId' + appIds: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minProperties: 1 + required: + - osId + - appIds + AppDescriptorRm: + type: object + properties: + appIds: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationIdRm' + minProperties: 1 + AaaUsage: + anyOf: + - type: string + enum: + - AUTH + - IP_ALLOC + - type: string + description: > + This string identifies the usage of secondary authentication/authorization, and/or UE IP address allocation from the DN-AAA server. + description: > + Possible values are + - AUTH: secondary authentication/authorization needed from DN-AAA server + - IP_ALLOC: UE IP address allocation needed from DN-AAA server diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ACSParameterProvision.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ACSParameterProvision.yaml new file mode 100644 index 000000000..7ab0a0e45 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ACSParameterProvision.yaml @@ -0,0 +1,295 @@ +openapi: 3.0.0 +info: + title: 3gpp-acs-pp + version: 1.0.1 + description: | + API for 5G ACS Parameter Provision. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.7.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-acs-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{afId}/subscriptions: + get: + summary: read all of the active subscriptions for the AF + tags: + - ACS Configuration Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get all of the active subscriptions for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AcsConfigurationData' + minItems: 0 + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new subscription resource + tags: + - ACS Configuration Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new subscription creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AcsConfigurationData' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/AcsConfigurationData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/subscriptions/{subscriptionId}: + get: + summary: read an active subscription for the AF and the subscription Id + tags: + - Individual ACS Configuration Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AcsConfigurationData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing subscription resource + tags: + - Individual ACS Configuration Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AcsConfigurationData' + responses: + '200': + description: OK (Successful update of the existing subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AcsConfigurationData' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing subscription + tags: + - Individual ACS Configuration Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + AcsConfigurationData: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + acsInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AcsInfo' + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - acsInfo + - suppFeat diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_AnalyticsExposure.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_AnalyticsExposure.yaml new file mode 100644 index 000000000..0919d44a8 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_AnalyticsExposure.yaml @@ -0,0 +1,792 @@ +openapi: 3.0.0 +info: + title: 3gpp-analyticsexposure + version: 1.0.4 + description: | + API for Analytics Exposure. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.8.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-analyticsexposure/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{afId}/subscriptions: + get: + summary: read all of the active subscriptions for the AF + tags: + - Analytics Exposure Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: supp-feat + in: query + description: Features supported by the NF service consumer + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK (Successful get all of the active subscriptions for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + minItems: 0 + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new subscription resource + tags: + - Analytics Exposure Subscriptions + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new subscription creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + callbacks: + notification: + '{request.body#/notifUri}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsEventNotification' + responses: + '204': + description: No Content (successful notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '204': + description: Successful case. The resource has been successfully created and no additional content is to be sent in the response message. + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/subscriptions/{subscriptionId}: + get: + summary: read an active subscription for the AF and the subscription Id + tags: + - Individual Analytics Exposure Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + - name: supp-feat + in: query + description: Features supported by the NF service consumer + required: false + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing subscription resource + tags: + - Individual Analytics Exposure Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + responses: + '200': + description: OK (Successful deletion of the existing subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsExposureSubsc' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing subscription + tags: + - Individual Analytics Exposure Subscription + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/fetch: + post: + summary: Fetch analytics information + tags: + - AnalyticsExposure API Fetch analytics information + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsRequest' + responses: + '200': + description: The requested information was returned successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsData' + '204': + description: No Content (The requested Analytics data does not exist) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + AnalyticsExposureSubsc: + type: object + properties: + analyEventsSubs: + type: array + items: + $ref: '#/components/schemas/AnalyticsEventSubsc' + minItems: 1 + analyRepInfo: + $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + notifId: + type: string + eventNotifis: + type: array + items: + $ref: '#/components/schemas/AnalyticsEventNotif' + minItems: 1 + failEventReports: + type: array + items: + $ref: '#/components/schemas/AnalyticsFailureEventInfo' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the AF to request the NEF to send a test notification as defined in subclause 5.2.5.3 of 3GPP TS 29.122. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + required: + - analyEventsSubs + - notifUri + - notifId + AnalyticsEventNotification: + type: object + properties: + notifId: + type: string + analyEventNotifs: + type: array + items: + $ref: '#/components/schemas/AnalyticsEventNotif' + minItems: 1 + required: + - notifId + - analyEventNotifs + AnalyticsEventNotif: + type: object + properties: + analyEvent: + $ref: '#/components/schemas/AnalyticsEvent' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeStamp: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + ueMobilityInfos: + type: array + items: + $ref: '#/components/schemas/UeMobilityExposure' + minItems: 1 + ueCommInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommunication' + minItems: 1 + abnormalInfos: + type: array + items: + $ref: '#/components/schemas/AbnormalExposure' + minItems: 1 + congestInfos: + type: array + items: + $ref: '#/components/schemas/CongestInfo' + minItems: 1 + nwPerfInfos: + type: array + items: + $ref: '#/components/schemas/NetworkPerfExposure' + minItems: 1 + qosSustainInfos: + type: array + items: + $ref: '#/components/schemas/QosSustainabilityExposure' + minItems: 1 + required: + - analyEvent + - timeStamp + AnalyticsEventSubsc: + type: object + properties: + analyEvent: + $ref: '#/components/schemas/AnalyticsEvent' + analyEventFilter: + $ref: '#/components/schemas/AnalyticsEventFilterSubsc' + tgtUe: + $ref: '#/components/schemas/TargetUeId' + required: + - analyEvent + AnalyticsEventFilterSubsc: + type: object + properties: + nwPerfReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfRequirement' + minItems: 1 + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + excepRequs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Exception' + minItems: 1 + exptAnaType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExpectedAnalyticsType' + exptUeBehav: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + reptThlds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ThresholdLevel' + minItems: 1 + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + qosReq: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosRequirement' + qosFlowRetThds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RetainabilityThreshold' + minItems: 1 + ranUeThrouThds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + minItems: 1 + extraReportReq: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventReportingRequirement' + TargetUeId: + type: object + properties: + anyUeInd: + type: boolean + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + UeMobilityExposure: + type: object + properties: + ts: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + recurringTime: + $ref: 'TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime' + duration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec' + durationVariance: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + locInfo: + type: array + items: + $ref: '#/components/schemas/UeLocationInfo' + minItems: 1 + required: + - duration + - locInfo + UeLocationInfo: + type: object + properties: + loc: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - loc + AnalyticsRequest: + type: object + properties: + analyEvent: + $ref: '#/components/schemas/AnalyticsEvent' + analyEventFilter: + $ref: '#/components/schemas/AnalyticsEventFilter' + analyRep: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventReportingRequirement' + tgtUe: + $ref: '#/components/schemas/TargetUeId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - analyEvent + - suppFeat + AnalyticsEventFilter: + type: object + properties: + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + nwPerfTypes: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfType' + minItems: 1 + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + excepIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExceptionId' + minItems: 1 + exptAnaType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExpectedAnalyticsType' + exptUeBehav: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + qosReq: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosRequirement' + AnalyticsData: + type: object + properties: + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + ueMobilityInfos: + type: array + items: + $ref: '#/components/schemas/UeMobilityExposure' + minItems: 1 + ueCommInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommunication' + minItems: 1 + nwPerfInfos: + type: array + items: + $ref: '#/components/schemas/NetworkPerfExposure' + minItems: 1 + abnormalInfos: + type: array + items: + $ref: '#/components/schemas/AbnormalExposure' + minItems: 1 + congestInfos: + type: array + items: + $ref: '#/components/schemas/CongestInfo' + minItems: 1 + qosSustainInfos: + type: array + items: + $ref: '#/components/schemas/QosSustainabilityExposure' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suppFeat + NetworkPerfExposure: + type: object + properties: + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + nwPerfType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfType' + relativeRatio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + absoluteNum: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - locArea + - nwPerfType + AbnormalExposure: + type: object + properties: + gpsis: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + minItems: 1 + appId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + excep: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Exception' + ratio: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + addtMeasInfo: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AdditionalMeasurement' + required: + - excep + CongestInfo: + type: object + properties: + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + cngAnas: + type: array + items: + $ref: '#/components/schemas/CongestionAnalytics' + minItems: 1 + required: + - locArea + - cngAnas + CongestionAnalytics: + type: object + properties: + cngType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/CongestionType' + tmWdw: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + nsi: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ThresholdLevel' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - cngType + - tmWdw + - nsi + QosSustainabilityExposure: + type: object + properties: + locArea: + $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G' + startTs: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + endTs: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime' + qosFlowRetThd: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RetainabilityThreshold' + ranUeThrouThd: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + confidence: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + required: + - locArea + - startTs + - endTs + AnalyticsFailureEventInfo: + type: object + properties: + event: + $ref: '#/components/schemas/AnalyticsEvent' + failureCode: + $ref: '#/components/schemas/AnalyticsFailureCode' + required: + - event + - failureCode + AnalyticsEvent: + anyOf: + - type: string + enum: + - UE_MOBILITY + - UE_COMM + - ABNORMAL_BEHAVIOR + - CONGESTION + - NETWORK_PERFORMANCE + - QOS_SUSTAINABILITY + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UE_MOBILITY: The AF requests to be notified about analytics information of UE mobility. + - UE_COMM: The AF requests to be notified about analytics information of UE communication. + - ABNORMAL_BEHAVIOR: The AF requests to be notified about analytics information of UE’s abnormal behavior. + - CONGESTION: The AF requests to be notified about analytics information of user data congestion information. + - NETWORK_PERFORMANCE: The AF requests to be notified about analytics information of network performance. + - QOS_SUSTAINABILITY: The AF requests to be notified about analytics information of QoS sustainability. + AnalyticsFailureCode: + anyOf: + - type: string + enum: + - UNAVAILABLE_DATA + - BOTH_STAT_PRED_NOT_ALLOWED + - OTHER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - UNAVAILABLE_DATA: The event is rejected since necessary data to perform the service is unavailable. + - BOTH_STAT_PRED_NOT_ALLOWED: The event is rejected since the start time is in the past and the end time is in the future, which means the NF service consumer requested both statistics and prediction for the analytics. + - OTHER: The event is rejected due to other reasons. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ApplyingBdtPolicy.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ApplyingBdtPolicy.yaml new file mode 100644 index 000000000..f02b24e66 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ApplyingBdtPolicy.yaml @@ -0,0 +1,270 @@ +openapi: 3.0.0 +info: + title: 3gpp-applying-bdt-policy + version: 1.0.2 + description: | + API for applying BDT policy + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.7.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-applying-bdt-policy/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/subscriptions: + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + get: + summary: read all of the active subscriptions for the AF + tags: + - Applied BDT Policy Subscription + responses: + '200': + description: OK. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AppliedBdtPolicy' + minItems: 0 + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new subscription resource + tags: + - Applied BDT Policy Subscription + requestBody: + description: Request to create a new subscription resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AppliedBdtPolicy' + responses: + '201': + description: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AppliedBdtPolicy' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/subscriptions/{subscriptionId}: + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + get: + summary: read an active subscriptions for the SCS/AS and the subscription Id + tags: + - Individual Applied BDT Policy Subscription + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/AppliedBdtPolicy' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates/replaces an existing subscription resource + tags: + - Individual Applied BDT Policy Subscription + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/AppliedBdtPolicyPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/AppliedBdtPolicy' + '204': + description: No content. The subscription was modified successfully. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + delete: + summary: Deletes an already existing subscription + tags: + - Individual Applied BDT Policy Subscription + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + AppliedBdtPolicy: + type: object + properties: + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + required: + - bdtRefId + - suppFeat + oneOf: + - required: [gpsi] + - required: [externalGroupId] + AppliedBdtPolicyPatch: + type: object + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + required: + - bdtRefId diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_IPTVConfiguration.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_IPTVConfiguration.yaml new file mode 100644 index 000000000..b17686528 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_IPTVConfiguration.yaml @@ -0,0 +1,400 @@ +openapi: 3.0.0 +info: + title: 3gpp-iptvconfiguration + version: 1.0.1 + description: | + API for IPTV configuration. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.7.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-iptvconfiguration/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{afId}/configurations: + get: + summary: read all of the active configurations for the AF + tags: + - IPTV Configurations + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get all of the active configurations for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IptvConfigData' + minItems: 0 + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new configuration resource + tags: + - IPTV Configurations + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new configuration creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + responses: + '201': + description: Created (Successful creation of configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/configurations/{configurationId}: + get: + summary: read an active configuration for the AF and the configuration Id + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing configuration resource + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing configuration + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + responses: + '200': + description: OK (Successful deletion of the existing configuration) + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Partial updates an existing configuration resource + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/IptvConfigDataPatch' + responses: + '200': + description: OK. The configuration was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IptvConfigData' + '204': + description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing configuration + tags: + - Individual IPTV Configuration + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: configurationId + in: path + description: Identifier of the configuration resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing configuration) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + IptvConfigData: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + afAppId: + type: string + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + multiAccCtrls: + type: object + additionalProperties: + $ref: '#/components/schemas/MulticastAccessControl' + minProperties: 1 + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afAppId + - multiAccCtrls + - suppFeat + IptvConfigDataPatch: + type: object + properties: + multiAccCtrls: + type: object + additionalProperties: + $ref: '#/components/schemas/MulticastAccessControl' + minProperties: 1 + MulticastAccessControl: + type: object + properties: + srcIpv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + srcIpv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + multicastV4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + multicastV6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + accStatus: + $ref: '#/components/schemas/AccessRightStatus' + required: + - accStatus + AccessRightStatus: + anyOf: + - type: string + enum: + - FULLY_ALLOWED + - PREVIEW_ALLOWED + - NO_ALLOWED + - type: string + description: > + Possible values are + - FULLY_ALLOWED: The User is fully allowed to access to the channel. + - PREVIEW_ALLOWED: The User is preview allowed to access to the channel. + - NO_ALLOWED: The User is not allowed to access to the channel. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_LpiParameterProvision.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_LpiParameterProvision.yaml new file mode 100644 index 000000000..719721660 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_LpiParameterProvision.yaml @@ -0,0 +1,295 @@ +openapi: 3.0.0 +info: + title: 3gpp-lpi-pp + version: 1.0.1 + description: | + API for Location Privacy Indication Parameters Provisioning. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.7.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-lpi-pp/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /{afId}/provisionedLpis: + get: + summary: read all of the active LPI Parameters Provisioning resources for the AF + tags: + - LPI Parameters Provisionings + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get all of the active resources for the AF) + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/LpiParametersProvision' + minItems: 1 + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new LPI Parameters Provisioning resource + tags: + - LPI Parameters Provisionings + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + requestBody: + description: new resource creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvision' + responses: + '201': + description: Created (Successful creation) + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvision' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/provisionedLpis/{provisionedLpiId}: + get: + summary: read an active LPI Parameters Provisioning resource for the AF and the provisioned LPI Id + tags: + - Individual LPI Parameters Provisioning + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: provisionedLpiId + in: path + description: Identifier of the provisioned LPI parameter resource + required: true + schema: + type: string + responses: + '200': + description: OK (Successful get the active resource) + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvision' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing LPI Parameters Provisioning resource + tags: + - Individual LPI Parameters Provisioning + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: provisionedLpiId + in: path + description: Identifier of the provisioned LPI parameter resource + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvision' + responses: + '200': + description: OK (Successful update of the existing resource) + content: + application/json: + schema: + $ref: '#/components/schemas/LpiParametersProvision' + '204': + description: Successful case. The resource has been successfully updated and no additional content is sent in the response message. + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing LPI Parameters Provisioning resource + tags: + - Individual LPI Parameters Provisioning + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: provisionedLpiId + in: path + description: Identifier of the provisioned LPI parameter resource + required: true + schema: + type: string + responses: + '204': + description: No Content (Successful deletion of the existing resource) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + LpiParametersProvision: + type: object + properties: + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + exterGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + lpi: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/Lpi' + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - lpi + - suppFeat diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_MoLcsNotify.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_MoLcsNotify.yaml new file mode 100644 index 000000000..7789fe298 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_MoLcsNotify.yaml @@ -0,0 +1,99 @@ +openapi: 3.0.0 +info: + title: 3gpp-mo-lcs-notify + version: 1.0.1 + description: | + API for UE updated location information notification. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.7.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-mo-lcs-notify/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /: + post: + summary: UE location information update notification + tags: + - AF level UE location update notification operation + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LocUpdateData' + required: true + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/LocUpdateDataReply' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + LocUpdateData: + type: object + properties: + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + locInfo: + $ref: 'TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo' + lcsQosClass: + $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LcsQosClass' + svcId: + $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/ServiceIdentity' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - gpsi + - lcsQosClass + - locInfo + - suppFeat + LocUpdateDataReply: + type: object + properties: + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suppFeat diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_NIDDConfigurationTrigger.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_NIDDConfigurationTrigger.yaml new file mode 100644 index 000000000..015ca5210 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_NIDDConfigurationTrigger.yaml @@ -0,0 +1,97 @@ +openapi: 3.0.0 +info: + title: 3gpp-nidd-configuration-trigger + version: 1.0.1 + description: | + API for NIDD Configuration Trigger. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.7.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. +paths: + /: + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfigurationTrigger' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/NiddConfigurationTriggerReply' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + NiddConfigurationTrigger: + type: object + properties: + afId: + type: string + description: Identifies the trigger receiving entity. + nefId: + type: string + description: Identifies the trigger sending entity. + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - afId + - nefId + - gpsi + - suppFeat + NiddConfigurationTriggerReply: + type: object + properties: + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - suppFeat diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ServiceParameter.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ServiceParameter.yaml new file mode 100644 index 000000000..fc7c02d2c --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_ServiceParameter.yaml @@ -0,0 +1,341 @@ +openapi: 3.0.0 +info: + title: 3gpp-service-parameter + version: 1.0.2 + description: | + API for AF service paramter + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.8.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-service-parameter/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/subscriptions: + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + get: + summary: read all of the active subscriptions for the AF + tags: + - Service Parameter Subscriptions + responses: + '200': + description: OK. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ServiceParameterData' + minItems: 0 + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new subscription resource + tags: + - Service Parameter Subscriptions + requestBody: + description: Request to create a new subscription resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + responses: + '201': + description: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/subscriptions/{subscriptionId}: + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + get: + summary: read an active subscriptions for the SCS/AS and the subscription Id + tags: + - Individual Service Parameter Subscription + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing subscription resource + tags: + - Individual Service Parameter Subscription + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates/replaces an existing subscription resource + tags: + - Individual Service Parameter Subscription + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ServiceParameterDataPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceParameterData' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing subscription + tags: + - Individual Service Parameter Subscription + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + ServiceParameterData: + type: object + properties: + afServiceId: + type: string + description: Identifies a service on behalf of which the AF is issuing the request. + appId: + type: string + description: Identifies an application. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + anyUeInd: + type: boolean + description: Identifies whether the AF request applies to any UE. This attribute shall set to "true" if applicable for any UE, otherwise, set to "false". + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ueIpv4: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ueIpv6: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + paramOverPc5: + $ref: '#/components/schemas/ParameterOverPc5' + paramOverUu: + $ref: '#/components/schemas/ParameterOverUu' + mtcProviderId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + ServiceParameterDataPatch: + type: object + properties: + paramOverPc5: + $ref: '#/components/schemas/ParameterOverPc5Rm' + paramOverUu: + $ref: '#/components/schemas/ParameterOverUuRm' + ParameterOverPc5: + type: string + ParameterOverPc5Rm: + type: string + nullable: true + ParameterOverUu: + type: string + ParameterOverUuRm: + type: string + nullable: true diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_TrafficInfluence.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_TrafficInfluence.yaml new file mode 100644 index 000000000..9c336f0b1 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29522_TrafficInfluence.yaml @@ -0,0 +1,594 @@ +openapi: 3.0.0 +info: + title: 3gpp-traffic-influence + version: 1.1.2 + description: | + API for AF traffic influence + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.522 V16.7.0; 5G System; Network Exposure Function Northbound APIs. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' +security: + - {} + - oAuth2ClientCredentials: [] +servers: + - url: '{apiRoot}/3gpp-traffic-influence/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. + +paths: + /{afId}/subscriptions: + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + get: + summary: read all of the active subscriptions for the AF + tags: + - Traffic Influence Subscription + responses: + '200': + description: OK. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrafficInfluSub' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + post: + summary: Creates a new subscription resource + tags: + - Traffic Influence Subscription + requestBody: + description: Request to create a new subscription resource + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + callbacks: + notificationDestination: + '{request.body#/notificationDestination}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventNotification' + callbacks: + afAcknowledgement: + '{request.body#/afAckUri}': + post: + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AfAckInfo' + responses: + '204': + description: No Content (successful acknowledgement) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '204': + description: No Content (successful notification) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + responses: + '201': + description: Created (Successful creation of subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + headers: + Location: + description: 'Contains the URI of the newly created resource' + required: true + schema: + type: string + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + /{afId}/subscriptions/{subscriptionId}: + parameters: + - name: afId + in: path + description: Identifier of the AF + required: true + schema: + type: string + - name: subscriptionId + in: path + description: Identifier of the subscription resource + required: true + schema: + type: string + get: + summary: read an active subscriptions for the SCS/AS and the subscription Id + tags: + - Individual Traffic Influence Subscription + responses: + '200': + description: OK (Successful get the active subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29122_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + put: + summary: Updates/replaces an existing subscription resource + tags: + - Individual Traffic Influence Subscription + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + patch: + summary: Updates/replaces an existing subscription resource + tags: + - Individual Traffic Influence Subscription + requestBody: + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/TrafficInfluSubPatch' + responses: + '200': + description: OK. The subscription was modified successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficInfluSub' + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29122_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29122_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29122_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + + delete: + summary: Deletes an already existing subscription + tags: + - Individual Traffic Influence Subscription + responses: + '204': + description: No Content (Successful deletion of the existing subscription) + '307': + $ref: 'TS29122_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29122_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29122_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29122_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29122_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29122_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29122_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29122_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29122_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29122_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + schemas: + TrafficInfluSub: + type: object + properties: + afServiceId: + type: string + description: Identifies a service on behalf of which the AF is issuing the request. + afAppId: + type: string + description: Identifies an application. + afTransId: + type: string + description: Identifies an NEF Northbound interface transaction, generated by the AF. + appReloInd: + type: boolean + description: Identifies whether an application can be relocated once a location of the application has been selected. + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + externalGroupId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' + anyUeInd: + type: boolean + description: Identifies whether the AF request applies to any UE. This attribute shall set to "true" if applicable for any UE, otherwise, set to "false". + subscribedEvents: + type: array + items: + $ref: '#/components/schemas/SubscribedEvent' + minItems: 1 + description: Identifies the requirement to be notified of the event(s). + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ipv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + ipDomain: + type: string + ipv6Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' + macAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + notificationDestination: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + requestTestNotification: + type: boolean + description: Set to true by the SCS/AS to request the NEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise. + websockNotifConfig: + $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig' + self: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Identifies IP packet filters. + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet filters. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + tfcCorrInd: + type: boolean + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + validGeoZoneIds: + type: array + items: + type: string + minItems: 1 + description: Identifies a geographic zone that the AF request applies only to the traffic of UE(s) located in this specific zone. + afAckInd: + type: boolean + addrPreserInd: + type: boolean + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + allOf: + - oneOf: + - required: [afAppId] + - required: [trafficFilters] + - required: [ethTrafficFilters] + - oneOf: + - required: [ipv4Addr] + - required: [ipv6Addr] + - required: [macAddr] + - required: [gpsi] + - required: [externalGroupId] + - required: [anyUeInd] + anyOf: + - not: + required: [subscribedEvents] + - required: [notificationDestination] + TrafficInfluSubPatch: + type: object + properties: + appReloInd: + type: boolean + description: Identifies whether an application can be relocated once a location of the application has been selected. + nullable: true + trafficFilters: + type: array + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo' + minItems: 1 + description: Identifies IP packet filters. + ethTrafficFilters: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription' + minItems: 1 + description: Identifies Ethernet packet filters. + trafficRoutes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 + description: Identifies the N6 traffic routing requirement. + tfcCorrInd: + type: boolean + nullable: true + tempValidities: + type: array + items: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity' + minItems: 1 + nullable: true + validGeoZoneIds: + type: array + items: + type: string + minItems: 1 + description: Identifies a geographic zone that the AF request applies only to the traffic of UE(s) located in this specific zone. + nullable: true + afAckInd: + type: boolean + nullable: true + addrPreserInd: + type: boolean + nullable: true + EventNotification: + type: object + properties: + afTransId: + type: string + description: Identifies an NEF Northbound interface transaction, generated by the AF. + dnaiChgType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType' + sourceTrafficRoute: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + subscribedEvent: + $ref: '#/components/schemas/SubscribedEvent' + targetTrafficRoute: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + sourceDnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + targetDnai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + srcUeIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + srcUeIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + tgtUeIpv4Addr: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' + tgtUeIpv6Prefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + ueMac: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + afAckUri: + $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' + required: + - dnaiChgType + - subscribedEvent + AfResultInfo: + type: object + properties: + afStatus: + $ref: '#/components/schemas/AfResultStatus' + trafficRoute: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + required: + - afStatus + AfAckInfo: + type: object + properties: + afTransId: + type: string + ackResult: + $ref: '#/components/schemas/AfResultInfo' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + required: + - ackResult + SubscribedEvent: + anyOf: + - type: string + enum: + - UP_PATH_CHANGE + - type: string + description: > + Possible values are + - UP_PATH_CHANGE: The AF requests to be notified when the UP path changes for the PDU session. + AfResultStatus: + anyOf: + - type: string + enum: + - SUCCESS + - TEMPORARY_CONGESTION + - RELOC_NO_ALLOWED + - OTHER + - type: string + description: > + Possible values are + - SUCCESS: The application layer is ready or the relocation is completed. + - TEMPORARY_CONGESTION: The application relocation fails due to temporary congestion. + - RELOC_NO_ALLOWED: The application relocation fails because application relocation is not allowed. + - OTHER: The application relocation fails due to other reason. diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29531_Nnssf_NSSAIAvailability.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29531_Nnssf_NSSAIAvailability.yaml new file mode 100644 index 000000000..43654bbbc --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29531_Nnssf_NSSAIAvailability.yaml @@ -0,0 +1,649 @@ +openapi: 3.0.0 + +info: + version: '1.1.4' + title: 'NSSF NSSAI Availability' + description: | + NSSF NSSAI Availability Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +security: + - {} + - oAuth2ClientCredentials: + - nnssf-nssaiavailability +servers: + - url: '{apiRoot}/nnssf-nssaiavailability/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +externalDocs: + description: 3GPP TS 29.531 V16.7.0; 5G System; Network Slice Selection Services; Stage 3 + url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.531/ +paths: + /nssai-availability/{nfId}: + put: + summary: Updates/replaces the NSSF with the S-NSSAIs the NF service consumer (e.g AMF)supports per TA + tags: + - NF Instance ID (Document) + operationId: NSSAIAvailabilityPut + parameters: + - name: nfId + in: path + description: Identifier of the NF service consumer instance + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + description: Parameters to update/replace at the NSSF, the S-NSSAIs supported per TA + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NssaiAvailabilityInfo' + responses: + '200': + description: OK (Successful update of SNSSAI information per TA) + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizedNssaiAvailabilityInfo' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '204': + description: No Content (No supported slices after Successful update) + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + patch: + summary: Updates an already existing S-NSSAIs per TA provided by the NF service consumer (e.g AMF) + tags: + - NF Instance ID (Document) + operationId: NSSAIAvailabilityPatch + parameters: + - name: nfId + in: path + description: Identifier of the NF service consumer instance + required: true + schema: + type: string + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + - name: Accept-Encoding + in: header + description: Accept-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + description: JSON Patch instructions to update at the NSSF, the S-NSSAIs supported per TA + required: true + content: + application/json-patch+json:: + schema: + $ref: '#/components/schemas/PatchDocument' + + responses: + '200': + description: OK (Successful update of SNSSAI information per TA) + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizedNssaiAvailabilityInfo' + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '204': + description: No Content (No supported slices after Successful update) + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + + delete: + summary: Deletes an already existing S-NSSAIs per TA provided by the NF service consumer (e.g AMF) + tags: + - NF Instance ID (Document) + operationId: NSSAIAvailabilityDelete + parameters: + - name: nfId + in: path + description: Identifier of the NF service consumer instance + required: true + schema: + type: string + + responses: + '204': + description: No Content (Successful deletion of SNSSAI information per TA) + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + default: + description: Unexpected error + + + /nssai-availability/subscriptions: + post: + summary: Creates subscriptions for notification about updates to NSSAI availability information + tags: + - Subscriptions (Collection) + operationId: NSSAIAvailabilityPost + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + description: Subscription for notification about updates to NSSAI availability information + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NssfEventSubscriptionCreateData' + callbacks: + nssaiAvailabilityNotification: + '{request.body#/nfNssaiAvailabilityUri}': + post: + parameters: + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: # contents of the callback message + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NssfEventNotification' + responses: + '204': + description: No Content (successful notification) + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + + responses: + '201': + description: Created (Successful creation of subscription for notification) + content: + application/json: + schema: + $ref: '#/components/schemas/NssfEventSubscriptionCreatedData' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnssf-nssaiavailability/v1/nssai-availability/subscriptions/{subscriptionId}' + required: true + schema: + type: string + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /nssai-availability/subscriptions/{subscriptionId}: + delete: + summary: Deletes an already existing NSSAI availability notification subscription + tags: + - Subscription ID (Document) + operationId: NSSAIAvailabilityUnsubscribe + parameters: + - name: subscriptionId + in: path + description: Identifier of the subscription for notification + required: true + schema: + type: string + + responses: + '204': + description: No Content (Successful deletion of subscription for NSSAI Availability notification) + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + default: + description: Unexpected error + + patch: + summary: updates an already existing NSSAI availability notification subscription + tags: + - Subscription ID (Document) + operationId: NSSAIAvailabilitySubModifyPatch + parameters: + - name: subscriptionId + in: path + description: Identifier of the subscription for notification + required: true + schema: + type: string + - name: Content-Encoding + in: header + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + requestBody: + description: JSON Patch instructions to update at the NSSF, the NSSAI availability notification subscription + required: true + content: + application/json-patch+json:: + schema: + $ref: '#/components/schemas/PatchDocument' + + responses: + '200': + description: OK (Successful update of NSSAI availability notification subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/NssfEventSubscriptionCreatedData' + headers: + Content-Encoding: + description: Content-Encoding, described in IETF RFC 7231 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + + /nssai-availability: + options: + summary: Discover communication options supported by NSSF for NSSAI Availability + operationId: NSSAIAvailabilityOptions + tags: + - NSSAI Availability Store + responses: + '200': + description: OK + headers: + Accept-Encoding: + description: Accept-Encoding, described in IETF RFC 7694 + schema: + type: string + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '405': + $ref: 'TS29571_CommonData.yaml#/components/responses/405' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '501': + $ref: 'TS29571_CommonData.yaml#/components/responses/501' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnssf-nssaiavailability: Access to the Nnssf_NSSAIAvailability API + + schemas: + NssaiAvailabilityInfo: + type: object + required: + - supportedNssaiAvailabilityData + properties: + supportedNssaiAvailabilityData: + type: array + items: + $ref: '#/components/schemas/SupportedNssaiAvailabilityData' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + amfSetId: + type: string + pattern: '^[0-9]{3}-[0-9]{2-3}-[A-Fa-f0-9]{2}-[0-3][A-Fa-f0-9]{2}$' + + SupportedNssaiAvailabilityData: + type: object + required: + - tai + - supportedSnssaiList + properties: + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + supportedSnssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TaiRange' + minItems: 1 + + AuthorizedNssaiAvailabilityData: + type: object + required: + - tai + - supportedSnssaiList + properties: + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + supportedSnssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + restrictedSnssaiList: + type: array + items: + $ref: '#/components/schemas/RestrictedSnssai' + minItems: 1 + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TaiRange' + minItems: 1 + + RestrictedSnssai: + type: object + required: + - homePlmnId + - sNssaiList + properties: + homePlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + sNssaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + homePlmnIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + roamingRestriction: + type: boolean + default: false + + AuthorizedNssaiAvailabilityInfo: + type: object + required: + - authorizedNssaiAvailabilityData + properties: + authorizedNssaiAvailabilityData: + type: array + items: + $ref: '#/components/schemas/AuthorizedNssaiAvailabilityData' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + NssfEventSubscriptionCreateData: + type: object + required: + - nfNssaiAvailabilityUri + - taiList + - event + properties: + nfNssaiAvailabilityUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + event: + $ref: '#/components/schemas/NssfEventType' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + amfSetId: + type: string + pattern: '^[0-9]{3}-[0-9]{2-3}-[A-Fa-f0-9]{2}-[0-3][A-Fa-f0-9]{2}$' + taiRangeList: + type: array + items: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/TaiRange' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + NssfEventSubscriptionCreatedData: + type: object + required: + - subscriptionId + properties: + subscriptionId: + type: string + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + authorizedNssaiAvailabilityData: + type: array + items: + $ref: '#/components/schemas/AuthorizedNssaiAvailabilityData' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + NssfEventNotification: + type: object + required: + - subscriptionId + - authorizedNssaiAvailabilityData + properties: + subscriptionId: + type: string + authorizedNssaiAvailabilityData: + type: array + items: + $ref: '#/components/schemas/AuthorizedNssaiAvailabilityData' + NssfEventType: + anyOf: + - type: string + enum: + - SNSSAI_STATUS_CHANGE_REPORT + - type: string + PatchDocument: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' + minItems: 1 \ No newline at end of file diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29531_Nnssf_NSSelection.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29531_Nnssf_NSSelection.yaml new file mode 100644 index 000000000..1f8162e25 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29531_Nnssf_NSSelection.yaml @@ -0,0 +1,326 @@ +openapi: 3.0.0 + +info: + version: '2.1.2' + title: 'NSSF NS Selection' + description: | + NSSF Network Slice Selection Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +security: + - {} + - oAuth2ClientCredentials: + - nnssf-nsselection +servers: + - url: '{apiRoot}/nnssf-nsselection/v2' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +externalDocs: + description: 3GPP TS 29.531 V16.7.0; 5G System; Network Slice Selection Services; Stage 3 + url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.531/ +paths: + /network-slice-information: + get: + summary: Retrieve the Network Slice Selection Information + tags: + - Network Slice Information (Document) + operationId: NSSelectionGet + parameters: + - name: nf-type + in: query + description: NF type of the NF service consumer + required: true + schema: + $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' + - name: nf-id + in: query + description: NF Instance ID of the NF service consumer + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + - name: slice-info-request-for-registration + in: query + description: Requested network slice information during Registration procedure + content: + application/json: + schema: + $ref: '#/components/schemas/SliceInfoForRegistration' + - name: slice-info-request-for-pdu-session + in: query + description: Requested network slice information during PDU session establishment procedure + content: + application/json: + schema: + $ref: '#/components/schemas/SliceInfoForPDUSession' + - name: slice-info-request-for-ue-cu + in: query + description: Requested network slice information during UE confuguration update procedure + content: + application/json: + schema: + $ref: '#/components/schemas/SliceInfoForUEConfigurationUpdate' + - name: home-plmn-id + in: query + description: PLMN ID of the HPLMN + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + - name: tai + in: query + description: TAI of the UE + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + - name: supported-features + in: query + description: Features required to be supported by the NFs in the target slice instance + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + responses: + '200': + description: OK (Successful Network Slice Selection) + content: + application/json: + schema: + $ref: '#/components/schemas/AuthorizedNetworkSliceInfo' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + description: Unexpected error + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnssf-nsselection: Access to the Nnssf_NSSelection API + schemas: + AuthorizedNetworkSliceInfo: + type: object + properties: + allowedNssaiList: + type: array + items: + $ref: '#/components/schemas/AllowedNssai' + minItems: 1 + configuredNssai: + type: array + items: + $ref: '#/components/schemas/ConfiguredSnssai' + minItems: 1 + targetAmfSet: + type: string + pattern: '^[0-9]{3}-[0-9]{2-3}-[A-Fa-f0-9]{2}-[0-3][A-Fa-f0-9]{2}$' + candidateAmfList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + rejectedNssaiInPlmn: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + rejectedNssaiInTa: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + nsiInformation: + $ref: '#/components/schemas/NsiInformation' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + nrfAmfSet: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfAmfSetNfMgtUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfAmfSetAccessTokenUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + targetAmfServiceSet: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' + + SubscribedSnssai: + type: object + required: + - subscribedSnssai + properties: + subscribedSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + defaultIndication: + type: boolean + + + AllowedSnssai: + type: object + required: + - allowedSnssai + properties: + allowedSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + nsiInformationList: + type: array + items: + $ref: '#/components/schemas/NsiInformation' + minItems: 1 + mappedHomeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + AllowedNssai: + type: object + required: + - allowedSnssaiList + - accessType + properties: + allowedSnssaiList: + type: array + items: + $ref: '#/components/schemas/AllowedSnssai' + minItems: 1 + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + + NsiInformation: + type: object + required: + - nrfId + properties: + nrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nsiId: + $ref: '#/components/schemas/NsiId' + nrfNfMgtUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nrfAccessTokenUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + + MappingOfSnssai: + type: object + required: + - servingSnssai + - homeSnssai + properties: + servingSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + homeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + + SliceInfoForRegistration: + type: object + properties: + subscribedNssai: + type: array + items: + $ref: '#/components/schemas/SubscribedSnssai' + minItems: 1 + allowedNssaiCurrentAccess: + $ref: '#/components/schemas/AllowedNssai' + allowedNssaiOtherAccess: + $ref: '#/components/schemas/AllowedNssai' + sNssaiForMapping: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + requestedNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + defaultConfiguredSnssaiInd: + type: boolean + mappingOfNssai: + type: array + items: + $ref: '#/components/schemas/MappingOfSnssai' + minItems: 1 + requestMapping: + type: boolean + + SliceInfoForPDUSession: + type: object + required: + - sNssai + - roamingIndication + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + roamingIndication: + $ref: '#/components/schemas/RoamingIndication' + homeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + SliceInfoForUEConfigurationUpdate: + type: object + properties: + subscribedNssai: + type: array + items: + $ref: '#/components/schemas/SubscribedSnssai' + minItems: 1 + allowedNssaiCurrentAccess: + $ref: '#/components/schemas/AllowedNssai' + allowedNssaiOtherAccess: + $ref: '#/components/schemas/AllowedNssai' + defaultConfiguredSnssaiInd: + type: boolean + requestedNssai: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + mappingOfNssai: + type: array + items: + $ref: '#/components/schemas/MappingOfSnssai' + minItems: 1 + + ConfiguredSnssai: + type: object + required: + - configuredSnssai + properties: + configuredSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + mappedHomeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + + + RoamingIndication: + anyOf: + - type: string + enum: + - NON_ROAMING + - LOCAL_BREAKOUT + - HOME_ROUTED_ROAMING + - type: string + NsiId: + type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29544_Nspaf_SecuredPacket.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29544_Nspaf_SecuredPacket.yaml new file mode 100644 index 000000000..89c8b9900 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29544_Nspaf_SecuredPacket.yaml @@ -0,0 +1,94 @@ +openapi: 3.0.0 +info: + title: 'Nspaf_SecuredPacket' + version: '1.0.1' + description: | + Nspaf Secured Packet Service. + 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 29.544, SP-AF Services, version V16.2.0 + url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.544/ +servers: + - url: '{apiRoot}/nspaf-secured-packet/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nspaf-secured-packet +paths: + /{supi}/provide-secured-packet: + post: + summary: request generation of a secured packet + operationId: ProvideSecuredPacket + tags: + - SecuredPacket Generation (Custom Operation) + parameters: + - name: supi + in: path + description: SUPI of the user + required: true + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UiccConfigurationParameter' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/SecuredPacket' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nspaf-secured-packet: Access to the nspaf-secured-packet API + schemas: + +# COMPLEX TYPES: + + UiccConfigurationParameter: + type: object + oneOf: + - required: [routingId ] + - required: [steeringContainer ] + properties: + routingId: + $ref: '#/components/schemas/RoutingId' + steeringContainer: + type: array + items: + $ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SteeringInfo' + minItems: 1 + +# SIMPLE TYPES: + + RoutingId: + type: string + pattern: '^[0-9]{1,4}$' + +# ENUMS: + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29551_Nnef_PFDmanagement.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29551_Nnef_PFDmanagement.yaml new file mode 100644 index 000000000..00296d5d2 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29551_Nnef_PFDmanagement.yaml @@ -0,0 +1,417 @@ +openapi: 3.0.0 +info: + title: Nnef_PFDmanagement Service API + version: 1.1.2 + description: | + Packet Flow Description Management Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +# +externalDocs: + description: 3GPP TS 29.551 v16.8.0, 5G System; Packet Flow Description Management Service + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.551/' +# +servers: + - url: '{apiRoot}/nnef-pfdmanagement/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 +security: + - {} + - oAuth2ClientCredentials: + - nnef-pfdmanagement +paths: + /applications: + get: + summary: Retrieve PFDs for all applications or for one or multiple applications with query parameter. + tags: + - PFD of applications + operationId: Nnef_PFDmanagement_AllFetch + parameters: + - name: application-ids + description: The required application identifier(s) for the returned PFDs. + in: query + required: true + schema: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: The PFDs for one or more application identifier(s) in the request URI are returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdDataForApp' + minItems: 0 + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + /applications/{appId}: + get: + summary: Retrieve the PFD for an application. + tags: + - Individual application PFD + operationId: Nnef_PFDmanagement_IndAppFetch + parameters: + - name: appId + description: The required application identifier(s) for the returned PFDs. + in: path + required: true + schema: + type: string + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + responses: + '200': + description: A representation of PFDs for an application in the request URI is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdDataForApp' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + /subscriptions: + post: + summary: Subscribe the notification of PFD changes. + tags: + - PFD subscriptions + operationId: Nnef_PFDmanagement_CreateSubscr + requestBody: + description: a PfdSubscription resource to be created. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + callbacks: + PfdChangeNotification: + '{request.body#/notifyUri}': + post: + summary: Notification of PFD change. + tags: + - PfdChangeNotification data + operationId: Nnef_PFDmanagement_Notify + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdChangeNotification' + minItems: 1 + responses: + '200': + description: The PFD operation in the notification is performed and the PfdChangeReport indicates failure reason. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/PfdChangeReport' + minItems: 1 + '204': + description: The PFD operation in the notification is performed successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + + responses: + '201': + description: The creation of a PfdSubscription resource is confirmed and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + headers: + Location: + description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnef-pfdmanagement/v1/subscriptions/{subscriptionId}' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + + /subscriptions/{subscriptionId}: + put: + summary: Updates/replaces an existing subscription resource + tags: + - Individual PFD subscription + operationId: Nnef_PFDmanagement_ModifySubscr + parameters: + - name: subscriptionId + description: Identify the subscription. + in: path + required: true + schema: + type: string + requestBody: + description: Parameters to update/replace the existing subscription + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + responses: + '200': + description: OK (Successful update of the subscription) + content: + application/json: + schema: + $ref: '#/components/schemas/PfdSubscription' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + delete: + summary: Delete a subscription of PFD change notification. + tags: + - Individual PFD subscription + operationId: Nnef_PFDmanagement_Unsubscribe + parameters: + - name: subscriptionId + description: Identify the subscription. + in: path + required: true + schema: + type: string + responses: + '204': + description: The PfdSubscription resource matching the subscriptionId was deleted successfully. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnef-pfdmanagement: Access to the Nnef_PFDmanagement API + schemas: +# +# STRUCTURED DATA TYPES +# + PfdContent: + type: object + properties: + pfdId: + type: string + description: Identifies a PDF of an application identifier. + flowDescriptions: + type: array + items: + type: string + minItems: 1 + description: Represents a 3-tuple with protocol, server ip and server port for UL/DL application traffic. + urls: + type: array + items: + type: string + minItems: 1 + description: Indicates a URL or a regular expression which is used to match the significant parts of the URL. + domainNames: + type: array + items: + type: string + minItems: 1 + description: Indicates an FQDN or a regular expression as a domain name matching criteria. + dnProtocol: + $ref: 'TS29122_PfdManagement.yaml#/components/schemas/DomainNameProtocol' + + + PfdDataForApp: + type: object + properties: + applicationId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + pfds: + type: array + items: + $ref: '#/components/schemas/PfdContent' + minItems: 1 + cachingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + required: + - applicationId + - pfds + + PfdSubscription: + type: object + properties: + applicationIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + required: + - notifyUri + - supportedFeatures + + PfdChangeNotification: + type: object + properties: + applicationId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + removalFlag: + type: boolean + default: false + partialFlag: + type: boolean + default: false + pfds: + type: array + items: + $ref: '#/components/schemas/PfdContent' + minItems: 1 + required: + - applicationId + + PfdChangeReport: + type: object + properties: + pfdError: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + applicationId: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + required: + - pfdError + - applicationId diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29554_Npcf_BDTPolicyControl.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29554_Npcf_BDTPolicyControl.yaml new file mode 100644 index 000000000..17c6f1e62 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29554_Npcf_BDTPolicyControl.yaml @@ -0,0 +1,423 @@ +openapi: 3.0.0 +info: + title: Npcf_BDTPolicyControl Service API + version: 1.1.3 + description: | + PCF BDT Policy Control Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +# +externalDocs: + description: 3GPP TS 29.554 V16.7.0; 5G System; Background Data Transfer Policy Control Service. + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.554/' +# +servers: + - url: '{apiRoot}/npcf-bdtpolicycontrol/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - npcf-bdtpolicycontrol +paths: + /bdtpolicies: + post: + summary: Create a new Individual BDT policy + operationId: CreateBDTPolicy + tags: + - BDT policies (Collection) + requestBody: + description: Contains information for the creation of a new Individual BDT policy resource. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BdtReqData' + responses: + '201': + description: Background data transfer policies offered to an ASP. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicy' + headers: + Location: + description: 'Contains the URI of the created individual BDT policy resource, according to the structure: {apiRoot}/npcf-bdtpolicycontrol/v1/bdtpolicies/{bdtPolicyId}' + required: true + schema: + type: string +# +# Error scenarios POST +# + '303': + description: See Other. The result of the POST request would be equivalent to the existing Individual BDT policy resource. + headers: + Location: + description: 'Contains the URI of the existing individual BDT policy resource.' + required: true + schema: + type: string + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +# End error scenarios POST +# + callbacks: + BdtNotification: + '{$request.body#/notifUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Notification' + responses: + '204': + description: No Content, a reception of the BDT notification was successful. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# + /bdtpolicies/{bdtPolicyId}: + get: + summary: Read an Individual BDT policy + operationId: GetBDTPolicy + tags: + - Individual BDT policy (Document) + parameters: + - name: bdtPolicyId + description: String identifying the individual BDT policy resource in the PCF. + in: path + required: true + schema: + type: string + responses: + '200': + description: Background data transfer policies offered to and selected by an ASP. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicy' +# +# Redirection scenarios GET +# + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' +# +# Error scenarios GET +# + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +# End error scenarios GET +# + patch: + summary: Update an Individual BDT policy + operationId: UpdateBDTPolicy + tags: + - Individual BDT policy (Document) + parameters: + - name: bdtPolicyId + description: String identifying the individual BDT policy resource in the PCF. + in: path + required: true + schema: + type: string + requestBody: + description: Contains modification instruction to be performed on the BdtPolicy data structure to select a transfer policy and in addition, may indicate whether the BDT warning notification is enabled or disabled. + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/PatchBdtPolicy' + responses: + '200': + description: The Individual BDT Policy resource is modified and a representation of that resource is returned. + content: + application/json: + schema: + $ref: '#/components/schemas/BdtPolicy' + '204': + description: The Individual BDT Policy resource is modified. +# +# Redirection scenarios PATCH +# + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' +# +# Error scenarios PATCH +# + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +# +# End error scenarios PATCH +# +# +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + npcf-bdtpolicycontrol: Access to the Npcf_BDTPolicyControl API + schemas: +# +# Structured data types +# + BdtPolicy: + description: Represents an Individual BDT policy resource. + type: object + properties: + bdtPolData: + $ref: '#/components/schemas/BdtPolicyData' + bdtReqData: + $ref: '#/components/schemas/BdtReqData' +# + BdtReqData: + description: Contains service requirements for creation a new Individual BDT policy resource. + type: object + required: + - aspId + - desTimeInt + - numOfUes + - volPerUe + properties: + aspId: + $ref: '#/components/schemas/AspId' + desTimeInt: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + interGroupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + notifUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + nwAreaInfo: + $ref: '#/components/schemas/NetworkAreaInfo' + numOfUes: + description: Indicates a number of UEs. + type: integer + volPerUe: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + trafficDes: + $ref: 'TS29122_ResourceManagementOfBdt.yaml#/components/schemas/TrafficDescriptor' + warnNotifReq: + description: Indicates whether the BDT warning notification is enabled or disabled. + type: boolean + default: false +# + BdtPolicyData: + description: Describes the authorization data of an Individual BDT policy resource. + type: object + required: + - bdtRefId + - transfPolicies + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + transfPolicies: + description: Contains transfer policies. + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + selTransPolicyId: + description: Contains an identity of the selected transfer policy. + type: integer + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' +# + PatchBdtPolicy: + description: Describes the updates in authorization data of an Individual BDT Policy created by the PCF. + type: object + properties: + bdtPolData: + $ref: '#/components/schemas/BdtPolicyDataPatch' + bdtReqData: + $ref: '#/components/schemas/BdtReqDataPatch' +# + BdtPolicyDataPatch: + description: A JSON Merge Patch body schema containing modification instruction to be performed on the bdtPolData attribute of the BdtPolicy data structure to select a transfer policy. Adds selTransPolicyId to BdtPolicyData data structure. + type: object + required: + - selTransPolicyId + properties: + selTransPolicyId: + description: Contains an identity (i.e. transPolicyId value) of the selected transfer policy. If the BdtNotification_5G feature is supported value 0 indicates that no transfer policy is selected. + type: integer +# + BdtReqDataPatch: + description: A JSON Merge Patch body schema containing modification instruction to be performed on the bdtReqData attribute of the BdtPolicy data structure to indicate whether the BDT warning notification is enabled or disabled. Modifies warnNotifReq from BdtReqData data structure. + type: object + properties: + warnNotifReq: + description: Indicates whether the BDT warning notification is enabled or disabled. + type: boolean +# + TransferPolicy: + description: Describes a transfer policy. + type: object + required: + - ratingGroup + - recTimeInt + - transPolicyId + properties: + maxBitRateDl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maxBitRateUl: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ratingGroup: + description: Indicates a rating group for the recommended time window. + type: integer + recTimeInt: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + transPolicyId: + description: Contains an identity of a transfer policy. + type: integer + NetworkAreaInfo: + description: Describes a network area information in which the NF service consumer requests the number of UEs. + type: object + properties: + ecgis: + description: Contains a list of E-UTRA cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + minItems: 1 + ncgis: + description: Contains a list of NR cell identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + minItems: 1 + gRanNodeIds: + description: Contains a list of NG RAN nodes. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + minItems: 1 + tais: + description: Contains a list of tracking area identities. + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 +# + Notification: + description: Describes a BDT notification. + type: object + required: + - bdtRefId + properties: + bdtRefId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + candPolicies: + description: Contains a list of the candidate transfer policies from which the AF may select a new transfer policy due to a network performance is below the criteria set by the operator. + type: array + items: + $ref: '#/components/schemas/TransferPolicy' + minItems: 1 + nwAreaInfo: + $ref: '#/components/schemas/NetworkAreaInfo' + timeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' +# +# Simple data types +# + AspId: + description: Contains an identity of an application service provider. + type: string +# +# diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29571_CommonData.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29571_CommonData.yaml new file mode 100644 index 000000000..d57ef646e --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29571_CommonData.yaml @@ -0,0 +1,2832 @@ +openapi: 3.0.0 + +info: + version: '1.2.4' + title: 'Common Data Types' + description: | + Common Data Types for Service Based Interfaces. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.571 Common Data Types for Service Based Interfaces, version 16.8.0 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.571/' + +paths: {} +components: + schemas: + +# +# Common Data Types for Generic usage definitiones as defined in clause 5.2 +# + +# +# COMMON SIMPLE DATA TYPES +# + Binary: + format: binary + type: string + BinaryRm: + format: binary + type: string + nullable: true + Bytes: + format: byte + type: string + BytesRm: + format: byte + type: string + nullable: true + Date: + format: date + type: string + DateRm: + format: date + type: string + nullable: true + DateTime: + format: date-time + type: string + DateTimeRm: + format: date-time + type: string + nullable: true + DiameterIdentity: + type: string + pattern: '^([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}$' + DiameterIdentityRm: + type: string + pattern: '^([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}$' + nullable: true + Double: + format: double + type: number + DoubleRm: + format: double + type: number + nullable: true + DurationSec: + type: integer + DurationSecRm: + type: integer + nullable: true + Float: + format: float + type: number + FloatRm: + format: float + type: number + nullable: true + Int32: + format: int32 + type: integer + Int32Rm: + format: int32 + type: integer + nullable: true + Int64: + type: integer + format: int64 + Int64Rm: + format: int64 + type: integer + nullable: true + 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' + Ipv4AddrRm: + 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' + nullable: true + Ipv4AddrMask: + 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])(\/([0-9]|[1-2][0-9]|3[0-2]))$' + example: '198.51.0.0/16' + Ipv4AddrMaskRm: + 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])(\/([0-9]|[1-2][0-9]|3[0-2]))$' + example: '198.51.0.0/16' + nullable: true + 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' + Ipv6AddrRm: + 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' + nullable: true + 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' + Ipv6PrefixRm: + 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}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$' + nullable: true + MacAddr48: + type: string + pattern: '^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$' + MacAddr48Rm: + type: string + pattern: '^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$' + nullable: true + SupportedFeatures: + type: string + pattern: '^[A-Fa-f0-9]*$' + Uinteger: + type: integer + minimum: 0 + UintegerRm: + type: integer + minimum: 0 + nullable: true + Uint16: + type: integer + minimum: 0 + maximum: 65535 + Uint16Rm: + type: integer + minimum: 0 + maximum: 65535 + nullable: true + Uint32: + type: integer + minimum: 0 + maximum: 4294967295 #(2^32)-1 + Uint32Rm: + format: int32 + type: integer + minimum: 0 + maximum: 4294967295 #(2^32)-1 + nullable: true + Uint64: + type: integer + minimum: 0 + maximum: 18446744073709551615 #(2^64)-1 + Uint64Rm: + type: integer + minimum: 0 + maximum: 18446744073709551615 #(2^64)-1 + nullable: true + Uri: + type: string + UriRm: + type: string + nullable: true + VarUeId: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|gci-.+|gli-.+|.+)$' + VarUeIdRm: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|gci-.+|gli-.+|.+)$' + nullable: true + TimeZone: + type: string + TimeZoneRm: + type: string + nullable: true + StnSr: + type: string + StnSrRm: + type: string + nullable: true + CMsisdn: + type: string + pattern: '^[0-9]{5,15}$' + CMsisdnRm: + type: string + pattern: '^[0-9]{5,15}$' + nullable: true + DayOfWeek: + type: integer + minimum: 1 + maximum: 7 + description: integer between and including 1 and 7 denoting a weekday. 1 shall indicate Monday, and the subsequent weekdays shall be indicated with the next higher numbers. 7 shall indicate Sunday. + TimeOfDay: + type: string + description: String with format partial-time or full-time as defined in clause 5.6 of IETF RFC 3339. Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). +# +# COMMON ENUMERATED DATA TYPES +# + + PatchOperation: + anyOf: + - type: string + enum: + - add + - copy + - move + - remove + - replace + - test + - type: string + UriScheme: + anyOf: + - type: string + enum: + - http + - https + - type: string + ChangeType: + anyOf: + - type: string + enum: + - ADD + - MOVE + - REMOVE + - REPLACE + - type: string + HttpMethod: + anyOf: + - type: string + enum: + - GET + - POST + - PUT + - DELETE + - PATCH + - OPTIONS + - HEAD + - CONNECT + - TRACE + - type: string + NullValue: + enum: + - null + +# +# COMMON STRUCTURED DATA TYPES +# + + ProblemDetails: + type: object + properties: + type: + $ref: '#/components/schemas/Uri' + title: + type: string + status: + type: integer + detail: + type: string + instance: + $ref: '#/components/schemas/Uri' + cause: + type: string + invalidParams: + type: array + items: + $ref: '#/components/schemas/InvalidParam' + minItems: 1 + supportedFeatures: + $ref: '#/components/schemas/SupportedFeatures' + accessTokenError: + $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenErr' + accessTokenRequest: + $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenReq' + nrfId: + type: string + Link: + type: object + properties: + href: + $ref: '#/components/schemas/Uri' + LinkRm: + type: object + properties: + href: + $ref: '#/components/schemas/Uri' + nullable: true + PatchItem: + type: object + properties: + op: + $ref: '#/components/schemas/PatchOperation' + path: + type: string + from: + type: string + value: {} + required: + - op + - path + LinksValueSchema: + oneOf: + - type: array + items: + $ref: '#/components/schemas/Link' + minItems: 1 + - $ref: '#/components/schemas/Link' + SelfLink: + type: object + properties: + self: + $ref: '#/components/schemas/Link' + required: + - self + InvalidParam: + type: object + properties: + param: + type: string + reason: + type: string + required: + - param + ChangeItem: + type: object + properties: + op: + $ref: '#/components/schemas/ChangeType' + path: + type: string + from: + type: string + origValue: {} + newValue: {} + required: + - op + - path + NotifyItem: + type: object + required: + - resourceId + - changes + properties: + resourceId: + $ref: '#/components/schemas/Uri' + changes: + type: array + items: + $ref: '#/components/schemas/ChangeItem' + minItems: 1 + ComplexQuery: + oneOf: + - $ref: '#/components/schemas/Cnf' + - $ref: '#/components/schemas/Dnf' + Cnf: + type: object + required: + - cnfUnits + properties: + cnfUnits: + type: array + items: + $ref: '#/components/schemas/CnfUnit' + minItems: 1 + Dnf: + type: object + required: + - dnfUnits + properties: + dnfUnits: + type: array + items: + $ref: '#/components/schemas/DnfUnit' + minItems: 1 + CnfUnit: + type: object + required: + - cnfUnit + properties: + cnfUnit: + type: array + items: + $ref: '#/components/schemas/Atom' + minItems: 1 + DnfUnit: + type: object + required: + - dnfUnit + properties: + dnfUnit: + type: array + items: + $ref: '#/components/schemas/Atom' + minItems: 1 + Atom: + type: object + required: + - attr + - value + properties: + attr: + type: string + value: {} + negative: + type: boolean + PatchResult: + type: object + required: + - report + properties: + report: + type: array + items: + $ref: '#/components/schemas/ReportItem' + minItems: 1 + ReportItem: + type: object + required: + - path + properties: + path: + type: string + HalTemplate: + type: object + required: + - method + properties: + title: + type: string + method: + $ref: '#/components/schemas/HttpMethod' + contentType: + type: string + properties: + type: array + items: + $ref: '#/components/schemas/Property' + minItems: 1 + Property: + type: object + required: + - name + properties: + name: + type: string + required: + type: boolean + regex: + type: string + value: + type: string + RedirectResponse: + type: object + properties: + cause: + type: string + targetScp: + $ref: '#/components/schemas/Uri' + + + + +# +# Data Types related to Subscription, Identification and Numbering as defined in clause 5.3 +# + +# +# SIMPLE DATA TYPES +# + Dnn: + type: string + DnnRm: + type: string + nullable: true + WildcardDnn: + type: string + pattern: '^[*]$' + WildcardDnnRm: + type: string + pattern: '^[*]$' + nullable: true + Gpsi: + type: string + pattern: '^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$' + GpsiRm: + type: string + pattern: '^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$' + nullable: true + GroupId: + type: string + pattern: '^[A-Fa-f0-9]{8}-[0-9]{3}-[0-9]{2,3}-([A-Fa-f0-9][A-Fa-f0-9]){1,10}$' + GroupIdRm: + type: string + pattern: '^[A-Fa-f0-9]{8}-[0-9]{3}-[0-9]{2,3}-([A-Fa-f0-9][A-Fa-f0-9]){1,10}$' + nullable: true + ExternalGroupId: + type: string + pattern: '^extgroupid-[^@]+@[^@]+$' + ExternalGroupIdRm: + type: string + pattern: '^extgroupid-[^@]+@[^@]+$' + nullable: true + Pei: + type: string + pattern: '^(imei-[0-9]{15}|imeisv-[0-9]{16}|mac((-[0-9a-fA-F]{2}){6})(-untrusted)?|eui((-[0-9a-fA-F]{2}){8})|.+)$' + PeiRm: + type: string + pattern: '^(imei-[0-9]{15}|imeisv-[0-9]{16}|mac((-[0-9a-fA-F]{2}){6})(-untrusted)?|eui((-[0-9a-fA-F]{2}){8})|.+)$' + nullable: true + Supi: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gci-.+|gli-.+|.+)$' + SupiRm: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gci-.+|gli-.+|.+)$' + nullable: true + NfInstanceId: + type: string + format: uuid + AmfId: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + AmfRegionId: + type: string + pattern: '^[A-Fa-f0-9]{2}$' + AmfSetId: + type: string + pattern: '^[0-3][A-Fa-f0-9]{2}$' + RfspIndex: + type: integer + minimum: 1 + maximum: 256 + RfspIndexRm: + type: integer + minimum: 1 + maximum: 256 + nullable: true + NfGroupId: + type: string + MtcProviderInformation: + type: string + CagId: + type: string + pattern: '^[A-Fa-f0-9]{8}$' + SupiOrSuci: + type: string + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.+|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$' + +# +# STRUCTURED DATA TYPES +# + Guami: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnIdNid' + amfId: + $ref: '#/components/schemas/AmfId' + required: + - plmnId + - amfId + GuamiRm: + anyOf: + - $ref: '#/components/schemas/Guami' + - $ref: '#/components/schemas/NullValue' + NetworkId: + type: object + properties: + mnc: + $ref: '#/components/schemas/Mnc' + mcc: + $ref: '#/components/schemas/Mcc' + + +# +# Data Types related to 5G Network as defined in clause 5.4 +# + +# +# SIMPLE DATA TYPES +# + ApplicationId: + type: string + ApplicationIdRm: + type: string + nullable: true + PduSessionId: + type: integer + minimum: 0 + maximum: 255 + Mcc: + type: string + pattern: '^\d{3}$' + MccRm: + type: string + pattern: '^\d{3}$' + nullable: true + Mnc: + type: string + pattern: '^\d{2,3}$' + MncRm: + type: string + pattern: '^\d{2,3}$' + nullable: true + Tac: + type: string + pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' + TacRm: + type: string + pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' + nullable: true + EutraCellId: + type: string + pattern: '^[A-Fa-f0-9]{7}$' + EutraCellIdRm: + type: string + pattern: '^[A-Fa-f0-9]{7}$' + nullable: true + NrCellId: + type: string + pattern: '^[A-Fa-f0-9]{9}$' + NrCellIdRm: + type: string + pattern: '^[A-Fa-f0-9]{9}$' + nullable: true + Dnai: + type: string + DnaiRm: + type: string + nullable: true + 5GMmCause: + $ref: '#/components/schemas/Uinteger' + AmfName: + type: string + AreaCode: + type: string + AreaCodeRm: + type: string + nullable: true + N3IwfId: + type: string + pattern: '^[A-Fa-f0-9]+$' + WAgfId: + type: string + pattern: '^[A-Fa-f0-9]+$' + TngfId: + type: string + pattern: '^[A-Fa-f0-9]+$' + NgeNbId: + type: string + pattern: '^(MacroNGeNB-[A-Fa-f0-9]{5}|LMacroNGeNB-[A-Fa-f0-9]{6}|SMacroNGeNB-[A-Fa-f0-9]{5})$' + Nid: + type: string + pattern: '^[A-Fa-f0-9]{11}$' + NidRm: + type: string + pattern: '^[A-Fa-f0-9]{11}$' + nullable: true + NfSetId: + type: string + NfServiceSetId: + type: string + PlmnAssiUeRadioCapId: + $ref: '#/components/schemas/Bytes' + ManAssiUeRadioCapId: + $ref: '#/components/schemas/Bytes' + TypeAllocationCode: + type: string + pattern: '^[0-9]{8}$' + HfcNId: + type: string + maxLength: 6 + HfcNIdRm: + type: string + maxLength: 6 + nullable: true + ENbId: + type: string + pattern: '^(MacroeNB-[A-Fa-f0-9]{5}|LMacroeNB-[A-Fa-f0-9]{6}|SMacroeNB-[A-Fa-f0-9]{5}|HomeeNB-[A-Fa-f0-9]{7})$' + Gli: + $ref: '#/components/schemas/Bytes' + Gci: + type: string + +# +# ENUMERATED DATA TYPES +# + + AccessType: + type: string + enum: + - 3GPP_ACCESS + - NON_3GPP_ACCESS + AccessTypeRm: + anyOf: + - $ref: '#/components/schemas/AccessType' + - $ref: '#/components/schemas/NullValue' + RatType: + anyOf: + - type: string + enum: + - NR + - EUTRA + - WLAN + - VIRTUAL + - NBIOT + - WIRELINE + - WIRELINE_CABLE + - WIRELINE_BBF + - LTE-M + - NR_U + - EUTRA_U + - TRUSTED_N3GA + - TRUSTED_WLAN + - UTRA + - GERA + - type: string + RatTypeRm: + anyOf: + - $ref: '#/components/schemas/RatType' + - $ref: '#/components/schemas/NullValue' + PduSessionType: + anyOf: + - type: string + enum: + - IPV4 + - IPV6 + - IPV4V6 + - UNSTRUCTURED + - ETHERNET + - type: string + PduSessionTypeRm: + anyOf: + - $ref: '#/components/schemas/PduSessionType' + - $ref: '#/components/schemas/NullValue' + UpIntegrity: + anyOf: + - type: string + enum: + - REQUIRED + - PREFERRED + - NOT_NEEDED + - type: string + UpIntegrityRm: + anyOf: + - $ref: '#/components/schemas/UpIntegrity' + - $ref: '#/components/schemas/NullValue' + UpConfidentiality: + anyOf: + - type: string + enum: + - REQUIRED + - PREFERRED + - NOT_NEEDED + - type: string + UpConfidentialityRm: + anyOf: + - $ref: '#/components/schemas/UpConfidentiality' + - $ref: '#/components/schemas/NullValue' + SscMode: + anyOf: + - type: string + enum: + - SSC_MODE_1 + - SSC_MODE_2 + - SSC_MODE_3 + - type: string + SscModeRm: + anyOf: + - $ref: '#/components/schemas/SscMode' + - $ref: '#/components/schemas/NullValue' + DnaiChangeType: + anyOf: + - type: string + enum: + - EARLY + - EARLY_LATE + - LATE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - EARLY: Early notification of UP path reconfiguration. + - EARLY_LATE: Early and late notification of UP path reconfiguration. This value shall only be present in the subscription to the DNAI change event. + - LATE: Late notification of UP path reconfiguration. + DnaiChangeTypeRm: + anyOf: + - $ref: '#/components/schemas/DnaiChangeType' + - $ref: '#/components/schemas/NullValue' + RestrictionType: + anyOf: + - type: string + enum: + - ALLOWED_AREAS + - NOT_ALLOWED_AREAS + - type: string + RestrictionTypeRm: + anyOf: + - $ref: '#/components/schemas/RestrictionType' + - $ref: '#/components/schemas/NullValue' + CoreNetworkType: + anyOf: + - type: string + enum: + - 5GC + - EPC + - type: string + CoreNetworkTypeRm: + anyOf: + - $ref: '#/components/schemas/CoreNetworkType' + - $ref: '#/components/schemas/NullValue' + PresenceState: + anyOf: + - type: string + enum: + - IN_AREA + - OUT_OF_AREA + - UNKNOWN + - INACTIVE + - type: string + StationaryIndication: + anyOf: + - type: string + enum: + - STATIONARY + - MOBILE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - STATIONARY: Identifies the UE is stationary + - MOBILE: Identifies the UE is mobile + StationaryIndicationRm: + anyOf: + - $ref: '#/components/schemas/StationaryIndication' + - $ref: '#/components/schemas/NullValue' + ScheduledCommunicationType: + anyOf: + - type: string + enum: + - DOWNLINK_ONLY + - UPLINK_ONLY + - BIDIRECTIONAL + - type: string + ScheduledCommunicationTypeRm: + anyOf: + - $ref: '#/components/schemas/ScheduledCommunicationType' + - $ref: '#/components/schemas/NullValue' + TrafficProfile: + anyOf: + - type: string + enum: + - SINGLE_TRANS_UL + - SINGLE_TRANS_DL + - DUAL_TRANS_UL_FIRST + - DUAL_TRANS_DL_FIRST + - MULTI_TRANS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - SINGLE_TRANS_UL: Uplink single packet transmission. + - SINGLE_TRANS_DL: Downlink single packet transmission. + - DUAL_TRANS_UL_FIRST: Dual packet transmission, firstly uplink packet transmission with subsequent downlink packet transmission. + - DUAL_TRANS_DL_FIRST: Dual packet transmission, firstly downlink packet transmission with subsequent uplink packet transmission. + TrafficProfileRm: + anyOf: + - $ref: '#/components/schemas/TrafficProfile' + - $ref: '#/components/schemas/NullValue' + LcsServiceAuth: + anyOf: + - type: string + enum: + - "LOCATION_ALLOWED_WITH_NOTIFICATION" + - "LOCATION_ALLOWED_WITHOUT_NOTIFICATION" + - "LOCATION_ALLOWED_WITHOUT_RESPONSE" + - "LOCATION_RESTRICTED_WITHOUT_RESPONSE" + - "NOTIFICATION_ONLY" + - "NOTIFICATION_AND_VERIFICATION_ONLY" + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - "LOCATION_ALLOWED_WITH_NOTIFICATION": Location allowed with notification + - "LOCATION_ALLOWED_WITHOUT_NOTIFICATION": Location allowed without notification + - "LOCATION_ALLOWED_WITHOUT_RESPONSE": Location with notification and privacy verification; location allowed if no response + - "LOCATION_RESTRICTED_WITHOUT_RESPONSE": Location with notification and privacy verification; location restricted if no response + - "NOTIFICATION_ONLY": Notification only + - "NOTIFICATION_AND_VERIFICATION_ONLY": Notification and privacy verification only + UeAuth: + anyOf: + - type: string + enum: + - AUTHORIZED + - NOT_AUTHORIZED + - type: string + DlDataDeliveryStatus: + anyOf: + - type: string + enum: + - BUFFERED + - TRANSMITTED + - DISCARDED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - BUFFERED: The first downlink data is buffered with extended buffering matching the source of the downlink traffic. + - TRANSMITTED: The first downlink data matching the source of the downlink traffic is transmitted after previous buffering or discarding of corresponding packet(s) because the UE of the PDU Session becomes ACTIVE, and buffered data can be delivered to UE. + - DISCARDED: The first downlink data matching the source of the downlink traffic is discarded because the Extended Buffering time, as determined by the SMF, expires or the amount of downlink data to be buffered is exceeded. + DlDataDeliveryStatusRm: + anyOf: + - $ref: '#/components/schemas/DlDataDeliveryStatus' + - $ref: '#/components/schemas/NullValue' + AuthStatus: + anyOf: + - type: string + enum: + - EAP_SUCCESS + - EAP_FAILURE + - PENDING + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - "EAP_SUCCESS": The NSSAA status is EAP-Success. + - "EAP_FAILURE": The NSSAA status is EAP-Failure. + - "PENDING": The NSSAA status is Pending. + +# +# STRUCTURED DATA TYPES +# + + Snssai: + type: object + properties: + sst: + type: integer + minimum: 0 + maximum: 255 + sd: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + required: + - sst + + PlmnId: + type: object + properties: + mcc: + $ref: '#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + required: + - mcc + - mnc + PlmnIdRm: + anyOf: + - $ref: '#/components/schemas/PlmnId' + - $ref: '#/components/schemas/NullValue' + Tai: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + tac: + $ref: '#/components/schemas/Tac' + nid: + $ref: '#/components/schemas/Nid' + required: + - plmnId + - tac + TaiRm: + anyOf: + - $ref: '#/components/schemas/Tai' + - $ref: '#/components/schemas/NullValue' + Ecgi: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + # PLMN Identity + eutraCellId: + $ref: '#/components/schemas/EutraCellId' + nid: + $ref: '#/components/schemas/Nid' + required: + - plmnId + - eutraCellId + EcgiRm: + anyOf: + - $ref: '#/components/schemas/Ecgi' + - $ref: '#/components/schemas/NullValue' + Ncgi: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + nrCellId: + $ref: '#/components/schemas/NrCellId' + nid: + $ref: '#/components/schemas/Nid' + required: + - plmnId + - nrCellId + NcgiRm: + anyOf: + - $ref: '#/components/schemas/Ncgi' + - $ref: '#/components/schemas/NullValue' + UserLocation: + type: object + properties: + eutraLocation: + $ref: '#/components/schemas/EutraLocation' + nrLocation: + $ref: '#/components/schemas/NrLocation' + n3gaLocation: + $ref: '#/components/schemas/N3gaLocation' + EutraLocation: + type: object + properties: + tai: + $ref: '#/components/schemas/Tai' + ignoreTai: + type: boolean + default: false + ecgi: + $ref: '#/components/schemas/Ecgi' + ignoreEcgi: + type: boolean + default: false + ageOfLocationInformation: + type: integer + minimum: 0 + maximum: 32767 + ueLocationTimestamp: + $ref: '#/components/schemas/DateTime' + geographicalInformation: + type: string + pattern: '^[0-9A-F]{16}$' + geodeticInformation: + type: string + pattern: '^[0-9A-F]{20}$' + globalNgenbId: + $ref: '#/components/schemas/GlobalRanNodeId' + globalENbId: + $ref: '#/components/schemas/GlobalRanNodeId' + required: + - tai + - ecgi + EutraLocationRm: + anyOf: + - $ref: '#/components/schemas/EutraLocation' + - $ref: '#/components/schemas/NullValue' + NrLocation: + type: object + properties: + tai: + $ref: '#/components/schemas/Tai' + ncgi: + $ref: '#/components/schemas/Ncgi' + ageOfLocationInformation: + type: integer + minimum: 0 + maximum: 32767 + ueLocationTimestamp: + $ref: '#/components/schemas/DateTime' + geographicalInformation: + type: string + pattern: '^[0-9A-F]{16}$' + geodeticInformation: + type: string + pattern: '^[0-9A-F]{20}$' + globalGnbId: + $ref: '#/components/schemas/GlobalRanNodeId' + required: + - tai + - ncgi + NrLocationRm: + anyOf: + - $ref: '#/components/schemas/NrLocation' + - $ref: '#/components/schemas/NullValue' + N3gaLocation: + type: object + properties: + n3gppTai: + $ref: '#/components/schemas/Tai' + n3IwfId: + type: string + pattern: '^[A-Fa-f0-9]+$' + ueIpv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + ueIpv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + portNumber: + $ref: '#/components/schemas/Uinteger' + tnapId: + $ref: '#/components/schemas/TnapId' + twapId: + $ref: '#/components/schemas/TwapId' + hfcNodeId: + $ref: '#/components/schemas/HfcNodeId' + gli: + $ref: '#/components/schemas/Gli' + w5gbanLineType: + $ref: '#/components/schemas/LineType' + gci: + $ref: '#/components/schemas/Gci' + UpSecurity: + type: object + properties: + upIntegr: + $ref: '#/components/schemas/UpIntegrity' + upConfid: + $ref: '#/components/schemas/UpConfidentiality' + required: + - upIntegr + - upConfid + UpSecurityRm: + anyOf: + - $ref: '#/components/schemas/UpSecurity' + - $ref: '#/components/schemas/NullValue' + NgApCause: + type: object + properties: + group: + $ref: '#/components/schemas/Uinteger' + value: + $ref: '#/components/schemas/Uinteger' + required: + - group + - value + BackupAmfInfo: + type: object + properties: + backupAmf: + $ref: '#/components/schemas/AmfName' + guamiList: + type: array + items: + $ref: '#/components/schemas/Guami' + minItems: 1 + required: + - backupAmf + RefToBinaryData: + type: object + properties: + contentId: + type: string + required: + - contentId + RefToBinaryDataRm: + anyOf: + - $ref: '#/components/schemas/RefToBinaryData' + - $ref: '#/components/schemas/NullValue' + RouteToLocation: + type: object + properties: + dnai: + $ref: '#/components/schemas/Dnai' + routeInfo: + $ref: '#/components/schemas/RouteInformation' + routeProfId: + type: string + nullable: true + required: + - dnai + anyOf: + - required: [ routeInfo ] + - required: [ routeProfId ] + nullable: true + RouteInformation: + type: object + properties: + ipv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + portNumber: + $ref: '#/components/schemas/Uinteger' + required: + - portNumber + nullable: true + SubscribedDefaultQos: + type: object + required: + - 5qi + - arp + properties: + 5qi: + $ref: '#/components/schemas/5Qi' + arp: + $ref: '#/components/schemas/Arp' + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + Area: + type: object + oneOf: + - required: + - tacs + - required: + - areaCode + properties: + tacs: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + areaCode: + $ref: '#/components/schemas/AreaCode' + ServiceAreaRestriction: + type: object + properties: + restrictionType: + $ref: '#/components/schemas/RestrictionType' + areas: + type: array + items: + $ref: '#/components/schemas/Area' + maxNumOfTAs: + $ref: '#/components/schemas/Uinteger' + maxNumOfTAsForNotAllowedAreas: + $ref: '#/components/schemas/Uinteger' + allOf: + # + # 1st condition: restrictionType and areas attributes shall be either both absent + # or both present + # + - oneOf: + - not: + required: [ restrictionType ] + - required: [ areas ] + # + # 2nd condition: if restrictionType takes value NOT_ALLOWED_AREAS, + # then maxNumOfTAs shall be absent + # + - anyOf: + - not: + required: [ restrictionType ] + properties: + restrictionType: + type: string + enum: [ NOT_ALLOWED_AREAS ] + - not: + required: [ maxNumOfTAs ] + # + # 3rd condition: if restrictionType takes value ALLOWED_AREAS, + # then maxNumOfTAsForNotAllowedAreas shall be absent + # + - anyOf: + - not: + required: [ restrictionType ] + properties: + restrictionType: + type: string + enum: [ ALLOWED_AREAS ] + - not: + required: [ maxNumOfTAsForNotAllowedAreas ] + WirelineArea: + type: object + properties: + globalLineIds: + type: array + items: + $ref: '#/components/schemas/Gli' + minItems: 1 + hfcNIds: + type: array + items: + $ref: '#/components/schemas/HfcNId' + minItems: 1 + areaCodeB: + $ref: '#/components/schemas/AreaCode' + areaCodeC: + $ref: '#/components/schemas/AreaCode' + WirelineServiceAreaRestriction: + type: object + properties: + restrictionType: + $ref: '#/components/schemas/RestrictionType' + areas: + type: array + items: + $ref: '#/components/schemas/WirelineArea' + PresenceInfo: + type: object + properties: + praId: + type: string + additionalPraId: + type: string + presenceState: + $ref: '#/components/schemas/PresenceState' + trackingAreaList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + ecgiList: + type: array + items: + $ref: '#/components/schemas/Ecgi' + minItems: 1 + ncgiList: + type: array + items: + $ref: '#/components/schemas/Ncgi' + minItems: 1 + globalRanNodeIdList: + type: array + items: + $ref: '#/components/schemas/GlobalRanNodeId' + minItems: 1 + globaleNbIdList: + type: array + items: + $ref: '#/components/schemas/GlobalRanNodeId' + minItems: 1 + PresenceInfoRm: + type: object + properties: + praId: + type: string + additionalPraId: + type: string + presenceState: + $ref: '#/components/schemas/PresenceState' + trackingAreaList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 0 + ecgiList: + type: array + items: + $ref: '#/components/schemas/Ecgi' + minItems: 0 + ncgiList: + type: array + items: + $ref: '#/components/schemas/Ncgi' + minItems: 0 + globalRanNodeIdList: + type: array + items: + $ref: '#/components/schemas/GlobalRanNodeId' + globaleNbIdList: + type: array + items: + $ref: '#/components/schemas/GlobalRanNodeId' + minItems: 1 + nullable: true + GlobalRanNodeId: + type: object + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + n3IwfId: + $ref: '#/components/schemas/N3IwfId' + gNbId: + $ref: '#/components/schemas/GNbId' + ngeNbId: + $ref: '#/components/schemas/NgeNbId' + wagfId: + $ref: '#/components/schemas/WAgfId' + tngfId: + $ref: '#/components/schemas/TngfId' + nid: + $ref: '#/components/schemas/Nid' + eNbId: + $ref: '#/components/schemas/ENbId' + oneOf: + - required: [ n3IwfId ] + - required: [ gNbId ] + - required: [ ngeNbId ] + - required: [ wagfId ] + - required: [ tngfId ] + - required: [ eNbId ] + required: + - plmnId + GNbId: + type: object + properties: + bitLength: + type: integer + minimum: 22 + maximum: 32 + gNBValue: + type: string + pattern: '^[A-Fa-f0-9]{6,8}$' + required: + - bitLength + - gNBValue + AtsssCapability: + type: object + properties: + atsssLL: + type: boolean + default: false + mptcp: + type: boolean + default: false + rttWithoutPmf: + type: boolean + default: false + PlmnIdNid: + type: object + required: + - mcc + - mnc + properties: + mcc: + $ref: '#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + nid: + $ref: '#/components/schemas/Nid' + SmallDataRateStatus: + type: object + properties: + remainPacketsUl: + type: integer + minimum: 0 + remainPacketsDl: + type: integer + minimum: 0 + validityTime: + $ref: '#/components/schemas/DateTime' + remainExReportsUl: + type: integer + minimum: 0 + remainExReportsDl: + type: integer + minimum: 0 + ApnRateStatus: + type: object + properties: + remainPacketsUl: + type: integer + minimum: 0 + remainPacketsDl: + type: integer + minimum: 0 + validityTime: + $ref: '#/components/schemas/DateTime' + remainExReportsUl: + type: integer + minimum: 0 + remainExReportsDl: + type: integer + minimum: 0 + HfcNodeId: + type: object + required: + - hfcNId + properties: + hfcNId: + $ref: '#/components/schemas/HfcNId' + HfcNodeIdRm: + anyOf: + - $ref: '#/components/schemas/HfcNodeId' + - $ref: '#/components/schemas/NullValue' + ScheduledCommunicationTime: + type: object + properties: + daysOfWeek: + type: array + items: + $ref: '#/components/schemas/DayOfWeek' + minItems: 1 + maxItems: 6 + description: Identifies the day(s) of the week. If absent, it indicates every day of the week. + timeOfDayStart: + $ref: '#/components/schemas/TimeOfDay' + timeOfDayEnd: + $ref: '#/components/schemas/TimeOfDay' + ScheduledCommunicationTimeRm: + anyOf: + - $ref: '#/components/schemas/ScheduledCommunicationTime' + - $ref: '#/components/schemas/NullValue' + BatteryIndication: + type: object + properties: + batteryInd: + type: boolean + replaceableInd: + type: boolean + rechargeableInd: + type: boolean + BatteryIndicationRm: + anyOf: + - $ref: '#/components/schemas/BatteryIndication' + - $ref: '#/components/schemas/NullValue' + AcsInfo: + type: object + properties: + acsUrl: + $ref: '#/components/schemas/Uri' + acsIpv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + acsIpv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + AcsInfoRm: + anyOf: + - $ref: '#/components/schemas/AcsInfo' + - $ref: '#/components/schemas/NullValue' + NrV2xAuth: + type: object + properties: + vehicleUeAuth: + $ref: '#/components/schemas/UeAuth' + pedestrianUeAuth: + $ref: '#/components/schemas/UeAuth' + LteV2xAuth: + type: object + properties: + vehicleUeAuth: + $ref: '#/components/schemas/UeAuth' + pedestrianUeAuth: + $ref: '#/components/schemas/UeAuth' + Pc5QoSPara: + type: object + required: + - pc5QosFlowList + properties: + pc5QosFlowList: + type: array + items: + $ref: '#/components/schemas/Pc5QosFlowItem' + pc5LinkAmbr: + $ref: '#/components/schemas/BitRate' + Pc5QosFlowItem: + type: object + required: + - pqi + properties: + pqi: + $ref: '#/components/schemas/5Qi' + pc5FlowBitRates: + $ref: '#/components/schemas/Pc5FlowBitRates' + range: + $ref: '#/components/schemas/Uinteger' + Pc5FlowBitRates: + type: object + properties: + guaFbr: + $ref: '#/components/schemas/BitRate' + maxFbr: + $ref: '#/components/schemas/BitRate' + UtraLocation: + type: object + oneOf: + - required: + - cgi + - required: + - sai + - required: + - rai + properties: + cgi: + $ref: '#/components/schemas/CellGlobalId' + sai: + $ref: '#/components/schemas/ServiceAreaId' + lai: + $ref: '#/components/schemas/LocationAreaId' + rai: + $ref: '#/components/schemas/RoutingAreaId' + ageOfLocationInformation: + type: integer + minimum: 0 + maximum: 32767 + ueLocationTimestamp: + $ref: '#/components/schemas/DateTime' + geographicalInformation: + type: string + pattern: '^[0-9A-F]{16}$' + geodeticInformation: + type: string + pattern: '^[0-9A-F]{20}$' + GeraLocation: + type: object + oneOf: + - required: + - cgi + - required: + - sai + - required: + - rai + - required: + - lai + properties: + locationNumber: + type: string + cgi: + $ref: '#/components/schemas/CellGlobalId' + rai: + $ref: '#/components/schemas/RoutingAreaId' + sai: + $ref: '#/components/schemas/ServiceAreaId' + lai: + $ref: '#/components/schemas/LocationAreaId' + vlrNumber: + type: string + mscNumber: + type: string + ageOfLocationInformation: + type: integer + minimum: 0 + maximum: 32767 + ueLocationTimestamp: + $ref: '#/components/schemas/DateTime' + geographicalInformation: + type: string + pattern: '^[0-9A-F]{16}$' + geodeticInformation: + type: string + pattern: '^[0-9A-F]{20}$' + CellGlobalId: + type: object + required: + - plmnId + - lac + - cellId + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + lac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + cellId: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + ServiceAreaId: + type: object + required: + - plmnId + - lac + - sac + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + lac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + sac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + LocationAreaId: + type: object + required: + - plmnId + - lac + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + lac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + RoutingAreaId: + type: object + required: + - plmnId + - lac + - rac + properties: + plmnId: + $ref: '#/components/schemas/PlmnId' + lac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + rac: + type: string + pattern: '^[A-Fa-f0-9]{2}$' + DddTrafficDescriptor: + type: object + properties: + ipv4Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + portNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + macAddr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + MoExpDataCounter: + type: object + required: + - counter + properties: + counter: + type: integer + timeStamp: + $ref: '#/components/schemas/DateTime' + NssaaStatus: + type: object + required: + - snssai + - status + properties: + snssai: + $ref: '#/components/schemas/Snssai' + status: + $ref: '#/components/schemas/AuthStatus' + NssaaStatusRm: + anyOf: + - $ref: '#/components/schemas/NssaaStatus' + - $ref: '#/components/schemas/NullValue' + TnapId: + type: object + properties: + ssId: + type: string + bssId: + type: string + civicAddress: + $ref: '#/components/schemas/Bytes' + TnapIdRm: + anyOf: + - $ref: '#/components/schemas/TnapId' + - $ref: '#/components/schemas/NullValue' + TwapId: + type: object + required: + - ssId + properties: + ssId: + type: string + bssId: + type: string + civicAddress: + $ref: '#/components/schemas/Bytes' + TwapIdRm: + anyOf: + - $ref: '#/components/schemas/TwapId' + - $ref: '#/components/schemas/NullValue' + LineType: + anyOf: + - type: string + enum: + - DSL + - PON + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: > + Possible values are + - DSL: Identifies a DSL line + - PON: Identifies a PON line + LineTypeRm: + anyOf: + - $ref: '#/components/schemas/LineType' + - $ref: '#/components/schemas/NullValue' + + SnssaiExtension: + description: Extensions to the Snssai data type + type: object + properties: + sdRanges: + type: array + items: + $ref: '#/components/schemas/SdRange' + minItems: 1 + wildcardSd: + type: boolean + default: false + + SdRange: + description: A range of SDs (Slice Differentiators) + type: object + properties: + start: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + end: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + +# +# Data types describing alternative data types or combinations of data types +# + ExtSnssai: + allOf: + - $ref: '#/components/schemas/Snssai' + - $ref: '#/components/schemas/SnssaiExtension' + +# +# Data Types related to 5G QoS as defined in clause 5.5 +# + +# +# SIMPLE DATA TYPES +# +# + Qfi: + type: integer + minimum: 0 + maximum: 63 + QfiRm: + type: integer + minimum: 0 + maximum: 63 + nullable: true + 5Qi: + type: integer + minimum: 0 + maximum: 255 + 5QiRm: + type: integer + minimum: 0 + maximum: 255 + nullable: true + BitRate: + type: string + pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' + BitRateRm: + type: string + pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' + nullable: true + ArpPriorityLevelRm: + type: integer + minimum: 1 + maximum: 15 + nullable: true + ArpPriorityLevel: + type: integer + minimum: 1 + maximum: 15 + nullable: true + description: nullable true shall not be used for this attribute + 5QiPriorityLevel: + type: integer + minimum: 1 + maximum: 127 + 5QiPriorityLevelRm: + type: integer + minimum: 1 + maximum: 127 + nullable: true + PacketDelBudget: + type: integer + minimum: 1 + PacketDelBudgetRm: + type: integer + minimum: 1 + nullable: true + PacketErrRate: + type: string + pattern: '^([0-9]E-[0-9])$' + PacketErrRateRm: + type: string + pattern: '^([0-9]E-[0-9])$' + nullable: true + PacketLossRate: + type: integer + minimum: 0 + maximum: 1000 + PacketLossRateRm: + type: integer + minimum: 0 + maximum: 1000 + nullable: true + AverWindow: + type: integer + minimum: 1 + maximum: 4095 + default: 2000 + AverWindowRm: + type: integer + maximum: 4095 + default: 2000 + minimum: 1 + nullable: true + MaxDataBurstVol: + type: integer + minimum: 1 + maximum: 4095 + MaxDataBurstVolRm: + type: integer + minimum: 1 + maximum: 4095 + nullable: true + SamplingRatio: + type: integer + minimum: 1 + maximum: 100 + SamplingRatioRm: + type: integer + minimum: 1 + maximum: 100 + nullable: true + RgWirelineCharacteristics: + $ref: '#/components/schemas/Bytes' + RgWirelineCharacteristicsRm: + anyOf: + - $ref: '#/components/schemas/RgWirelineCharacteristics' + - $ref: '#/components/schemas/NullValue' + ExtMaxDataBurstVol: + type: integer + minimum: 4096 + maximum: 2000000 + ExtMaxDataBurstVolRm: + type: integer + minimum: 4096 + maximum: 2000000 + nullable: true + ExtPacketDelBudget: + type: integer + minimum: 1 + ExtPacketDelBudgetRm: + type: integer + minimum: 1 + nullable: true + +# +# ENUMERATED DATA TYPES +# + + PreemptionCapability: + anyOf: + - type: string + enum: + - NOT_PREEMPT + - MAY_PREEMPT + - type: string + PreemptionCapabilityRm: + anyOf: + - $ref: '#/components/schemas/PreemptionCapability' + - $ref: '#/components/schemas/NullValue' + PreemptionVulnerability: + anyOf: + - type: string + enum: + - NOT_PREEMPTABLE + - PREEMPTABLE + - type: string + PreemptionVulnerabilityRm: + anyOf: + - $ref: '#/components/schemas/PreemptionVulnerability' + - $ref: '#/components/schemas/NullValue' + ReflectiveQoSAttribute: + anyOf: + - type: string + enum: + - RQOS + - NO_RQOS + - type: string + ReflectiveQoSAttributeRm: + anyOf: + - $ref: '#/components/schemas/ReflectiveQoSAttribute' + - $ref: '#/components/schemas/NullValue' + NotificationControl: + anyOf: + - type: string + enum: + - REQUESTED + - NOT_REQUESTED + - type: string + NotificationControlRm: + anyOf: + - $ref: '#/components/schemas/NotificationControl' + - $ref: '#/components/schemas/NullValue' + QosResourceType: + anyOf: + - type: string + enum: + - NON_GBR + - NON_CRITICAL_GBR + - CRITICAL_GBR + - type: string + QosResourceTypeRm: + anyOf: + - $ref: '#/components/schemas/QosResourceType' + - $ref: '#/components/schemas/NullValue' + AdditionalQosFlowInfo: + anyOf: + - anyOf: + - type: string + enum: + - MORE_LIKELY + - type: string + - $ref: '#/components/schemas/NullValue' +# + +# +# STRUCTURED DATA TYPES +# + + Arp: + type: object + properties: + priorityLevel: + $ref: '#/components/schemas/ArpPriorityLevel' + preemptCap: + $ref: '#/components/schemas/PreemptionCapability' + preemptVuln: + $ref: '#/components/schemas/PreemptionVulnerability' + required: + - priorityLevel + - preemptCap + - preemptVuln + ArpRm: + anyOf: + - $ref: '#/components/schemas/Arp' + - $ref: '#/components/schemas/NullValue' + Ambr: + type: object + properties: + uplink: + $ref: '#/components/schemas/BitRate' + downlink: + $ref: '#/components/schemas/BitRate' + required: + - uplink + - downlink + AmbrRm: + anyOf: + - $ref: '#/components/schemas/Ambr' + - $ref: '#/components/schemas/NullValue' + Dynamic5Qi: + type: object + properties: + resourceType: + $ref: '#/components/schemas/QosResourceType' + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + packetDelayBudget: + $ref: '#/components/schemas/PacketDelBudget' + packetErrRate: + $ref: '#/components/schemas/PacketErrRate' + averWindow: + $ref: '#/components/schemas/AverWindow' + maxDataBurstVol: + $ref: '#/components/schemas/MaxDataBurstVol' + extMaxDataBurstVol: + $ref: '#/components/schemas/ExtMaxDataBurstVol' + extPacketDelBudget: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetDl: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetUl: + $ref: '#/components/schemas/ExtPacketDelBudget' + required: + - resourceType + - priorityLevel + - packetDelayBudget + - packetErrRate + NonDynamic5Qi: + type: object + properties: + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + averWindow: + $ref: '#/components/schemas/AverWindow' + maxDataBurstVol: + $ref: '#/components/schemas/MaxDataBurstVol' + extMaxDataBurstVol: + $ref: '#/components/schemas/ExtMaxDataBurstVol' + cnPacketDelayBudgetDl: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetUl: + $ref: '#/components/schemas/ExtPacketDelBudget' + minProperties: 0 + +# +# Data Types related to 5G Trace as defined in clause 5.6 +# + +# +# SIMPLE DATA TYPES +# + PhysCellId: + type: integer + minimum: 0 + maximum: 1007 + ArfcnValueNR: + type: integer + minimum: 0 + maximum: 3279165 +# +# +# Enumerations +# + TraceDepth: + anyOf: + - type: string + enum: + - MINIMUM + - MEDIUM + - MAXIMUM + - MINIMUM_WO_VENDOR_EXTENSION + - MEDIUM_WO_VENDOR_EXTENSION + - MAXIMUM_WO_VENDOR_EXTENSION + - type: string + TraceDepthRm: + anyOf: + - $ref: '#/components/schemas/TraceDepth' + - $ref: '#/components/schemas/NullValue' + JobType: + anyOf: + - type: string + enum: + - IMMEDIATE_MDT_ONLY + - LOGGED_MDT_ONLY + - TRACE_ONLY + - IMMEDIATE_MDT_AND_TRACE + - RLF_REPORTS_ONLY + - RCEF_REPORTS_ONLY + - LOGGED_MBSFN_MDT + - type: string + ReportTypeMdt: + anyOf: + - type: string + enum: + - PERIODICAL + - EVENT_TRIGGED + - type: string + MeasurementLteForMdt: + anyOf: + - type: string + enum: + - M1 + - M2 + - M3 + - M4_DL + - M4_UL + - M5_DL + - M5_UL + - M6_DL + - M6_UL + - M7_DL + - M7_UL + - M8 + - M9 + - type: string + MeasurementNrForMdt: + anyOf: + - type: string + enum: + - M1 + - M2 + - M3 + - M4_DL + - M4_UL + - M5_DL + - M5_UL + - M6_DL + - M6_UL + - M7_DL + - M7_UL + - M8 + - M9 + - type: string + SensorMeasurement: + anyOf: + - type: string + enum: + - BAROMETRIC_PRESSURE + - UE_SPEED + - UE_ORIENTATION + - type: string + ReportingTrigger: + anyOf: + - type: string + enum: + - PERIODICAL + - EVENT_A2 + - EVENT_A2_PERIODIC + - ALL_RRM_EVENT_TRIGGERS + - type: string + ReportIntervalMdt: + anyOf: + - type: string + enum: + - 120 + - 240 + - 480 + - 640 + - 1024 + - 2048 + - 5120 + - 10240 + - 60000 + - 360000 + - 720000 + - 1800000 + - 3600000 + - type: string + ReportAmountMdt: + anyOf: + - type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - infinity + - type: string + EventForMdt: + anyOf: + - type: string + enum: + - OUT_OF_COVERAG + - A2_EVENT + - type: string + LoggingIntervalMdt: + anyOf: + - type: string + enum: + - 128 + - 256 + - 512 + - 1024 + - 2048 + - 3072 + - 4096 + - 6144 + - type: string + LoggingDurationMdt: + anyOf: + - type: string + enum: + - 600 + - 1200 + - 2400 + - 3600 + - 5400 + - 7200 + - type: string + PositioningMethodMdt: + anyOf: + - type: string + enum: + - GNSS + - E_CELL_ID + - type: string + CollectionPeriodRmmLteMdt: + anyOf: + - type: string + enum: + - 1024 + - 1280 + - 2048 + - 2560 + - 5120 + - 10240 + - 60000 + - type: string + MeasurementPeriodLteMdt: + anyOf: + - type: string + enum: + - 1024 + - 1280 + - 2048 + - 2560 + - 5120 + - 10240 + - 60000 + - type: string + + ReportIntervalNrMdt: + anyOf: + - type: string + enum: + - 120 + - 240 + - 480 + - 640 + - 1024 + - 2048 + - 5120 + - 10240 + - 20480 + - 40960 + - 60000 + - 360000 + - 720000 + - 1800000 + - 3600000 + - type: string + + LoggingIntervalNrMdt: + anyOf: + - type: string + enum: + - 128 + - 256 + - 512 + - 1024 + - 2048 + - 3072 + - 4096 + - 6144 + - 320 + - 640 + - infinity + - type: string + + CollectionPeriodRmmNrMdt: + anyOf: + - type: string + enum: + - 1024 + - 2048 + - 5120 + - 10240 + - 60000 + - type: string + + LoggingDurationNrMdt: + anyOf: + - type: string + enum: + - 600 + - 1200 + - 2400 + - 3600 + - 5400 + - 7200 + - type: string +# +# STRUCTURED DATA TYPES +# + TraceData: + type: object + nullable: true + properties: + traceRef: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-[A-Fa-f0-9]{6}$' + traceDepth: + $ref: '#/components/schemas/TraceDepth' + neTypeList: + type: string + pattern: '^[A-Fa-f0-9]+$' + eventList: + type: string + pattern: '^[A-Fa-f0-9]+$' + collectionEntityIpv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + collectionEntityIpv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + interfaceList: + type: string + pattern: '^[A-Fa-f0-9]+$' + required: + - traceRef + - traceDepth + - neTypeList + - eventList + MdtConfiguration: + type: object + required: + - jobType + properties: + jobType: + $ref: '#/components/schemas/JobType' + reportType: + $ref: '#/components/schemas/ReportTypeMdt' + areaScope: + $ref: '#/components/schemas/AreaScope' + measurementLteList: + type: array + items: + $ref: '#/components/schemas/MeasurementLteForMdt' + measurementNrList: + type: array + items: + $ref: '#/components/schemas/MeasurementNrForMdt' + minItems: 1 + sensorMeasurementList: + type: array + items: + $ref: '#/components/schemas/SensorMeasurement' + minItems: 1 + reportingTriggerList: + type: array + items: + $ref: '#/components/schemas/ReportingTrigger' + minItems: 1 + reportInterval: + $ref: '#/components/schemas/ReportIntervalMdt' + reportIntervalNr: + $ref: '#/components/schemas/ReportIntervalNrMdt' + reportAmount: + $ref: '#/components/schemas/ReportAmountMdt' + eventThresholdRsrp: + type: integer + minimum: 0 + maximum: 97 + eventThresholdRsrpNr: + type: integer + minimum: 0 + maximum: 127 + eventThresholdRsrq: + type: integer + minimum: 0 + maximum: 34 + eventThresholdRsrqNr: + type: integer + minimum: 0 + maximum: 127 + eventList: + type: array + items: + $ref: '#/components/schemas/EventForMdt' + minItems: 1 + loggingInterval: + $ref: '#/components/schemas/LoggingIntervalMdt' + loggingIntervalNr: + $ref: '#/components/schemas/LoggingIntervalNrMdt' + loggingDuration: + $ref: '#/components/schemas/LoggingDurationMdt' + loggingDurationNr: + $ref: '#/components/schemas/LoggingDurationNrMdt' + positioningMethod: + $ref: '#/components/schemas/PositioningMethodMdt' + addPositioningMethodList: + type: array + items: + $ref: '#/components/schemas/PositioningMethodMdt' + minItems: 1 + collectionPeriodRmmLte: + $ref: '#/components/schemas/CollectionPeriodRmmLteMdt' + collectionPeriodRmmNr: + $ref: '#/components/schemas/CollectionPeriodRmmNrMdt' + measurementPeriodLte: + $ref: '#/components/schemas/MeasurementPeriodLteMdt' + mdtAllowedPlmnIdList: + type: array + items: + $ref: '#/components/schemas/PlmnId' + minItems: 1 + maxItems: 16 + mbsfnAreaList: + type: array + items: + $ref: '#/components/schemas/MbsfnArea' + minItems: 1 + maxItems: 8 + interFreqTargetList: + type: array + items: + $ref: '#/components/schemas/InterFreqTargetInfo' + minItems: 1 + maxItems: 8 + AreaScope: + type: object + properties: + eutraCellIdList: + type: array + items: + $ref: '#/components/schemas/EutraCellId' + minItems: 1 + nrCellIdList: + type: array + items: + $ref: '#/components/schemas/NrCellId' + minItems: 1 + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + tacInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/TacInfo' + TacInfo: + type: object + required: + - tacList + properties: + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + MbsfnArea: + type: object + properties: + mbsfnAreaId: + type: integer + minimum: 0 + maximum: 255 + carrierFrequency: + type: integer + minimum: 0 + maximum: 262143 + + InterFreqTargetInfo: + required: + - dlCarrierFreq + type: object + properties: + dlCarrierFreq: + $ref: '#/components/schemas/ArfcnValueNR' + cellIdList: + type: array + items: + $ref: '#/components/schemas/PhysCellId' + minItems: 1 + maxItems: 32 + + +# Data Types related to 5G ODB as defined in clause 5.7 + +# +# SIMPLE DATA TYPES +# +# +# +# Enumerations +# + RoamingOdb: + anyOf: + - type: string + enum: + - OUTSIDE_HOME_PLMN + - OUTSIDE_HOME_PLMN_COUNTRY + - type: string + + OdbPacketServices: + anyOf: + - anyOf: + - type: string + enum: + - ALL_PACKET_SERVICES + - ROAMER_ACCESS_HPLMN_AP + - ROAMER_ACCESS_VPLMN_AP + - type: string + - $ref: '#/components/schemas/NullValue' + +# +# STRUCTURED DATA TYPES +# + + OdbData: + type: object + properties: + roamingOdb: + $ref: '#/components/schemas/RoamingOdb' + +# +# Data Types related to Charging as defined in clause 5.8 +# + +# +# SIMPLE DATA TYPES +# +# + ChargingId: + $ref: '#/components/schemas/Uint32' + + ApplicationChargingId: + type: string + + RatingGroup: + $ref: '#/components/schemas/Uint32' + + ServiceId: + $ref: '#/components/schemas/Uint32' + + +# +# Enumerations +# + +# +# STRUCTURED DATA TYPES +# + SecondaryRatUsageReport: + type: object + properties: + secondaryRatType: + $ref: '#/components/schemas/RatType' + qosFlowsUsageData: + type: array + items: + $ref: '#/components/schemas/QosFlowUsageReport' + minItems: 1 + required: + - secondaryRatType + - qosFlowsUsageData + + QosFlowUsageReport: + type: object + properties: + qfi: + $ref: '#/components/schemas/Qfi' + startTimeStamp: + $ref: '#/components/schemas/DateTime' + endTimeStamp: + $ref: '#/components/schemas/DateTime' + downlinkVolume: + $ref: '#/components/schemas/Int64' + uplinkVolume: + $ref: '#/components/schemas/Int64' + required: + - qfi + - startTimeStamp + - endTimeStamp + - downlinkVolume + - uplinkVolume + + SecondaryRatUsageInfo: + type: object + properties: + secondaryRatType: + $ref: '#/components/schemas/RatType' + qosFlowsUsageData: + type: array + items: + $ref: '#/components/schemas/QosFlowUsageReport' + minItems: 1 + pduSessionUsageData: + type: array + items: + $ref: '#/components/schemas/VolumeTimedReport' + minItems: 1 + required: + - secondaryRatType + + VolumeTimedReport: + type: object + properties: + startTimeStamp: + $ref: '#/components/schemas/DateTime' + endTimeStamp: + $ref: '#/components/schemas/DateTime' + downlinkVolume: + $ref: '#/components/schemas/Int64' + uplinkVolume: + $ref: '#/components/schemas/Int64' + required: + - startTimeStamp + - endTimeStamp + - downlinkVolume + - uplinkVolume + + +# +# HTTP responses +# + + responses: + '307': + description: Temporary Redirect + content: + application/json: + schema: + $ref: '#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target NF (service) instance towards which the request is redirected' + schema: + type: string + '308': + description: Permanent Redirect + content: + application/json: + schema: + $ref: '#/components/schemas/RedirectResponse' + headers: + Location: + description: 'The URI pointing to the resource located on the redirect target' + required: true + schema: + type: string + 3gpp-Sbi-Target-Nf-Id: + description: 'Identifier of target NF (service) instance towards which the request is redirected' + schema: + type: string + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '401': + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '405': + description: Method Not Allowed + '408': + description: Request Timeout + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '406': + description: 406 Not Acceptable + '409': + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '410': + description: Gone + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '411': + description: Length Required + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '412': + description: Precondition Failed + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '413': + description: Payload Too Large + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '414': + description: URI Too Long + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '415': + description: Unsupported Media Type + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '429': + description: Too Many Requests + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '500': + description: Internal Server Error + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '501': + description: Not Implemented + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '503': + description: Service Unavailable + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '504': + description: Gateway Timeout + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + default: + description: Generic Error diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29572_Nlmf_Broadcast.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29572_Nlmf_Broadcast.yaml new file mode 100644 index 000000000..fe336ed09 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29572_Nlmf_Broadcast.yaml @@ -0,0 +1,222 @@ +openapi: 3.0.0 + +info: + version: '1.0.2' + title: 'LMF Broadcast' + description: | + LMF Broadcast Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.572 V16.7.0; 5G System; Location Management Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.572/' + +servers: + - url: '{apiRoot}/nlmf-broadcast/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +paths: + /cipher-key-data: + post: + summary: Request ciphering key data + operationId: CipheringKeyData + tags: + - Request Ciphering Key Data + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CipherRequestData' + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CipherResponseData' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + CipheringKeyData: + '{$request.body#/amfCallBackURI}': + post: + requestBody: + description: Ciphering Key Data Notification + content: + application/json: + schema: + $ref: '#/components/schemas/CipheringKeyInfo' + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/CipheringKeyResponse' + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + schemas: +# +# COMPLEX TYPES +# + CipheringKeyInfo: + type: object + required: + - cipheringData + properties: + cipheringData: + type: array + items: + $ref: '#/components/schemas/CipheringDataSet' + minItems: 1 + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + CipheringKeyResponse: + type: object + properties: + cipheringDataReport: + type: array + items: + $ref: '#/components/schemas/CipheringSetReport' + minItems: 1 + CipheringDataSet: + type: object + required: + - cipheringSetID + - cipheringKey + - c0 + - validityStartTime + - validityDuration + properties: + cipheringSetID: + $ref: '#/components/schemas/CipheringSetID' + cipheringKey: + $ref: '#/components/schemas/CipheringKey' + c0: + $ref: '#/components/schemas/C0' + ltePosSibTypes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Binary' + nrPosSibTypes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Binary' + validityStartTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + validityDuration: + $ref: '#/components/schemas/ValidityDuration' + taiList: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Binary' + CipheringSetReport: + type: object + required: + - cipheringSetID + - storageOutcome + properties: + cipheringSetID: + $ref: '#/components/schemas/CipheringSetID' + storageOutcome: + $ref: '#/components/schemas/StorageOutcome' + CipherRequestData: + type: object + required: + - amfCallBackURI + properties: + amfCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + CipherResponseData: + type: object + required: + - dataAvailability + properties: + dataAvailability: + $ref: '#/components/schemas/DataAvailability' +# +# +# SIMPLE TYPES +# + CipheringSetID: + type: integer + minimum: 0 + maximum: 65535 + CipheringKey: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Binary' + C0: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Binary' + ValidityDuration: + type: integer + minimum: 1 + maximum: 65535 +# +# ENUMS +# + StorageOutcome: + anyOf: + - type: string + enum: + - STORAGE_SUCCESSFUL + - STORAGE_FAILED + DataAvailability: + anyOf: + - type: string + enum: + - CIPHERING_KEY_DATA_AVAILABLE + - CIPHERING_KEY_DATA_NOT_AVAILABLE diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29572_Nlmf_Location.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29572_Nlmf_Location.yaml new file mode 100644 index 000000000..b711559df --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS29572_Nlmf_Location.yaml @@ -0,0 +1,1201 @@ +openapi: 3.0.0 + +info: + version: '1.1.4' + title: 'LMF Location' + description: | + LMF Location Service. + © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.572 V16.7.0; 5G System; Location Management Services; Stage 3 + url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.572/' + +servers: + - url: '{apiRoot}/nlmf-loc/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501 + +security: + - {} + - oAuth2ClientCredentials: + - nlmf-loc + +paths: + /determine-location: + post: + summary: Determine Location of an UE + operationId: DetermineLocation + tags: + - Determine Location + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InputData' + multipart/related: # message with binary body part(s) + schema: + type: object + properties: # Request parts + jsonData: + $ref: '#/components/schemas/InputData' + binaryDataLppMessage: + type: string + format: binary + encoding: + jsonData: + contentType: application/json + binaryDataLppMessage: + contentType: application/vnd.3gpp.lpp + headers: + Content-Id: + schema: + type: string + required: true + responses: + '200': + description: Expected response to a valid request + content: + application/json: + schema: + $ref: '#/components/schemas/LocationData' + '204': + description: Expected response for MO-LR requesting location assistance data. + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + EventNotify: + '{$request.body#/hgmlcCallBackURI}': + post: + requestBody: + description: UE Event Notification + content: + application/json: + schema: + $ref: '#/components/schemas/EventNotifyData' + responses: + '204': + description: Expected response to a valid notification + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /cancel-location: + post: + summary: request cancellation of periodic or triggered location + operationId: CancelLocation + tags: + - Cancel Location + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CancelLocData' + required: true + responses: + '204': + description: Expected response to a successful cancellation + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + /location-context-transfer: + post: + summary: transfer context information for periodic or triggered location + operationId: LocationContextTransfer + tags: + - Location Context Transfer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LocContextData' + required: true + responses: + '204': + description: Expected response to successful location context transfer + '307': + $ref: 'TS29571_CommonData.yaml#/components/responses/307' + '308': + $ref: 'TS29571_CommonData.yaml#/components/responses/308' + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '415': + $ref: 'TS29571_CommonData.yaml#/components/responses/415' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + '504': + $ref: 'TS29571_CommonData.yaml#/components/responses/504' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nlmf-loc: Access to the Nlmf_Location API + schemas: +# +# COMPLEX TYPES +# + InputData: + type: object + not: + required: [ ecgi, ncgi ] + properties: + externalClientType: + $ref: '#/components/schemas/ExternalClientType' + correlationID: + $ref: '#/components/schemas/CorrelationID' + amfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + locationQoS: + $ref: '#/components/schemas/LocationQoS' + supportedGADShapes: + type: array + items: + $ref: '#/components/schemas/SupportedGADShapes' + minItems: 1 + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + pei: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ecgiOnSecondNode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + ncgiOnSecondNode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + priority: + $ref: '#/components/schemas/LcsPriority' + velocityRequested: + $ref: '#/components/schemas/VelocityRequested' + ueLcsCap: + $ref: '#/components/schemas/UeLcsCapability' + lcsServiceType: + $ref: '#/components/schemas/LcsServiceType' + ldrType: + $ref: '#/components/schemas/LdrType' + hgmlcCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + vgmlcAddress: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ldrReference: + $ref: '#/components/schemas/LdrReference' + periodicEventInfo: + $ref: '#/components/schemas/PeriodicEventInfo' + areaEventInfo: + $ref: '#/components/schemas/AreaEventInfo' + motionEventInfo: + $ref: '#/components/schemas/MotionEventInfo' + reportingAccessTypes: + $ref: '#/components/schemas/ReportingAccessTypes' + ueConnectivityStates: + $ref: '#/components/schemas/UeConnectivityState' + ueLocationServiceInd: + $ref: '#/components/schemas/UeLocationServiceInd' + lppMessage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + LocationData: + type: object + required: + - locationEstimate + properties: + locationEstimate: + $ref: '#/components/schemas/GeographicArea' + accuracyFulfilmentIndicator: + $ref: '#/components/schemas/AccuracyFulfilmentIndicator' + ageOfLocationEstimate: + $ref: '#/components/schemas/AgeOfLocationEstimate' + velocityEstimate: + $ref: '#/components/schemas/VelocityEstimate' + civicAddress: + $ref: '#/components/schemas/CivicAddress' + positioningDataList: + type: array + items: + $ref: '#/components/schemas/PositioningMethodAndUsage' + minItems: 1 + gnssPositioningDataList: + type: array + items: + $ref: '#/components/schemas/GnssPositioningMethodAndUsage' + minItems: 1 + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + altitude: + $ref: '#/components/schemas/Altitude' + barometricPressure: + $ref: '#/components/schemas/BarometricPressure' + servingLMFIdentification: + $ref: '#/components/schemas/LMFIdentification' + GeographicArea: + anyOf: + - $ref: '#/components/schemas/Point' + - $ref: '#/components/schemas/PointUncertaintyCircle' + - $ref: '#/components/schemas/PointUncertaintyEllipse' + - $ref: '#/components/schemas/Polygon' + - $ref: '#/components/schemas/PointAltitude' + - $ref: '#/components/schemas/PointAltitudeUncertainty' + - $ref: '#/components/schemas/EllipsoidArc' + GADShape: + type: object + required: + - shape + properties: + shape: + $ref: '#/components/schemas/SupportedGADShapes' + discriminator: + propertyName: shape + mapping: + POINT: '#/components/schemas/Point' + POINT_UNCERTAINTY_CIRCLE: '#/components/schemas/PointUncertaintyCircle' + POINT_UNCERTAINTY_ELLIPSE: '#/components/schemas/PointUncertaintyEllipse' + POLYGON: '#/components/schemas/Polygon' + POINT_ALTITUDE: '#/components/schemas/PointAltitude' + POINT_ALTITUDE_UNCERTAINTY: '#/components/schemas/PointAltitudeUncertainty' + ELLIPSOID_ARC: '#/components/schemas/EllipsoidArc' + Point: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + PointUncertaintyCircle: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + - uncertainty + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + uncertainty: + $ref: '#/components/schemas/Uncertainty' + PointUncertaintyEllipse: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + - uncertaintyEllipse + - confidence + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + uncertaintyEllipse: + $ref: '#/components/schemas/UncertaintyEllipse' + confidence: + $ref: '#/components/schemas/Confidence' + Polygon: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - pointList + properties: + pointList: + $ref: '#/components/schemas/PointList' + PointAltitude: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + - altitude + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + altitude: + $ref: '#/components/schemas/Altitude' + PointAltitudeUncertainty: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + - altitude + - uncertaintyEllipse + - uncertaintyAltitude + - confidence + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + altitude: + $ref: '#/components/schemas/Altitude' + uncertaintyEllipse: + $ref: '#/components/schemas/UncertaintyEllipse' + uncertaintyAltitude: + $ref: '#/components/schemas/Uncertainty' + confidence: + $ref: '#/components/schemas/Confidence' + EllipsoidArc: + allOf: + - $ref: '#/components/schemas/GADShape' + - type: object + required: + - point + - innerRadius + - uncertaintyRadius + - offsetAngle + - includedAngle + - confidence + properties: + point: + $ref: '#/components/schemas/GeographicalCoordinates' + innerRadius: + $ref: '#/components/schemas/InnerRadius' + uncertaintyRadius: + $ref: '#/components/schemas/Uncertainty' + offsetAngle: + $ref: '#/components/schemas/Angle' + includedAngle: + $ref: '#/components/schemas/Angle' + confidence: + $ref: '#/components/schemas/Confidence' + GeographicalCoordinates: + type: object + required: + - lon + - lat + properties: + lon: + type: number + format: double + minimum: -180 + maximum: 180 + lat: + type: number + format: double + minimum: -90 + maximum: 90 + UncertaintyEllipse: + type: object + required: + - semiMajor + - semiMinor + - orientationMajor + properties: + semiMajor: + $ref: '#/components/schemas/Uncertainty' + semiMinor: + $ref: '#/components/schemas/Uncertainty' + orientationMajor: + $ref: '#/components/schemas/Orientation' + PointList: + type: array + items: + $ref: '#/components/schemas/GeographicalCoordinates' + minItems: 3 + maxItems: 15 + LocationQoS: + type: object + properties: + hAccuracy: + $ref: '#/components/schemas/Accuracy' + vAccuracy: + $ref: '#/components/schemas/Accuracy' + verticalRequested: + type: boolean + responseTime: + $ref: '#/components/schemas/ResponseTime' + lcsQosClass: + $ref: '#/components/schemas/LcsQosClass' + PositioningMethodAndUsage: + type: object + required: + - method + - mode + - usage + properties: + method: + $ref: '#/components/schemas/PositioningMethod' + mode: + $ref: '#/components/schemas/PositioningMode' + usage: + $ref: '#/components/schemas/Usage' + methodCode: + type: integer + minimum: 16 + maximum: 31 + GnssPositioningMethodAndUsage: + type: object + required: + - mode + - gnss + - usage + properties: + mode: + $ref: '#/components/schemas/PositioningMode' + gnss: + $ref: '#/components/schemas/GnssId' + usage: + $ref: '#/components/schemas/Usage' + CivicAddress: + type: object + properties: + country: + type: string + A1: + type: string + A2: + type: string + A3: + type: string + A4: + type: string + A5: + type: string + A6: + type: string + PRD: + type: string + POD: + type: string + STS: + type: string + HNO: + type: string + HNS: + type: string + LMK: + type: string + LOC: + type: string + NAM: + type: string + PC: + type: string + BLD: + type: string + UNIT: + type: string + FLR: + type: string + ROOM: + type: string + PLC: + type: string + PCN: + type: string + POBOX: + type: string + ADDCODE: + type: string + SEAT: + type: string + RD: + type: string + RDSEC: + type: string + RDBR: + type: string + RDSUBBR: + type: string + PRM: + type: string + POM: + type: string + usageRules: + type: string + method: + type: string + providedBy: + type: string + + VelocityEstimate: + oneOf: + - $ref: '#/components/schemas/HorizontalVelocity' + - $ref: '#/components/schemas/HorizontalWithVerticalVelocity' + - $ref: '#/components/schemas/HorizontalVelocityWithUncertainty' + - $ref: '#/components/schemas/HorizontalWithVerticalVelocityAndUncertainty' + HorizontalVelocity: + type: object + required: + - hSpeed + - bearing + properties: + hSpeed: + $ref: '#/components/schemas/HorizontalSpeed' + bearing: + $ref: '#/components/schemas/Angle' + HorizontalWithVerticalVelocity: + type: object + required: + - hSpeed + - bearing + - vSpeed + - vDirection + properties: + hSpeed: + $ref: '#/components/schemas/HorizontalSpeed' + bearing: + $ref: '#/components/schemas/Angle' + vSpeed: + $ref: '#/components/schemas/VerticalSpeed' + vDirection: + $ref: '#/components/schemas/VerticalDirection' + HorizontalVelocityWithUncertainty: + type: object + required: + - hSpeed + - bearing + - hUncertainty + properties: + hSpeed: + $ref: '#/components/schemas/HorizontalSpeed' + bearing: + $ref: '#/components/schemas/Angle' + hUncertainty: + $ref: '#/components/schemas/SpeedUncertainty' + HorizontalWithVerticalVelocityAndUncertainty: + type: object + required: + - hSpeed + - bearing + - vSpeed + - vDirection + - hUncertainty + - vUncertainty + properties: + hSpeed: + $ref: '#/components/schemas/HorizontalSpeed' + bearing: + $ref: '#/components/schemas/Angle' + vSpeed: + $ref: '#/components/schemas/VerticalSpeed' + vDirection: + $ref: '#/components/schemas/VerticalDirection' + hUncertainty: + $ref: '#/components/schemas/SpeedUncertainty' + vUncertainty: + $ref: '#/components/schemas/SpeedUncertainty' + UeLcsCapability: + type: object + properties: + lppSupport: + type: boolean + default: true + ciotOptimisation: + type: boolean + default: false + PeriodicEventInfo: + type: object + required: + - reportingAmount + - reportingInterval + properties: + reportingAmount: + $ref: '#/components/schemas/ReportingAmount' + reportingInterval: + $ref: '#/components/schemas/ReportingInterval' + AreaEventInfo: + type: object + required: + - areaDefinition + properties: + areaDefinition: + type: array + items: + $ref: '#/components/schemas/ReportingArea' + minItems: 1 + maxItems: 250 + occurrenceInfo: + $ref: '#/components/schemas/OccurrenceInfo' + minimumInterval: + $ref: '#/components/schemas/MinimumInterval' + maximumInterval: + $ref: '#/components/schemas/MaximumInterval' + samplingInterval: + $ref: '#/components/schemas/SamplingInterval' + reportingDuration: + $ref: '#/components/schemas/ReportingDuration' + reportingLocationReq: + type: boolean + default: true + ReportingArea: + type: object + required: + - areaType + properties: + areaType: + $ref: '#/components/schemas/ReportingAreaType' + tai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + MotionEventInfo: + type: object + required: + - linearDistance + properties: + linearDistance: + $ref: '#/components/schemas/LinearDistance' + occurrenceInfo: + $ref: '#/components/schemas/OccurrenceInfo' + minimumInterval: + $ref: '#/components/schemas/MinimumInterval' + maximumInterval: + $ref: '#/components/schemas/MaximumInterval' + samplingInterval: + $ref: '#/components/schemas/SamplingInterval' + reportingDuration: + $ref: '#/components/schemas/ReportingDuration' + reportingLocationReq: + type: boolean + default: true + ReportingAccessTypes: + type: array + items: + $ref: '#/components/schemas/ReportingAccessType' + minItems: 1 + CancelLocData: + type: object + required: + - hgmlcCallBackURI + - ldrReference + properties: + hgmlcCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ldrReference: + $ref: '#/components/schemas/LdrReference' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + LocContextData: + type: object + required: + - amfId + - ldrType + - hgmlcCallBackURI + - ldrReference + - eventReportMessage + properties: + amfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + locationQoS: + $ref: '#/components/schemas/LocationQoS' + supportedGADShapes: + type: array + items: + $ref: '#/components/schemas/SupportedGADShapes' + minItems: 1 + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + ldrType: + $ref: '#/components/schemas/LdrType' + hgmlcCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ldrReference: + $ref: '#/components/schemas/LdrReference' + periodicEventInfo: + $ref: '#/components/schemas/PeriodicEventInfo' + areaEventInfo: + $ref: '#/components/schemas/AreaEventInfo' + motionEventInfo: + $ref: '#/components/schemas/MotionEventInfo' + eventReportMessage: + $ref: '#/components/schemas/EventReportMessage' + eventReportingStatus: + $ref: '#/components/schemas/EventReportingStatus' + ueLocationInfo: + $ref: '#/components/schemas/UELocationInfo' + cIoT5GSOptimisation: + type: boolean + default: false + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + ncgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + guami: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + EventReportMessage: + type: object + required: + - eventClass + - eventContent + properties: + eventClass: + $ref: '#/components/schemas/EventClass' + eventContent: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData' + EventReportingStatus: + type: object + properties: + eventReportCounter: + $ref: '#/components/schemas/EventReportCounter' + eventReportDuration: + $ref: '#/components/schemas/EventReportDuration' + UELocationInfo: + type: object + properties: + locationEstimate: + $ref: '#/components/schemas/GeographicArea' + ageOfLocationEstimate: + $ref: '#/components/schemas/AgeOfLocationEstimate' + velocityEstimate: + $ref: '#/components/schemas/VelocityEstimate' + ageOfVelocityEstimate: + $ref: '#/components/schemas/AgeOfLocationEstimate' + + EventNotifyData: + type: object + required: + - reportedEventType + - ldrReference + properties: + reportedEventType: + $ref: '#/components/schemas/ReportedEventType' + supi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + gpsi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + hgmlcCallBackURI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + ldrReference: + $ref: '#/components/schemas/LdrReference' + locationEstimate: + $ref: '#/components/schemas/GeographicArea' + ageOfLocationEstimate: + $ref: '#/components/schemas/AgeOfLocationEstimate' + civicAddress: + $ref: '#/components/schemas/CivicAddress' + positioningDataList: + type: array + items: + $ref: '#/components/schemas/PositioningMethodAndUsage' + minItems: 1 + gnssPositioningDataList: + type: array + items: + $ref: '#/components/schemas/GnssPositioningMethodAndUsage' + minItems: 1 + servingLMFidentification: + $ref: '#/components/schemas/LMFIdentification' + terminationCause: + $ref: '#/components/schemas/TerminationCause' + velocityEstimate: + $ref: '#/components/schemas/VelocityEstimate' + altitude: + $ref: '#/components/schemas/Altitude' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + UeConnectivityState: + type: object + required: + - accessType + properties: + accessType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' + connectivitystate: + $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmState' +# +# +# SIMPLE TYPES +# + Altitude: + type: number + format: double + minimum: -32767 + maximum: 32767 + Angle: + type: integer + minimum: 0 + maximum: 360 + Uncertainty: + type: number + format: float + minimum: 0 + Orientation: + type: integer + minimum: 0 + maximum: 180 + Confidence: + type: integer + minimum: 0 + maximum: 100 + Accuracy: + type: number + format: float + minimum: 0 + InnerRadius: + type: integer + format: int32 + minimum: 0 + maximum: 327675 + CorrelationID: + type: string + minLength: 1 + maxLength: 255 + AgeOfLocationEstimate: + type: integer + minimum: 0 + maximum: 32767 + HorizontalSpeed: + type: number + format: float + minimum: 0 + maximum: 2047 + VerticalSpeed: + type: number + format: float + minimum: 0 + maximum: 255 + SpeedUncertainty: + type: number + format: float + minimum: 0 + maximum: 255 + BarometricPressure: + type: integer + minimum: 30000 + maximum: 115000 + LcsServiceType: + type: integer + minimum: 0 + maximum: 127 + LdrReference: + type: string + minLength: 2 + maxLength: 510 + ReportingAmount: + type: integer + minimum: 1 + maximum: 8639999 + ReportingInterval: + type: integer + minimum: 1 + maximum: 8639999 + MinimumInterval: + type: integer + minimum: 1 + maximum: 32767 + MaximumInterval: + type: integer + minimum: 1 + maximum: 86400 + SamplingInterval: + type: integer + minimum: 1 + maximum: 3600 + ReportingDuration: + type: integer + minimum: 1 + maximum: 8640000 + LinearDistance: + type: integer + minimum: 1 + maximum: 10000 + LMFIdentification: + type: string + EventReportCounter: + type: integer + minimum: 1 + maximum: 8640000 + EventReportDuration: + type: integer + minimum: 1 + maximum: 8640000 +# +# ENUMS +# + ExternalClientType: + anyOf: + - type: string + enum: + - EMERGENCY_SERVICES + - VALUE_ADDED_SERVICES + - PLMN_OPERATOR_SERVICES + - LAWFUL_INTERCEPT_SERVICES + - PLMN_OPERATOR_BROADCAST_SERVICES + - PLMN_OPERATOR_OM + - PLMN_OPERATOR_ANONYMOUS_STATISTICS + - PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT + - type: string + SupportedGADShapes: + anyOf: + - type: string + enum: + - POINT + - POINT_UNCERTAINTY_CIRCLE + - POINT_UNCERTAINTY_ELLIPSE + - POLYGON + - POINT_ALTITUDE + - POINT_ALTITUDE_UNCERTAINTY + - ELLIPSOID_ARC + - type: string + ResponseTime: + anyOf: + - type: string + enum: + - LOW_DELAY + - DELAY_TOLERANT + - NO_DELAY + - type: string + PositioningMethod: + anyOf: + - type: string + enum: + - CELLID + - ECID + - OTDOA + - BAROMETRIC_PRESSURE + - WLAN + - BLUETOOTH + - MBS + - MOTION_SENSOR + - DL_TDOA + - DL_AOD + - MULTI-RTT + - NR_ECID + - UL_TDOA + - UL_AOA + - NETWORK_SPECIFIC + - type: string + PositioningMode: + anyOf: + - type: string + enum: + - UE_BASED + - UE_ASSISTED + - CONVENTIONAL + - type: string + GnssId: + anyOf: + - type: string + enum: + - GPS + - GALILEO + - SBAS + - MODERNIZED_GPS + - QZSS + - GLONASS + - BDS + - NAVIC + - type: string + Usage: + anyOf: + - type: string + enum: + - UNSUCCESS + - SUCCESS_RESULTS_NOT_USED + - SUCCESS_RESULTS_USED_TO_VERIFY_LOCATION + - SUCCESS_RESULTS_USED_TO_GENERATE_LOCATION + - SUCCESS_METHOD_NOT_DETERMINED + - type: string + LcsPriority: + anyOf: + - type: string + enum: + - HIGHEST_PRIORITY + - NORMAL_PRIORITY + - type: string + VelocityRequested: + anyOf: + - type: string + enum: + - VELOCITY_IS_NOT_REQUESTED + - VELOCITY_IS_REQUESTED + - type: string + AccuracyFulfilmentIndicator: + anyOf: + - type: string + enum: + - REQUESTED_ACCURACY_FULFILLED + - REQUESTED_ACCURACY_NOT_FULFILLED + - type: string + VerticalDirection: + type: string + enum: + - UPWARD + - DOWNWARD + LdrType: + anyOf: + - type: string + enum: + - UE_AVAILABLE + - PERIODIC + - ENTERING_INTO_AREA + - LEAVING_FROM_AREA + - BEING_INSIDE_AREA + - MOTION + - type: string + ReportingAreaType: + anyOf: + - type: string + enum: + - EPS_TRACKING_AREA_IDENTITY + - E-UTRAN_CELL_GLOBAL_IDENTIFICATION + - 5GS_TRACKING_AREA_IDENTITY + - NR_CELL_GLOBAL_IDENTITY + - type: string + OccurrenceInfo: + anyOf: + - type: string + enum: + - ONE_TIME_EVENT + - MULTIPLE_TIME_EVENT + - type: string + ReportingAccessType: + anyOf: + - type: string + enum: + - NR + - EUTRA_CONNECTED_TO_5GC + - NON_3GPP_CONNECTED_TO_5GC + - type: string + EventClass: + anyOf: + - type: string + enum: + - SUPPLEMENTARY_SERVICES + - type: string + ReportedEventType: + anyOf: + - type: string + enum: + - PERIODIC_EVENT + - ENTERING_AREA_EVENT + - LEAVING_AREA_EVENT + - BEING_INSIDE_AREA_EVENT + - MOTION_EVENT + - MAXIMUM_INTERVAL_EXPIRATION_EVENT + - LOCATION_CANCELLATION_EVENT + - type: string + TerminationCause: + anyOf: + - type: string + enum: + - TERMINATION_BY_UE + - TERMINATION_BY_NETWORK + - NORMAL_TERMINATION + - type: string + LcsQosClass: + anyOf: + - type: string + enum: + - BEST_EFFORT + - ASSURED + - type: string + + UeLocationServiceInd: + anyOf: + - type: string + enum: + - LOCATION_ESTIMATE + - LOCATION_ASSISTANCE_DATA + - type: string diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS32291_Nchf_ConvergedCharging.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS32291_Nchf_ConvergedCharging.yaml new file mode 100644 index 000000000..f086e2ae0 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS32291_Nchf_ConvergedCharging.yaml @@ -0,0 +1,1509 @@ +openapi: 3.0.0 +info: + title: Nchf_ConvergedCharging + version: 3.0.2 + description: | + ConvergedCharging Service © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 32.291 V16.7.0: Telecommunication management; Charging management; + 5G system, charging service; Stage 3. + url: 'http://www.3gpp.org/ftp/Specs/archive/32_series/32.291/' +servers: + - url: '{apiRoot}/nchf-convergedcharging/v3' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - nchf-convergedcharging +paths: + /chargingdata: + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataResponse' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + callbacks: + chargingNotification: + '{$request.body#/notifyUri}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingNotifyRequest' + responses: + '204': + description: 'No Content, Notification was succesfull' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: >- + TS29571_CommonData.yaml#/components/schemas/ProblemDetails + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + '/chargingdata/{ChargingDataRef}/update': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + parameters: + - name: ChargingDataRef + in: path + description: a unique identifier for a charging data resource in a PLMN + required: true + schema: + type: string + responses: + '200': + description: OK. Updated Charging Data resource is returned + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataResponse' + '400': + description: Bad request + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + '/chargingdata/{ChargingDataRef}/release': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + parameters: + - name: ChargingDataRef + in: path + description: a unique identifier for a charging data resource in a PLMN + required: true + schema: + type: string + responses: + '204': + description: No Content. + '404': + description: Not Found + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nchf-convergedcharging: Access to the Nchf_ConvergedCharging API + schemas: + ChargingDataRequest: + type: object + properties: + subscriberIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + tenantIdentifier: + type: string + chargingId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + mnSConsumerIdentifier: + type: string + nfConsumerIdentification: + $ref: '#/components/schemas/NFIdentification' + invocationTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + invocationSequenceNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + retransmissionIndicator: + type: boolean + oneTimeEvent: + type: boolean + oneTimeEventType: + $ref: '#/components/schemas/oneTimeEventType' + notifyUri: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + serviceSpecificationInfo: + type: string + multipleUnitUsage: + type: array + items: + $ref: '#/components/schemas/MultipleUnitUsage' + minItems: 0 + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + pDUSessionChargingInformation: + $ref: '#/components/schemas/PDUSessionChargingInformation' + roamingQBCInformation: + $ref: '#/components/schemas/RoamingQBCInformation' + sMSChargingInformation: + $ref: '#/components/schemas/SMSChargingInformation' + nEFChargingInformation: + $ref: '#/components/schemas/NEFChargingInformation' + registrationChargingInformation: + $ref: '#/components/schemas/RegistrationChargingInformation' + n2ConnectionChargingInformation: + $ref: '#/components/schemas/N2ConnectionChargingInformation' + locationReportingChargingInformation: + $ref: '#/components/schemas/LocationReportingChargingInformation' + nSPAChargingInformation: + $ref: '#/components/schemas/NSPAChargingInformation' + nSMChargingInformation: + $ref: '#/components/schemas/NSMChargingInformation' + required: + - nfConsumerIdentification + - invocationTimeStamp + - invocationSequenceNumber + ChargingDataResponse: + type: object + properties: + invocationTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + invocationSequenceNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + invocationResult: + $ref: '#/components/schemas/InvocationResult' + sessionFailover: + $ref: '#/components/schemas/SessionFailover' + supportedFeatures: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + multipleUnitInformation: + type: array + items: + $ref: '#/components/schemas/MultipleUnitInformation' + minItems: 0 + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + pDUSessionChargingInformation: + $ref: '#/components/schemas/PDUSessionChargingInformation' + roamingQBCInformation: + $ref: '#/components/schemas/RoamingQBCInformation' + locationReportingChargingInformation: + $ref: '#/components/schemas/LocationReportingChargingInformation' + required: + - invocationTimeStamp + - invocationSequenceNumber + ChargingNotifyRequest: + type: object + properties: + notificationType: + $ref: '#/components/schemas/NotificationType' + reauthorizationDetails: + type: array + items: + $ref: '#/components/schemas/ReauthorizationDetails' + minItems: 0 + required: + - notificationType + ChargingNotifyResponse: + type: object + properties: + invocationResult: + $ref: '#/components/schemas/InvocationResult' + NFIdentification: + type: object + properties: + nFName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nFIPv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + nFIPv6Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + nFPLMNID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + nodeFunctionality: + $ref: '#/components/schemas/NodeFunctionality' + nFFqdn: + type: string + required: + - nodeFunctionality + MultipleUnitUsage: + type: object + properties: + ratingGroup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup' + requestedUnit: + $ref: '#/components/schemas/RequestedUnit' + usedUnitContainer: + type: array + items: + $ref: '#/components/schemas/UsedUnitContainer' + minItems: 0 + uPFID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + multihomedPDUAddress: + $ref: '#/components/schemas/PDUAddress' + required: + - ratingGroup + InvocationResult: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + failureHandling: + $ref: '#/components/schemas/FailureHandling' + Trigger: + type: object + properties: + triggerType: + $ref: '#/components/schemas/TriggerType' + triggerCategory: + $ref: '#/components/schemas/TriggerCategory' + timeLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + volumeLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + volumeLimit64: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + eventLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + maxNumberOfccc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + tariffTimeChange: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + + required: + - triggerType + - triggerCategory + MultipleUnitInformation: + type: object + properties: + resultCode: + $ref: '#/components/schemas/ResultCode' + ratingGroup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup' + grantedUnit: + $ref: '#/components/schemas/GrantedUnit' + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + validityTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + quotaHoldingTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + finalUnitIndication: + $ref: '#/components/schemas/FinalUnitIndication' + timeQuotaThreshold: + type: integer + volumeQuotaThreshold: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + unitQuotaThreshold: + type: integer + uPFID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + required: + - ratingGroup + RequestedUnit: + type: object + properties: + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + serviceSpecificUnits: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + UsedUnitContainer: + type: object + properties: + serviceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceId' + quotaManagementIndicator: + $ref: '#/components/schemas/QuotaManagementIndicator' + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + triggerTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + serviceSpecificUnits: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + eventTimeStamps: + + type: array + + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minItems: 0 + localSequenceNumber: + type: integer + pDUContainerInformation: + $ref: '#/components/schemas/PDUContainerInformation' + nSPAContainerInformation: + $ref: '#/components/schemas/NSPAContainerInformation' + required: + - localSequenceNumber + GrantedUnit: + type: object + properties: + tariffTimeChange: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + serviceSpecificUnits: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + FinalUnitIndication: + type: object + properties: + finalUnitAction: + $ref: '#/components/schemas/FinalUnitAction' + restrictionFilterRule: + $ref: '#/components/schemas/IPFilterRule' + filterId: + type: string + redirectServer: + $ref: '#/components/schemas/RedirectServer' + required: + - finalUnitAction + RedirectServer: + type: object + properties: + redirectAddressType: + $ref: '#/components/schemas/RedirectAddressType' + redirectServerAddress: + type: string + required: + - redirectAddressType + - redirectServerAddress + ReauthorizationDetails: + type: object + properties: + serviceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceId' + ratingGroup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup' + quotaManagementIndicator: + $ref: '#/components/schemas/QuotaManagementIndicator' + PDUSessionChargingInformation: + type: object + properties: + chargingId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + homeProvidedChargingId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + userInformation: + $ref: '#/components/schemas/UserInformation' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + mAPDUNon3GPPUserLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + pduSessionInformation: + $ref: '#/components/schemas/PDUSessionInformation' + unitCountInactivityTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + rANSecondaryRATUsageReport: + $ref: '#/components/schemas/RANSecondaryRATUsageReport' + UserInformation: + type: object + properties: + servedGPSI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + servedPEI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + unauthenticatedFlag: + type: boolean + roamerInOut: + $ref: '#/components/schemas/RoamerInOut' + PDUSessionInformation: + type: object + properties: + networkSlicingInfo: + $ref: '#/components/schemas/NetworkSlicingInfo' + pduSessionID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + pduType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + sscMode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + hPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + servingNetworkFunctionID: + $ref: '#/components/schemas/ServingNetworkFunctionID' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + mAPDUNon3GPPRATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + dnnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + dnnSelectionMode: + $ref: '#/components/schemas/dnnSelectionMode' + chargingCharacteristics: + type: string + pattern: '^[0-9a-fA-F]{1,4}$' + chargingCharacteristicsSelectionMode: + $ref: '#/components/schemas/ChargingCharacteristicsSelectionMode' + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + stopTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + sessionStopIndicator: + type: boolean + pduAddress: + $ref: '#/components/schemas/PDUAddress' + diagnostics: + $ref: '#/components/schemas/Diagnostics' + authorizedQoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AuthorizedDefaultQos' + subscribedQoSInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos' + authorizedSessionAMBR: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + subscribedSessionAMBR: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + servingCNPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + mAPDUSessionInformation: + $ref: '#/components/schemas/MAPDUSessionInformation' + enhancedDiagnostics: + $ref: '#/components/schemas/EnhancedDiagnostics5G' + required: + - pduSessionID + - dnnId + PDUContainerInformation: + type: object + properties: + timeofFirstUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeofLastUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData' + qoSCharacteristics: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosCharacteristics' + afChargingIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + afChargingIdString: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationChargingId' + userLocationInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + servingNodeID: + type: array + items: + $ref: '#/components/schemas/ServingNetworkFunctionID' + minItems: 0 + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + sponsorIdentity: + type: string + applicationserviceProviderIdentity: + type: string + chargingRuleBaseName: + type: string + mAPDUSteeringFunctionality: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringFunctionality' + mAPDUSteeringMode: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringMode' + NSPAContainerInformation: + type: object + properties: + latency: + type: integer + throughput: + $ref: '#/components/schemas/Throughput' + maximumPacketLossRate: + type: string + serviceExperienceStatisticsData: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ServiceExperienceInfo' + theNumberOfPDUSessions: + type: integer + theNumberOfRegisteredSubscribers: + type: integer + loadLevel: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiLoadLevelInfo' + NSPAChargingInformation: + type: object + properties: + singleNSSAI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - singleNSSAI + NetworkSlicingInfo: + type: object + properties: + sNSSAI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - sNSSAI + PDUAddress: + type: object + properties: + pduIPv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + pduIPv6AddresswithPrefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + pduAddressprefixlength: + type: integer + iPv4dynamicAddressFlag: + type: boolean + iPv6dynamicPrefixFlag: + type: boolean + addIpv6AddrPrefixes: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + ServingNetworkFunctionID: + type: object + properties: + servingNetworkFunctionInformation: + $ref: '#/components/schemas/NFIdentification' + aMFId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfId' + required: + - servingNetworkFunctionInformation + RoamingQBCInformation: + type: object + properties: + multipleQFIcontainer: + type: array + items: + $ref: '#/components/schemas/MultipleQFIcontainer' + minItems: 0 + uPFID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + roamingChargingProfile: + $ref: '#/components/schemas/RoamingChargingProfile' + MultipleQFIcontainer: + type: object + properties: + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + triggerTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + localSequenceNumber: + type: integer + qFIContainerInformation: + $ref: '#/components/schemas/QFIContainerInformation' + required: + - localSequenceNumber + QFIContainerInformation: + type: object + properties: + qFI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + reportTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeofFirstUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeofLastUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData' + qoSCharacteristics: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosCharacteristics' + userLocationInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + servingNetworkFunctionID: + type: array + items: + $ref: '#/components/schemas/ServingNetworkFunctionID' + minItems: 0 + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + 3gppChargingId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + diagnostics: + $ref: '#/components/schemas/Diagnostics' + enhancedDiagnostics: + type: array + items: + type: string + required: + - reportTime + RoamingChargingProfile: + type: object + properties: + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + partialRecordMethod: + $ref: '#/components/schemas/PartialRecordMethod' + SMSChargingInformation: + type: object + properties: + originatorInfo: + $ref: '#/components/schemas/OriginatorInfo' + recipientInfo: + type: array + items: + $ref: '#/components/schemas/RecipientInfo' + minItems: 0 + userEquipmentInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + roamerInOut: + $ref: '#/components/schemas/RoamerInOut' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + sMSCAddress: + type: string + sMDataCodingScheme: + type: integer + sMMessageType: + $ref: '#/components/schemas/SMMessageType' + sMReplyPathRequested: + $ref: '#/components/schemas/ReplyPathRequested' + sMUserDataHeader: + type: string + sMStatus: + type: string + pattern: '^[0-7]?[0-9a-fA-F]$' + sMDischargeTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + numberofMessagesSent: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + sMServiceType: + $ref: '#/components/schemas/SMServiceType' + sMSequenceNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + sMSresult: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + submissionTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + sMPriority: + $ref: '#/components/schemas/SMPriority' + messageReference: + type: string + messageSize: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + messageClass: + $ref: '#/components/schemas/MessageClass' + deliveryReportRequested: + $ref: '#/components/schemas/DeliveryReportRequested' + OriginatorInfo: + type: object + properties: + originatorSUPI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + originatorGPSI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + originatorOtherAddress: + $ref: '#/components/schemas/SMAddressInfo' + originatorReceivedAddress: + $ref: '#/components/schemas/SMAddressInfo' + originatorSCCPAddress: + type: string + sMOriginatorInterface: + $ref: '#/components/schemas/SMInterface' + sMOriginatorProtocolId: + type: string + RecipientInfo: + type: object + properties: + recipientSUPI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + recipientGPSI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + recipientOtherAddress: + $ref: '#/components/schemas/SMAddressInfo' + recipientReceivedAddress: + $ref: '#/components/schemas/SMAddressInfo' + recipientSCCPAddress: + type: string + sMDestinationInterface: + $ref: '#/components/schemas/SMInterface' + sMrecipientProtocolId: + type: string + SMAddressInfo: + type: object + properties: + sMaddressType: + $ref: '#/components/schemas/SMAddressType' + sMaddressData: + type: string + sMaddressDomain: + $ref: '#/components/schemas/SMAddressDomain' + RecipientAddress: + type: object + properties: + recipientAddressInfo: + $ref: '#/components/schemas/SMAddressInfo' + sMaddresseeType: + $ref: '#/components/schemas/SMAddresseeType' + MessageClass: + type: object + properties: + classIdentifier: + $ref: '#/components/schemas/ClassIdentifier' + tokenText: + type: string + SMAddressDomain: + type: object + properties: + domainName: + type: string + 3GPPIMSIMCCMNC: + type: string + SMInterface: + type: object + properties: + interfaceId: + type: string + interfaceText: + type: string + interfacePort: + type: string + interfaceType: + $ref: '#/components/schemas/InterfaceType' + RANSecondaryRATUsageReport: + type: object + properties: + rANSecondaryRATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + qosFlowsUsageReports: + type: array + items: + $ref: '#/components/schemas/QosFlowsUsageReport' + Diagnostics: + type: integer + IPFilterRule: + type: string + QosFlowsUsageReport: + type: object + properties: + qFI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + startTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + NEFChargingInformation: + type: object + properties: + externalIndividualIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + externalGroupIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId' + groupIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' + aPIDirection: + $ref: '#/components/schemas/APIDirection' + aPITargetNetworkFunction: + $ref: '#/components/schemas/NFIdentification' + aPIResultCode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + aPIName: + type: string + aPIReference: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + aPIContent: + type: string + required: + - aPIName + RegistrationChargingInformation: + type: object + properties: + registrationMessagetype: + $ref: '#/components/schemas/RegistrationMessageType' + userInformation: + $ref: '#/components/schemas/UserInformation' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + pSCellInformation: + $ref: '#/components/schemas/PSCellInformation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + 5GMMCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes' + mICOModeIndication: + $ref: '#/components/schemas/MICOModeIndication' + smsIndication: + $ref: '#/components/schemas/SmsIndication' + taiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 0 + serviceAreaRestriction: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + minItems: 0 + requestedNSSAI: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 0 + allowedNSSAI: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 0 + rejectedNSSAI: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 0 + nSSAIMapList: + type: array + items: + $ref: '#/components/schemas/NSSAIMap' + minItems: 0 + amfUeNgapId: + type: integer + ranUeNgapId: + type: integer + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + required: + - registrationMessagetype + PSCellInformation: + type: object + properties: + nrcgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' + ecgi: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' + NSSAIMap: + type: object + properties: + servingSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + homeSnssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - servingSnssai + - homeSnssai + N2ConnectionChargingInformation: + type: object + properties: + n2ConnectionMessageType: + $ref: '#/components/schemas/N2ConnectionMessageType' + userInformation: + $ref: '#/components/schemas/UserInformation' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + pSCellInformation: + $ref: '#/components/schemas/PSCellInformation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + amfUeNgapId: + type: integer + ranUeNgapId: + type: integer + ranNodeId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId' + restrictedRatList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + minItems: 0 + forbiddenAreaList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Area' + minItems: 0 + serviceAreaRestriction: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' + minItems: 0 + restrictedCnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/CoreNetworkType' + minItems: 0 + allowedNSSAI: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 0 + rrcEstCause: + type: string + pattern: '^[0-9a-fA-F]+$' + required: + - n2ConnectionMessageType + LocationReportingChargingInformation: + type: object + properties: + locationReportingMessageType: + $ref: '#/components/schemas/LocationReportingMessageType' + userInformation: + $ref: '#/components/schemas/UserInformation' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + pSCellInformation: + $ref: '#/components/schemas/PSCellInformation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + required: + - locationReportingMessageType + N2ConnectionMessageType: + type: integer + LocationReportingMessageType: + type: integer + NSMChargingInformation: + type: object + properties: + managementOperation: + $ref: '#/components/schemas/ManagementOperation' + idNetworkSliceInstance: + type: string + listOfserviceProfileChargingInformation: + type: array + items: + $ref: '#/components/schemas/ServiceProfileChargingInformation' + minItems: 0 + managementOperationStatus: + $ref: '#/components/schemas/ManagementOperationStatus' +# To be introduced once the reference to 'generic.yaml is resolved +# managementOperationalState: +# $ref: 'genericNrm.yaml#/components/schemas/OperationalState' +# managementAdministrativeState: +# $ref: 'genericNrm.yaml#/components/schemas/AdministrativeState' + required: + - managementOperation + ServiceProfileChargingInformation: + type: object + properties: + serviceProfileIdentifier: + type: string + sNSSAIList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 0 +# To be introduced once the reference to 'nrNrm.yaml is resolved +# sST: +# $ref: 'nrNrm.yaml#/components/schemas/Sst' + latency: + type: integer + availability: + type: number +# To be introduced once the reference to sliceNrm.yaml is resolved +# resourceSharingLevel: +# $ref: 'sliceNrm.yaml#/components/schemas/SharingLevel' + jitter: + type: integer + reliability: + type: string + maxNumberofUEs: + type: integer + coverageArea: + type: string +# To be introduced once the reference to sliceNrm.yaml is resolved +# uEMobilityLevel: +# $ref: 'sliceNrm.yaml#/components/schemas/MobilityLevel' +# delayToleranceIndicator: +# $ref: 'sliceNrm.yaml#/components/schemas/Support' + dLThptPerSlice: + $ref: '#/components/schemas/Throughput' + dLThptPerUE: + $ref: '#/components/schemas/Throughput' + uLThptPerSlice: + $ref: '#/components/schemas/Throughput' + uLThptPerUE: + $ref: '#/components/schemas/Throughput' + maxNumberofPDUsessions: + type: integer + kPIMonitoringList: + type: string + supportedAccessTechnology: + type: integer +# To be introduced once the reference to sliceNrm.yaml is resolved +# v2XCommunicationModeIndicator: +# $ref: 'sliceNrm.yaml#/components/schemas/Support' + addServiceProfileInfo: + type: string + Throughput: + type: object + properties: + guaranteedThpt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + maximumThpt: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' + MAPDUSessionInformation: + type: object + properties: + mAPDUSessionIndicator: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/MaPduIndication' + aTSSSCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AtsssCapability' + EnhancedDiagnostics5G: + $ref: '#/components/schemas/RanNasCauseList' + RanNasCauseList: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RanNasRelCause' + NotificationType: + anyOf: + - type: string + enum: + - REAUTHORIZATION + - ABORT_CHARGING + - type: string + NodeFunctionality: + anyOf: + - type: string + enum: + - AMF + - SMF + - SMS + - PGW_C_SMF + - NEFF # Included for backwards compatibility, shall not be used + - SGW + - I_SMF + - ePDG + - CEF + - NEF + - MnS_Producer + - type: string + ChargingCharacteristicsSelectionMode: + anyOf: + - type: string + enum: + - HOME_DEFAULT + - ROAMING_DEFAULT + - VISITING_DEFAULT + - type: string + TriggerType: + anyOf: + - type: string + enum: + - QUOTA_THRESHOLD + - QHT + - FINAL + - QUOTA_EXHAUSTED + - VALIDITY_TIME + - OTHER_QUOTA_TYPE + - FORCED_REAUTHORISATION + - UNUSED_QUOTA_TIMER # Included for backwards compatibility, shall not be used + - UNIT_COUNT_INACTIVITY_TIMER + - ABNORMAL_RELEASE + - QOS_CHANGE + - VOLUME_LIMIT + - TIME_LIMIT + - EVENT_LIMIT + - PLMN_CHANGE + - USER_LOCATION_CHANGE + - RAT_CHANGE + - SESSION_AMBR_CHANGE + - UE_TIMEZONE_CHANGE + - TARIFF_TIME_CHANGE + - MAX_NUMBER_OF_CHANGES_IN_CHARGING_CONDITIONS + - MANAGEMENT_INTERVENTION + - CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA + - CHANGE_OF_3GPP_PS_DATA_OFF_STATUS + - SERVING_NODE_CHANGE + - REMOVAL_OF_UPF + - ADDITION_OF_UPF + - INSERTION_OF_ISMF + - REMOVAL_OF_ISMF + - CHANGE_OF_ISMF + - START_OF_SERVICE_DATA_FLOW + - ECGI_CHANGE + - TAI_CHANGE + - HANDOVER_CANCEL + - HANDOVER_START + - HANDOVER_COMPLETE + - GFBR_GUARANTEED_STATUS_CHANGE + - ADDITION_OF_ACCESS + - REMOVAL_OF_ACCESS + - START_OF_SDF_ADDITIONAL_ACCESS + - type: string + FinalUnitAction: + anyOf: + - type: string + enum: + - TERMINATE + - REDIRECT + - RESTRICT_ACCESS + - type: string + RedirectAddressType: + anyOf: + - type: string + enum: + - IPV4 + - IPV6 + - URL + - type: string + TriggerCategory: + anyOf: + - type: string + enum: + - IMMEDIATE_REPORT + - DEFERRED_REPORT + - type: string + QuotaManagementIndicator: + anyOf: + - type: string + enum: + - ONLINE_CHARGING + - OFFLINE_CHARGING + - QUOTA_MANAGEMENT_SUSPENDED + - type: string + FailureHandling: + anyOf: + - type: string + enum: + - TERMINATE + - CONTINUE + - RETRY_AND_TERMINATE + - type: string + SessionFailover: + anyOf: + - type: string + enum: + - FAILOVER_NOT_SUPPORTED + - FAILOVER_SUPPORTED + - type: string + 3GPPPSDataOffStatus: + anyOf: + - type: string + enum: + - ACTIVE + - INACTIVE + - type: string + ResultCode: + anyOf: + - type: string + enum: + - SUCCESS + - END_USER_SERVICE_DENIED + - QUOTA_MANAGEMENT_NOT_APPLICABLE + - QUOTA_LIMIT_REACHED + - END_USER_SERVICE_REJECTED + - USER_UNKNOWN + - RATING_FAILED + - QUOTA_MANAGEMENT + - type: string + PartialRecordMethod: + anyOf: + - type: string + enum: + - DEFAULT + - INDIVIDUAL + - type: string + RoamerInOut: + anyOf: + - type: string + enum: + - IN_BOUND + - OUT_BOUND + - type: string + SMMessageType: + anyOf: + - type: string + enum: + - SUBMISSION + - DELIVERY_REPORT + - SM_SERVICE_REQUEST + - DELIVERY + - type: string + SMPriority: + anyOf: + - type: string + enum: + - LOW + - NORMAL + - HIGH + - type: string + DeliveryReportRequested: + anyOf: + - type: string + enum: + - YES + - NO + - type: string + InterfaceType: + anyOf: + - type: string + enum: + - UNKNOWN + - MOBILE_ORIGINATING + - MOBILE_TERMINATING + - APPLICATION_ORIGINATING + - APPLICATION_TERMINATING + - type: string + ClassIdentifier: + anyOf: + - type: string + enum: + - PERSONAL + - ADVERTISEMENT + - INFORMATIONAL + - AUTO + - type: string + SMAddressType: + anyOf: + - type: string + enum: + - EMAIL_ADDRESS + - MSISDN + - IPV4_ADDRESS + - IPV6_ADDRESS + - NUMERIC_SHORTCODE + - ALPHANUMERIC_SHORTCODE + - OTHER + - IMSI + - type: string + SMAddresseeType: + anyOf: + - type: string + enum: + - TO + - CC + - BCC + - type: string + SMServiceType: + anyOf: + - type: string + enum: + - VAS4SMS_SHORT_MESSAGE_CONTENT_PROCESSING + - VAS4SMS_SHORT_MESSAGE_FORWARDING + - VAS4SMS_SHORT_MESSAGE_FORWARDING_MULTIPLE_SUBSCRIPTIONS + - VAS4SMS_SHORT_MESSAGE_FILTERING + - VAS4SMS_SHORT_MESSAGE_RECEIPT + - VAS4SMS_SHORT_MESSAGE_NETWORK_STORAGE + - VAS4SMS_SHORT_MESSAGE_TO_MULTIPLE_DESTINATIONS + - VAS4SMS_SHORT_MESSAGE_VIRTUAL_PRIVATE_NETWORK(VPN) + - VAS4SMS_SHORT_MESSAGE_AUTO_REPLY + - VAS4SMS_SHORT_MESSAGE_PERSONAL_SIGNATURE + - VAS4SMS_SHORT_MESSAGE_DEFERRED_DELIVERY + - type: string + ReplyPathRequested: + anyOf: + - type: string + enum: + - NO_REPLY_PATH_SET + - REPLY_PATH_SET + - type: string + oneTimeEventType: + anyOf: + - type: string + enum: + - IEC + - PEC + - type: string + dnnSelectionMode: + anyOf: + - type: string + enum: + - VERIFIED + - UE_DNN_NOT_VERIFIED + - NW_DNN_NOT_VERIFIED + - type: string + APIDirection: + anyOf: + - type: string + enum: + - INVOCATION + - NOTIFICATION + - type: string + RegistrationMessageType: + anyOf: + - type: string + enum: + - INITIAL + - MOBILITY + - PERIODIC + - EMERGENCY + - DEREGISTRATION + - type: string + MICOModeIndication: + anyOf: + - type: string + enum: + - MICO_MODE + - NO_MICO_MODE + - type: string + SmsIndication: + anyOf: + - type: string + enum: + - SMS_SUPPORTED + - SMS_NOT_SUPPORTED + - type: string + ManagementOperation: + anyOf: + - type: string + enum: + - CreateMOI + - ModifyMOIAttributes + - DeleteMOI + - type: string + ManagementOperationStatus: + anyOf: + - type: string + enum: + - OPERATION_SUCCEEDED + - OPERATION_FAILED + - type: string + diff --git a/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS32291_Nchf_OfflineOnlyCharging.yaml b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS32291_Nchf_OfflineOnlyCharging.yaml new file mode 100644 index 000000000..1b16df4b1 --- /dev/null +++ b/lib/sbi/support/r16-20230226-openapitools-6.4.0/standard/TS32291_Nchf_OfflineOnlyCharging.yaml @@ -0,0 +1,697 @@ +openapi: 3.0.0 +info: + title: Nchf_OfflineOnlyCharging + version: 1.0.1 + description: | + OfflineOnlyCharging Service + © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: > + 3GPP TS 32.291 V16.6.0: Telecommunication management; Charging management; + 5G system, charging service; Stage 3. + url: 'http://www.3gpp.org/ftp/Specs/archive/32_series/32.291/' +servers: + - url: '{apiRoot}/nchf-offlineonlycharging/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. +security: + - {} + - oAuth2ClientCredentials: + - nchf-offlineonlycharging +paths: + /offlinechargingdata: + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + '/offlinechargingdata/{OfflineChargingDataRef}/update': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + parameters: + - name: OfflineChargingDataRef + in: path + description: a unique identifier for a charging data resource in a PLMN + required: true + schema: + type: string + responses: + '200': + description: OK. Updated Charging Data resource is returned + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataResponse' + '400': + description: Bad request + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '404': + description: Not Found + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + '/offlinechargingdata/{OfflineChargingDataRef}/release': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChargingDataRequest' + parameters: + - name: OfflineChargingDataRef + in: path + description: a unique identifier for a charging data resource in a PLMN + required: true + schema: + type: string + responses: + '204': + description: No Content. + '404': + description: Not Found + content: + application/json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '410': + $ref: 'TS29571_CommonData.yaml#/components/responses/410' + '411': + $ref: 'TS29571_CommonData.yaml#/components/responses/411' + '413': + $ref: 'TS29571_CommonData.yaml#/components/responses/413' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' +components: + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nchf-offlineonlycharging: Access to the Nchf_OfflineOnlyCharging API + schemas: + ChargingDataRequest: + type: object + properties: + subscriberIdentifier: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + nfConsumerIdentification: + $ref: '#/components/schemas/NFIdentification' + invocationTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + invocationSequenceNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + retransmissionIndicator: + type: boolean + serviceSpecificationInfo: + type: string + multipleUnitUsage: + type: array + items: + $ref: '#/components/schemas/MultipleUnitUsage' + minItems: 0 + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + pDUSessionChargingInformation: + $ref: '#/components/schemas/PDUSessionChargingInformation' + roamingQBCInformation: + $ref: '#/components/schemas/RoamingQBCInformation' + required: + - nfConsumerIdentification + - invocationTimeStamp + - invocationSequenceNumber + ChargingDataResponse: + type: object + properties: + invocationTimeStamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + invocationSequenceNumber: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + invocationResult: + $ref: '#/components/schemas/InvocationResult' + sessionFailover: + $ref: '#/components/schemas/SessionFailover' + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + pDUSessionChargingInformation: + $ref: '#/components/schemas/PDUSessionChargingInformation' + roamingQBCInformation: + $ref: '#/components/schemas/RoamingQBCInformation' + required: + - invocationTimeStamp + - invocationSequenceNumber + NFIdentification: + type: object + properties: + nFName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nFIPv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + nFIPv6Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + nFPLMNID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + nodeFunctionality: + $ref: '#/components/schemas/NodeFunctionality' + nFFqdn: + type: string + required: + - nodeFunctionality + MultipleUnitUsage: + type: object + properties: + ratingGroup: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup' + usedUnitContainer: + type: array + items: + $ref: '#/components/schemas/UsedUnitContainer' + minItems: 0 + uPFID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + multihomedPDUAddress: + $ref: '#/components/schemas/PDUAddress' + required: + - ratingGroup + InvocationResult: + type: object + properties: + error: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + failureHandling: + $ref: '#/components/schemas/FailureHandling' + Trigger: + type: object + properties: + triggerType: + $ref: '#/components/schemas/TriggerType' + triggerCategory: + $ref: '#/components/schemas/TriggerCategory' + timeLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + volumeLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + volumeLimit64: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + eventLimit: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + maxNumberOfccc: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + required: + - triggerType + - triggerCategory + UsedUnitContainer: + type: object + properties: + serviceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceId' + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + triggerTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + serviceSpecificUnits: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + eventTimeStamps: + type: array + + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + minItems: 0 + localSequenceNumber: + type: integer + pDUContainerInformation: + $ref: '#/components/schemas/PDUContainerInformation' + required: + - localSequenceNumber + PDUSessionChargingInformation: + type: object + properties: + chargingId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' + userInformation: + $ref: '#/components/schemas/UserInformation' + userLocationinfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + mAPDUNon3GPPUserLocationInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + userLocationTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + pduSessionInformation: + $ref: '#/components/schemas/PDUSessionInformation' + unitCountInactivityTimer: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + rANSecondaryRATUsageReport: + $ref: '#/components/schemas/RANSecondaryRATUsageReport' + required: + - pduSessionInformation + UserInformation: + type: object + properties: + servedGPSI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' + servedPEI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + unauthenticatedFlag: + type: boolean + roamerInOut: + $ref: '#/components/schemas/RoamerInOut' + PDUSessionInformation: + type: object + properties: + networkSlicingInfo: + $ref: '#/components/schemas/NetworkSlicingInfo' + pduSessionID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId' + pduType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' + sscMode: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' + hPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + servingNetworkFunctionID: + $ref: '#/components/schemas/ServingNetworkFunctionID' + ratType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + mAPDUNon3GPPRATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + dnnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + chargingCharacteristics: + type: string + chargingCharacteristicsSelectionMode: + $ref: '#/components/schemas/ChargingCharacteristicsSelectionMode' + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + stopTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + sessionStopIndicator: + type: boolean + pduAddress: + $ref: '#/components/schemas/PDUAddress' + diagnostics: + $ref: '#/components/schemas/Diagnostics' + authorizedQoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AuthorizedDefaultQos' + subscribedQoSInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos' + authorizedSessionAMBR: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + subscribedSessionAMBR: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr' + servingCNPlmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + mAPDUSessionInformation: + $ref: '#/components/schemas/MAPDUSessionInformation' + enhancedDiagnostics: + $ref: '#/components/schemas/EnhancedDiagnostics5G' + required: + - pduSessionID + - dnnId + PDUContainerInformation: + type: object + properties: + timeofFirstUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeofLastUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData' + qoSCharacteristics: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosCharacteristics' + aFCorrelationInformation: + type: string + userLocationInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + servingNodeID: + type: array + items: + $ref: '#/components/schemas/ServingNetworkFunctionID' + minItems: 0 + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + sponsorIdentity: + type: string + applicationserviceProviderIdentity: + type: string + chargingRuleBaseName: + type: string + mAPDUSteeringFunctionality: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringFunctionality' + mAPDUSteeringMode: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringMode' + NetworkSlicingInfo: + type: object + properties: + sNSSAI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + required: + - sNSSAI + PDUAddress: + type: object + properties: + pduIPv4Address: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + pduIPv6AddresswithPrefix: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + pduAddressprefixlength: + type: integer + iPv4dynamicAddressFlag: + type: boolean + iPv6dynamicPrefixFlag: + type: boolean + ServingNetworkFunctionID: + type: object + properties: + servingNetworkFunctionInformation: + $ref: '#/components/schemas/NFIdentification' + aMFId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfId' + required: + - servingNetworkFunctionInformation + RoamingQBCInformation: + type: object + properties: + multipleQFIcontainer: + type: array + items: + $ref: '#/components/schemas/MultipleQFIcontainer' + minItems: 0 + uPFID: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + roamingChargingProfile: + $ref: '#/components/schemas/RoamingChargingProfile' + MultipleQFIcontainer: + type: object + properties: + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + triggerTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + time: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + totalVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + localSequenceNumber: + type: integer + qFIContainerInformation: + $ref: '#/components/schemas/QFIContainerInformation' + required: + - localSequenceNumber + QFIContainerInformation: + type: object + properties: + qFI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + timeofFirstUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeofLastUsage: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + qoSInformation: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData' + qoSCharacteristics: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosCharacteristics' + userLocationInformation: + $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' + uetimeZone: + $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' + presenceReportingAreaInformation: + type: object + additionalProperties: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' + minProperties: 0 + rATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + servingNetworkFunctionID: + type: array + items: + $ref: '#/components/schemas/ServingNetworkFunctionID' + minItems: 0 + 3gppPSDataOffStatus: + $ref: '#/components/schemas/3GPPPSDataOffStatus' + RoamingChargingProfile: + type: object + properties: + triggers: + type: array + items: + $ref: '#/components/schemas/Trigger' + minItems: 0 + partialRecordMethod: + $ref: '#/components/schemas/PartialRecordMethod' + RANSecondaryRATUsageReport: + type: object + properties: + rANSecondaryRATType: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' + qosFlowsUsageReports: + type: array + items: + $ref: '#/components/schemas/QosFlowsUsageReport' + Diagnostics: + type: integer + IPFilterRule: + type: string + QosFlowsUsageReport: + type: object + properties: + qFI: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi' + startTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTimestamp: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + uplinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + downlinkVolume: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64' + MAPDUSessionInformation: + type: object + properties: + mAPDUSessionIndicator: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/MaPduIndication' + aTSSSCapability: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AtsssCapability' + EnhancedDiagnostics5G: + $ref: '#/components/schemas/RanNasCauseList' + RanNasCauseList: + type: array + items: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RanNasRelCause' + NodeFunctionality: + anyOf: + - type: string + enum: + - SMF + - SMSF + - type: string + ChargingCharacteristicsSelectionMode: + anyOf: + - type: string + enum: + - HOME_DEFAULT + - ROAMING_DEFAULT + - VISITING_DEFAULT + - type: string + TriggerType: + anyOf: + - type: string + enum: + - FINAL + - ABNORMAL_RELEASE + - QOS_CHANGE + - VOLUME_LIMIT + - TIME_LIMIT + - EVENT_LIMIT + - PLMN_CHANGE + - USER_LOCATION_CHANGE + - RAT_CHANGE + - SESSION_AMBR_CHANGE + - UE_TIMEZONE_CHANGE + - TARIFF_TIME_CHANGE + - MAX_NUMBER_OF_CHANGES_IN_CHARGING_CONDITIONS + - MANAGEMENT_INTERVENTION + - CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA + - CHANGE_OF_3GPP_PS_DATA_OFF_STATUS + - SERVING_NODE_CHANGE + - REMOVAL_OF_UPF + - ADDITION_OF_UPF + - INSERTION_OF_ISMF + - REMOVAL_OF_ISMF + - CHANGE_OF_ISMF + - START_OF_SERVICE_DATA_FLOW + - GFBR_GUARANTEED_STATUS_CHANGE + - ADDITION_OF_ACCESS + - REMOVAL_OF_ACCESS + - START_OF_SDF_ADDITIONAL_ACCESS + - type: string + TriggerCategory: + anyOf: + - type: string + enum: + - IMMEDIATE_REPORT + - DEFERRED_REPORT + - type: string + FailureHandling: + anyOf: + - type: string + enum: + - TERMINATE + - CONTINUE + - RETRY_AND_TERMINATE + - type: string + SessionFailover: + anyOf: + - type: string + enum: + - FAILOVER_NOT_SUPPORTED + - FAILOVER_SUPPORTED + - type: string + 3GPPPSDataOffStatus: + anyOf: + - type: string + enum: + - ACTIVE + - INACTIVE + - type: string + ResultCode: + anyOf: + - type: string + enum: + - SUCCESS + - END_USER_SERVICE_DENIED + - type: string + PartialRecordMethod: + anyOf: + - type: string + enum: + - DEFAULT + - INDIVIDUAL + - type: string + RoamerInOut: + anyOf: + - type: string + enum: + - IN_BOUND + - OUT_BOUND + - type: string diff --git a/src/amf/nausf-handler.c b/src/amf/nausf-handler.c index ef94768cd..13577e42b 100644 --- a/src/amf/nausf-handler.c +++ b/src/amf/nausf-handler.c @@ -25,7 +25,7 @@ int amf_nausf_auth_handle_authenticate( { int r; OpenAPI_ue_authentication_ctx_t *UeAuthenticationCtx = NULL; - OpenAPI_av5g_aka_t *AV5G_AKA = NULL; + OpenAPI_ue_authentication_ctx_5g_auth_data_t *AV5G_AKA = NULL; OpenAPI_links_value_schema_t *LinksValueSchemeValue = NULL; OpenAPI_map_t *LinksValueScheme = NULL; OpenAPI_lnode_t *node = NULL; diff --git a/src/ausf/nudm-handler.c b/src/ausf/nudm-handler.c index 086948ca4..360c75d63 100644 --- a/src/ausf/nudm-handler.c +++ b/src/ausf/nudm-handler.c @@ -46,7 +46,7 @@ bool ausf_nudm_ueau_handle_get(ausf_ue_t *ausf_ue, OpenAPI_authentication_info_result_t *AuthenticationInfoResult = NULL; OpenAPI_authentication_vector_t *AuthenticationVector = NULL; OpenAPI_ue_authentication_ctx_t UeAuthenticationCtx; - OpenAPI_av5g_aka_t AV5G_AKA; + OpenAPI_ue_authentication_ctx_5g_auth_data_t AV5G_AKA; OpenAPI_map_t *LinksValueScheme = NULL; OpenAPI_links_value_schema_t LinksValueSchemeValue;