diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/common_config.yaml | 141 | ||||
-rw-r--r-- | config/has_config.yaml | 49 | ||||
-rw-r--r-- | config/log.yml | 100 | ||||
-rwxr-xr-x | config/opteng_config.yaml | 25 | ||||
-rwxr-xr-x | config/osdf_config.yaml | 105 | ||||
-rwxr-xr-x | config/preload_secrets.yaml | 104 | ||||
-rw-r--r-- | config/slicing_config.yaml | 96 |
7 files changed, 485 insertions, 135 deletions
diff --git a/config/common_config.yaml b/config/common_config.yaml index 9a4f1d7..713e15f 100644 --- a/config/common_config.yaml +++ b/config/common_config.yaml @@ -11,54 +11,167 @@ osdf_temp: # special configuration required for "workarounds" or testing local_policies: global_disabled: True local_placement_policies_enabled: True + local_slice_selection_policies_enabled: True + local_nst_selection_policies_enabled: True placement_policy_dir_vcpe: "./test/policy-local-files/" placement_policy_files_vcpe: # workaroud for policy platform glitches (or "work-arounds" for other components) - Affinity_vCPE_1.json + - Attribute_vNS_1.json #- Capacity_vGMuxInfra.json #- Capacity_vG_1.json - - Distance_vGMuxInfra_1.json - Distance_vG_1.json + - Distance_vGMuxInfra_1.json + - hpa_policy_vG_1.json + - hpa_policy_vGMuxInfra_1.json - Placement_Optimization_1.json - QueryPolicy_vCPE.json - #- hpa_policy_vGMuxInfra_1.json - #- hpa_policy_vG_1.json - vnfPolicy_vG.json - vnfPolicy_vGMuxInfra.json + placement_policy_dir_vfw: "./test/policy-local-files/" + placement_policy_files_vfw: # workaroud for policy platform glitches (or "work-arounds" for other components) + #- Capacity_vFW_1.json + - Distance_vFW_1.json + - hpa_policy_vFW_1.json + - Placement_Optimization_1.json + - QueryPolicy_vFW.json + - vnfPolicy_vFW.json + placement_policy_dir_vfw_td: "./test/policy-local-files/" + placement_policy_files_vfw_td: + - vnfPolicy_vFW_TD.json + - vnfPolicy_vPGN_TD.json + - Affinity_vFW_TD.json + - QueryPolicy_vFW_TD.json + slice_selection_policy_dir_embb-nst: "./test/policy-local-files/slice-selection-files/" + slice_selection_policy_files_embb-nst: + - query_policy_nsi.json + - threshold_policy_nsi.json + - vnf_policy_nsi_shared_case.json + nst_selection_policy_dir_embb-nst: "./test/policy-local-files/nst-selection-files/" + nst_selection_policy_files_embb-nst: + - query_policy_nst.json + - attribute_policy_nst.json + - vnf_policy_nst.json + nst_selection_policy_dir_nst: "./test/policy-local-files/nst-selection-files/" + nst_selection_policy_files_nst: + - query_policy_nst.json + - attribute_policy_nst.json + - vnf_policy_nst.json + - optimization_policy_nst.json + service_info: vCPE: vcpeHostName: requestParameters.vcpeHostName e2eVpnKey: requestParameters.e2eVpnKey + vFW: + vcpeHostName: requestParameters.vcpeHostName + e2eVpnKey: requestParameters.e2eVpnKey references: service_name: source: request value: serviceInfo.serviceName + resource: + source: request + value: placementInfo.placementDemands.resourceModuleName subscriber_role: - source: SubscriberPolicy - value: content.properties.subscriberRole + source: onap.policies.optimization.SubscriberPolicy + value: properties.properties.subscriberRole + slice_scope: + source: request + value: slice_scope policy_info: prioritization_attributes: policy_type: - - content.policyType + - type resources: - - content.resources - - content.objectiveParameter.parameterAttributes.resources + - properties.resources + - properties.objectiveParameter.parameterAttributes.resources service_name: - - content.serviceName + - properties.services - placement: + slice_selection: policy_fetch: by_scope policy_scope: - default_scope: OSDF_R2 - vcpe_scope: OSDF_R2 - secondary_scopes: - - + - + scope: + - get_param: slice_scope + services: + - get_param: service_name + resources: - get_param: service_name + + nst_selection: + policy_fetch: by_scope + policy_scope: + - + scope: + - OSDF_GUILIN + services: + - nst + resources: + - nst + + nsst_selection: + policy_fetch: by_scope + policy_scope: + - + scope: + - OSDF_GUILIN + services: + - nsst + resources: + - nsst + + subnet_selection: + policy_fetch: by_scope + policy_scope: + - scope: + - OSDF_GUILIN + services: + - get_param: service_name + resources: + - get_param: service_name + + placement: + policy_fetch: by_scope + policy_scope: + - + scope: + - OSDF_FRANKFURT + geography: - US + services: + - get_param: service_name + resources: + - get_param: resource # - # - get_param: service_name # - get_param: subscriber_role default: # if no explicit service related information is needed policy_fetch: by_name policy_scope: none + +PCI: + ML: + average_ho_threshold: 10000 + latest_ho_threshold: 500 + DES: + service_id: ho_metric + filter: + interval: 10 + ml_enabled: false + +nxi_termination: + query_templates: + nsi: "service-instance*('service-instance-id','{{instance_id}}') > service-instance*('service-role','e2eserviceprofile-service')" + nsi_with_profile: "service-instance*('service-instance-id','{{instance_id}}') > service-instance*('service-role','e2eserviceprofile-service')('service-instance-id','{{profile_id}}')" + nssi: + - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'CN') > service-instance*('service-role','nsi')" + - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'CN') > service-instance*('service-role','nsi')" + - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'TN-BH') > service-instance*('service-role','nsi')" + - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'AN') > service-instance*('service-role','nsi')" + - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'AN-NF') > service-instance*('workload-context','AN')" + - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'TN-MH') > service-instance*('workload-context','AN')" + - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'TN-FH') > service-instance*('workload-context','AN')" + - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'AN-NF') > service-instance*('workload-context','AN')" diff --git a/config/has_config.yaml b/config/has_config.yaml index 9200daf..2f4a1cd 100644 --- a/config/has_config.yaml +++ b/config/has_config.yaml @@ -1,26 +1,35 @@ policy_config_mapping: - attributes: - hypervisor: hypervisor, - cloud_version: cloudVersion, - cloud_type: cloudType, - dataplane: dataPlane, - network_roles: networkRoles, - complex: complex, - state: state, - country: country, - geo_region: geoRegion, - exclusivity_groups: exclusivityGroups, - replication_role: replicationRole, - customer-id: customerId, - service-type: serviceResourceId, - equipment-role: equipmentRole, - model-invariant-id: modelInvariantId, - model-version-id: modelVersionId + filtering_attributes: + hypervisor: hypervisor + cloudVersion: cloud_version + cloudType: cloud_type + dataPlane: dataplane + networkRoles: network_roles + complex: complex + state: state + country: country + geoRegion: geo_region + exclusivityGroups: exclusivity_groups + replicationRole: replication_role + customerId: customer_id + serviceResourceId: service-type + equipmentRole: equipment-role + modelInvariantId: model-invariant-id + modelVersionId: model-version-id + cloudRegionId: cloud-region-id + orchestrationStatus: orchestration-status + provStatus: prov-status + cloudRegion: cloud-region + cloud_region_attributes: + serviceRequests: service-requests + cloudRequests: cloud-requests + passthrough_attributes: {} + default_attributes: {} candidates: # for (k1, v1), if k1 is in demand, set prop[k2] = _get_candidates(demand[k1]) - exclusionCandidateInfo: excluded_candidates, - requiredCandidateInfo: required_candidates + excludedCandidates: excluded_candidates + requiredCandidates: required_candidates extra_fields: # we have [k1, k2, k3, k4] type items and x is policy-content-properties # if x[k1] == k2: set prop[k3] = k4 - - [inventoryType, cloud, region, {get_param: CHOSEN_REGION}]
\ No newline at end of file + - [inventoryType, cloud, region, {get_param: CHOSEN_REGION}] diff --git a/config/log.yml b/config/log.yml new file mode 100644 index 0000000..ad0de21 --- /dev/null +++ b/config/log.yml @@ -0,0 +1,100 @@ +version: 1 +disable_existing_loggers: True + +loggers: + error: + handlers: [error_handler, console_handler] + level: "WARN" + propagate: True + debug: + handlers: [debug_handler, console_handler] + level: "DEBUG" + propagate: True + metrics: + handlers: [metrics_handler, console_handler] + level: "INFO" + propagate: True + audit: + handlers: [audit_handler, console_handler] + level: "INFO" + propagate: True +handlers: + debug_handler: + level: "DEBUG" + class: "logging.handlers.TimedRotatingFileHandler" + filename: "logs/debug.log" + formatter: "debugFormat" + when: midnight + interval: 1 + utc: True + delay: False + backupCount: 10 + error_handler: + level: "WARN" + class: "logging.handlers.TimedRotatingFileHandler" + filename: "logs/error.log" + formatter: "errorFormat" + when: midnight + interval: 1 + utc: True + delay: False + backupCount: 10 + metrics_handler: + level: "INFO" + class: "logging.handlers.TimedRotatingFileHandler" + filename: "logs/metrics.log" + formatter: "metricsFormat" + when: midnight + interval: 1 + utc: True + delay: False + backupCount: 10 + audit_handler: + level: "INFO" + class: "logging.handlers.TimedRotatingFileHandler" + filename: "logs/audit.log" + formatter: "auditFormat" + when: midnight + interval: 1 + utc: True + delay: False + backupCount: 10 + console_handler: + level: "DEBUG" + class: "logging.StreamHandler" + formatter: "metricsFormat" + +formatters: + standard: + format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s" + debugFormat: + format: "%(mdc)s" + datefmt: "%Y-%m-%dT%H:%M:%S" + mdcfmt: "%(asctime)s.%(msecs)03d+00:00|{requestID}|%(threadName)s|{server}|%(levelname)s|%(message)s" + (): osdf.logging.oof_mdc_formatter.OOFMDCFormatter + errorFormat: + format: "%(mdc)s" + datefmt: "%Y-%m-%dT%H:%M:%S" + mdcfmt: "%(asctime)s.%(msecs)03d+00:00|{requestID}|%(threadName)s|{serviceName}|{partnerName}\ + |{targetEntity}|{targetServiceName}|%(levelname)s|{errorCode}|{errorDescription}|%(message)s" + (): osdf.logging.oof_mdc_formatter.OOFMDCFormatter + auditFormat: + format: "%(mdc)s" + datefmt: "%Y-%m-%dT%H:%M:%S" + mdcfmt: "{entryTimestamp}+00:00|%(asctime)s.%(msecs)03d+00:00|{requestID}|{serviceInstanceID}\ + |%(threadName)s|{server}|{serviceName}|{partnerName}|{statusCode}|{responseCode}|{responseDescription}\ + |{instanceUUID}|%(levelname)s|{severity}|{serverIPAddress}|{timer}|{server}|{IPAddress}||{unused}\ + |{processKey}|{customField1}|{customField2}|{customField3}|{customField4}|%(message)s" + (): osdf.logging.oof_mdc_formatter.OOFMDCFormatter + metricsFormat: + format: "%(mdc)s" + datefmt: "%Y-%m-%dT%H:%M:%S" + mdcfmt: "{entryTimestamp}+00:00|%(asctime)s.%(msecs)03d+00:00|{requestID}|{serviceInstanceID}\ + |%(threadName)s|{server}|{serviceName}|{partnerName}|{targetEntity}|{targetServiceName}|{statusCode}|{responseCode}|{responseDescription}\ + |{instanceUUID}|%(levelname)s|{severity}|{serverIPAddress}|{timer}|{server}|{IPAddress}||{unused}\ + |{processKey}|{TargetVirtualEntity}|{customField1}|{customField2}|{customField3}|{customField4}|%(message)s" + (): osdf.logging.oof_mdc_formatter.OOFMDCFormatter + mdcFormat: + format: "%(asctime)s.%(msecs)03d+00:00|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s" + mdcfmt: "{requestID} {invocationID} {serviceName} {serverIPAddress}" + (): osdf.logging.oof_mdc_formatter.OOFMDCFormatter diff --git a/config/opteng_config.yaml b/config/opteng_config.yaml new file mode 100755 index 0000000..6b61eb0 --- /dev/null +++ b/config/opteng_config.yaml @@ -0,0 +1,25 @@ +# Policy Platform -- requires Authorization +policyPlatformUrl: https://policy-xacml-pdp:6969/policy/pdpx/decision/v1 # Policy Dev platform URL + +# AAF Authentication config +is_aaf_enabled: False +aaf_cache_expiry_mins: 5 +aaf_url: https://aaftest.simpledemo.onap.org:8095 +aaf_user_roles: + - '/optmodel:org.onap.oof.access|*|read ALL' + - '/optengine:org.onap.oof.access|*|read ALL' + +# Secret Management Service from AAF +aaf_sms_url: http://localhost:10443 +aaf_sms_timeout: 30 +secret_domain: osdf +aaf_ca_certs: ssl_certs/aaf_root_ca.cer + +osdfDatabaseHost: localhost +osdfDatabaseSchema: osdf +osdfDatabaseUsername: osdf +osdfDatabasePassword: osdf +osdfDatabasePort: 3306 + +#key +appkey: os35@rrtky400fdntc#001t5 diff --git a/config/osdf_config.yaml b/config/osdf_config.yaml index b522919..6780d13 100755 --- a/config/osdf_config.yaml +++ b/config/osdf_config.yaml @@ -1,4 +1,4 @@ -placementVersioningEnabled: False +placementVersioningEnabled: True # Placement API latest version numbers to be set in HTTP header placementMajorVersion: "1" @@ -10,60 +10,34 @@ placementDefaultMajorVersion: "1" placementDefaultMinorVersion: "0" placementDefaultPatchVersion: "0" -# Credentials for SO -soUsername: "" # SO username for call back. -soPassword: "" # SO password for call back. - -# Credentials for Conductor +# Config for Conductor conductorUrl: http://172.17.0.6:8091/v1/plans/ -conductorUsername: admin1 -conductorPassword: plan.15 conductorPingWaitTime: 60 # seconds to wait before calling the conductor retry URL conductorMaxRetries: 30 # if we don't get something in 30 minutes, give up # versions to be set in HTTP header conductorMinorVersion: 0 -# Policy Platform -- requires ClientAuth, Authorization, and Environment -policyPlatformUrl: http://policy.api.simpledemo.onap.org:8081/pdp/api/getConfig # Policy Dev platform URL -policyPlatformEnv: TEST # Environment for policy platform -policyPlatformUsername: testpdp # Policy platform username. -policyPlatformPassword: alpha123 # Policy platform password. -policyClientUsername: python # For use with ClientAuth -policyClientPassword: test # For use with ClientAuth +# Policy Platform -- requires Authorization +policyPlatformUrl: https://policy-xacml-pdp:6969/policy/pdpx/v1/decision # Policy Dev platform URL +# URL for policy model uploading +policyPlatformUrlModelUpload: https://policy.api.simpledemo.onap.org:8081/policy/api/v1/policytypes +pathPolicyModelUpload: ../../models/policy/placement/tosca_upload/ -# Credentials for DMaaP +# Config for DMaaP messageReaderHosts: NA messageReaderTopic: NA -messageReaderAafUserId: NA -messageReaderAafPassword: NA -# Credentials for SDC +# Config for SDC sdcUrl: NA -sdcUsername: NA -sdcPassword: NA sdcONAPInstanceID: NA -# Credentials for the OOF placement service - Generic -osdfPlacementUsername: test -osdfPlacementPassword: testpwd - -# Credentials for the OOF placement service - SO -osdfPlacementSOUsername: so_test -osdfPlacementSOPassword: so_testpwd - -# Credentials for the OOF placement service - VFC -osdfPlacementVFCUsername: vfc_test -osdfPlacementVFCPassword: vfc_testpwd - -# Credentials for the OOF CM scheduling service - Generic -osdfCMSchedulerUsername: test1 -osdfCMSchedulerPassword: testpwd1 - +# AAF Authentication config is_aaf_enabled: False -aaf_cache_expiry_hrs: 3 +aaf_cache_expiry_mins: 5 aaf_url: https://aaftest.simpledemo.onap.org:8095 aaf_user_roles: - - /api/oof/v1/placement:org.onap.osdf.access|*|read ALL + - '/placement:org.onap.oof.access|*|read ALL' + - '/pci:org.onap.oof.access|*|read ALL' # Secret Management Service from AAF aaf_sms_url: https://aaf-sms.onap:10443 @@ -71,17 +45,50 @@ aaf_sms_timeout: 30 secret_domain: osdf aaf_ca_certs: ssl_certs/aaf_root_ca.cer +configClientType: configdb + # config db api configDbUrl: http://config.db.url:8080 -configDbUserName: osdf -configDbPassword: passwd configDbGetCellListUrl: 'SDNCConfigDBAPI/getCellList' configDbGetNbrListUrl: 'SDNCConfigDBAPI/getNbrList' - -# Credentials for PCIHandler -pciHMSUsername: "" # pcihandler username for call back. -pciHMSPassword: "" # pcihandler password for call back. - -# Credentials for the OOF PCI Opt service -osdfPCIOptUsername: pci_test -osdfPCIOptPassword: pci_testpwd +configDbUserName: '' +configDbPassword: '' + +# cps api +cpsUrl: http://cps-tbdmt:8000/execute +cpsCellListUrl: 'ran-network/getCellList' +cpsNbrListUrl: 'ran-network/getNbrList' +cpsUsername: '' +cpsPassword: '' + +#aai api +aaiUrl: "https://aai.url:30233" +aaiGetLinksUrl: "/aai/v16/network/logical-links" +aaiServiceInstanceUrl : "/aai/v20/nodes/service-instances/service-instance/" +aaiGetControllersUrl: /aai/v19/external-system/esr-thirdparty-sdnc-list +controllerQueryUrl: /aai/v19/query?format=resource +aaiGetInterDomainLinksUrl: /aai/v19/network/logical-links?link-type=inter-domain&operational-status=up +dslQueryPath: /aai/v23/dsl?format= + +#DES api +desUrl: http://des.url:9000 +desApiPath: /datalake/v1/exposure/ +desHeaders: + Accept: application/json + Content-Type: application/json +desUsername: +desPassword: + +pciHMSUsername: test +pciHMSPassword: passwd + +#key +#appkey: os35@rrtky400fdntc#001t5 + +#consulconfig +consulHost: '127.0.0.1' +consulPort: 8500 +consulScheme: 'http' +consulVerify: True +consulCert: None +activateConsulConfig: False diff --git a/config/preload_secrets.yaml b/config/preload_secrets.yaml index 1d2ea01..b95f1c1 100755 --- a/config/preload_secrets.yaml +++ b/config/preload_secrets.yaml @@ -1,55 +1,55 @@ --- domain: osdf secrets: -- name: so - values: - UserName: '' - Password: '' -- name: conductor - values: - UserName: admin1 - Password: plan.15 -- name: policyPlatform - values: - UserName: testpdp - Password: alpha123 -- name: policyClient - values: - UserName: python - Password: test -- name: dmaap - values: - UserName: NA - Password: NA -- name: sdc - values: - UserName: NA - Password: NA -- name: osdfPlacement - values: - UserName: test - Password: testpwd -- name: osdfPlacementSO - values: - UserName: so_test - Password: so_testpwd -- name: osdfPlacementVFC - values: - UserName: vfc_test - Password: vfc_testpwd -- name: osdfCMScheduler - values: - UserName: test1 - Password: testpwd1 -- name: configDb - values: - UserName: osdf - Password: passwd -- name: pciHMS - values: - UserName: '' - Password: '' -- name: osdfPCIOpt - values: - UserName: pci_test - Password: pci_testpwd + - name: so + values: + UserName: '' + Password: '' + - name: conductor + values: + UserName: admin1 + Password: 22234d3472ef5da8ecba5a096110a024f1db5cf195c665f910d558c9e83db19d + - name: policyPlatform + values: + UserName: healthcheck + Password: 49a03554e86ecdb8e9e224127791c579b44993b264549a333172af77c2ae95fc + - name: dmaap + values: + UserName: NA + Password: NA + - name: sdc + values: + UserName: NA + Password: NA + - name: osdfPlacement + values: + UserName: test + Password: c66b1570ae257375e500f9fe0e62b2a325466137ac5f29581e2e05cce1170212 + - name: osdfPlacementSO + values: + UserName: so_test + Password: 3d62d49b3e4ada38fd4146d2d82f4ba2f09345a46f15970cd439924c991b8202 + - name: osdfPlacementVFC + values: + UserName: vfc_test + Password: 1fb1cd581f96060d29ecad06be97151656bf29bce66bad587cd2fbaf5ea1e66d + - name: osdfCMScheduler + values: + UserName: test1 + Password: c5279fb02d7bac5269b1a644ac8e36f41f6ba7a2eae03dc469cb80d71811322b + - name: configDb + values: + UserName: osdf + Password: 40697f254409c2b97763892ecdeb50c847d605f5beb6f988f1c142a7e0344d0c + - name: pciHMS + values: + UserName: '' + Password: '' + - name: osdfPCIOpt + values: + UserName: pci_test + Password: fbf4dcb7f7cda8fdfb742838b0c90ae5bea249801f3f725fdc98941a6e4c347c + - name: osdfOptEngine + values: + UserName: opt_test + Password: 02946408ce6353d45540cd01d912686f19f48c3d8a955d5effdc14c6a43477e5 diff --git a/config/slicing_config.yaml b/config/slicing_config.yaml new file mode 100644 index 0000000..179f54a --- /dev/null +++ b/config/slicing_config.yaml @@ -0,0 +1,96 @@ +app_info: + NSI: + app_name: slice_selection + requirements_field: serviceProfile + model_info: NSTInfo + NSSI: + app_name: subnet_selection + requirements_field: sliceProfile + model_info: NSSTInfo + +attribute_mapping: + camel_to_snake: + maxBandwidth: max_bandwidth + jitter: jitter + sST: sst + latency: latency + resourceSharingLevel: resource_sharing_level + uEMobilityLevel: ue_mobility_level + maxNumberofUEs: max_number_of_ues + dLThptPerUE: dl_thpt_per_ue + uLThptPerUE: ul_thpt_per_ue + sNSSAI: s_nssai + pLMNIdList: plmn_id_list + activityFactor: activity_factor + coverageAreaTAList: coverage_area_ta_list + availability: availability + cSAvailabilityTarget: cs_availability_target + reliability: reliability + cSReliabilityMeanTime: cs_reliability_mean_time + dLThptPerSlice: dl_thpt_per_slice + expDataRateDL: exp_data_rate_dl + uLThptPerSlice: ul_thpt_per_slice + expDataRateUL: exp_data_rate_ul + maxPktSize: max_pkt_size + msgSizeByte: msg_size_byte + maxNumberofConns: max_number_of_conns + maxNumberofPDUSession: max_number_of_pdu_session + termDensity: terminal_density + survivalTime: survival_time + areaTrafficCapDL: area_traffic_cap_dl + areaTrafficCapUL: area_traffic_cap_ul + overallUserDensity: overall_user_density + transferIntervalTarget: transfer_interval_target + expDataRate: exp_data_rate + security: security + maxThroughput: max_throughput + sliceProfileId: slice_profile_id + snssaiList: s_nssai_list + domainType: domain_type + logicInterfaceId: logical_interface_id + ipAddress: ip_address + nextHopInfo: next_hop_info + perfReq: perf_req + + snake_to_camel: + max_bandwidth: maxBandwidth + jitter: jitter + sst: sST + latency: latency + resource_sharing_level: resourceSharingLevel + ue_mobility_level: uEMobilityLevel + max_number_of_ues: maxNumberofUEs + dl_thpt_per_ue: dLThptPerUE + ul_thpt_per_ue: uLThptPerUE + s_nssai: sNSSAI + plmn_id_list: pLMNIdList + activity_factor: activityFactor + coverage_area_ta_list: coverageAreaTAList + availability: availability + cs_availability_target: cSAvailabilityTarget + reliability: reliability + cs_reliability_mean_time: cSReliabilityMeanTime + dl_thpt_per_slice: dLThptPerSlice + exp_data_rate_dl: expDataRateDL + ul_thpt_per_slice: uLThptPerSlice + exp_data_rate_ul: expDataRateUL + max_pkt_size: maxPktSize + msg_size_byte: msgSizeByte + max_number_of_conns: maxNumberofConns + max_number_of_pdu_session: maxNumberofPDUSession + terminal_density: termDensity + survival_time: survivalTime + area_traffic_cap_dl: areaTrafficCapDL + area_traffic_cap_ul: areaTrafficCapUL + overall_user_density: overallUserDensity + transfer_interval_target: transferIntervalTarget + exp_data_rate: expDataRate + security: security + max_throughput: maxThroughput + slice_profile_id: sliceProfileId + s_nssai_list: snssaiList + domain_type: domainType + logical_interface_id: logicInterfaceId + ip_address: ipAddress + next_hop_info: nextHopInfo + perf_req: perfReq |