Versionsinformationen
Neuheiten
-
Erweiterte JOIN-Anweisungen für Ausgaben
Ergänzend zu den in Version 4.0 eingeführten JOIN-Anweisungen kommt hinzu:
union_join_ref
(s.a. Beispiel) -
Eventlog-Ausgabe bzw. Suche über
evlog.record.list
Die Eventlog-Daten wurden bereits mit Inbetriebnahme der Version 4.0 neu strukturiert. Dadurch können die Daten ab Logdatum 1.10.2023 auch nach dem Vorkommen eines Parameternamens, -status oder -wertes durchsucht werden. Daten, die vor diesem Logdatum geschrieben wurden, können nur mittels RegExp durchsucht werden. Durch den neuen Parameter
log_params_dict
kann gezielt nach Parametertupeln (Name, Status, Wert bzw. RegExp eines Records) gesucht werden. Unabhängig davon kann mit den neuen Parameternlog_param_fq_name
,log_param_state
,log_param_value
,log_param_value_regexp
record-übergreifend gesucht werden. Weitere Details zur Verwendung des Parameterslog_params_dict
sind in dessen Parameterbeschreibung hinterlegt. -
Steuerung der Constraint-Validierung
Deferrable Constraints können vor jedem Statement auf
deferred
und nach jedem Statement aufimmediate
gesetzt werden. -
Abfrage veralteter Objektattribute/Parameter über
wapi.function.list
mitparameter_is_deprecated=true
möglich.
Änderungen
-
Ausgabe von Objekten relational verbundener Objekttypen mit JOIN-Anweisungen:
-
Der Lesezugriff des Nachfolger-Statements wird nicht mehr automatisch in beide Richtungen übertragen, sondern es wird nach der JOIN-Richtung unterschieden:
- Parent joins Child
- Child joins Parent
-
aktuell ist diese Unterscheidung nur in den Constraints
api_fkey_nd_l2p_port_l
undapi_fkey_nd_l2p_port_p
aktiviert: Die Leserichtungen vonnd.l2p_port
nachnd.l_port
undnd.p_port
nachnd.l2p_port
sind nicht freigegeben.
-
-
Zugangskonzept: strikte Trennung in administrative Rechte und operative Rechte (OE-Betreuer)
- die bisherige implizite Rechteausübung als OE-Betreuer (operative Rechte entsprachen automatisch den administrativen Rechten) wird aufgehoben.
- Um operative Rechte ausüben zu können, müssen auch OE-Betreuer in den entsprechenden Gruppen eingetragen sein. Dh. OE-Betreuer zu sein, reicht alleine nicht aus.
- Diese Änderung gilt für alle WebAPI-Versionen.
-
Ausgabe der Rollen/Permissions (Hierarchieabfragen):
-
die Attribute
cntl.role.contained_permissions
cntl.role.contained_roles
entfallen, da die Permission-Beschreibung als direktes Attribut auch nicht mehr verfügbar ist (und als Sprachattribut separat abgefragt werden muss).
-
das Attribut
cntl.role.hierarchy_gfk_list
ist stattdessen neu, wie auch die dazugehörigen Funktionsconstraintsapi_func_cntl_role_hierarchy_gfk_list_is_intersection
api_func_cntl_role_hierarchy_gfk_list_is_subset
api_func_cntl_role_hierarchy_gfk_list_is_superset
um enthaltene/enthaltende Rollen abzufragen. Die Modellierung ist analog anderer hierarchisch modellierter Objekttypen wie z.B.
org.unit
,nd.module
.
-
-
Der folgende Constraint wurde umbenannt und gilt NICHT mehr in älteren WebAPI-Versionen (dh. nur ab 4.1):
- Objekttyp
nd.p_port
:api_func_nd_p_port_is_intersect_of_conn_node_set
->api_func_nd_p_port_is_contained_by_conn_id_gfk_list
- Objekttyp
-
Die folgenden Constraints haben ein geändertes Objettyp-Attribut, das erst seit 4.1 definiert ist (
rr_chain_target_subnet_list
->rr_chain_target_subnet_gfk_list
) und gelten deshalb gilt NICHT mehr in älteren WebAPI-Versionen (dh. nur ab 4.1):- Objekttyp
dns.fqdn
:api_func_dns_fqdn_rr_chain_target_contains_subnet
- Objekttyp
dns.record
:api_func_dns_record_rr_chain_target_contains_subnet
- Objekttyp
-
Die folgenden Constraints wurden umbenannt und gelten in allen WebAPI-Versionen (dh. müssen ggf. auch dort angepasst werden, da Constraints nicht versionsbezogen sind):
-
Objekttyp
dns.fqdn
:api_func_dns_fqdn_is_intersect_of_root_node_set
->api_func_dns_fqdn_hierarchy_gfk_list_is_intersection
api_func_dns_fqdn_is_subset_of_root_node_set
->api_func_dns_fqdn_hierarchy_gfk_list_is_subset
api_func_dns_fqdn_is_superset_of_root_node_set
->api_func_dns_fqdn_hierarchy_gfk_list_is_superset
-
Objekttyp
nd.module
:api_func_nd_module_is_intersect_of_root_node_set
->api_func_nd_module_hierarchy_gfk_list_is_intersection
api_func_nd_module_is_subset_of_root_node_set
->api_func_nd_module_hierarchy_gfk_list_is_subset
api_func_nd_module_is_superset_of_root_node_set
->api_func_nd_module_hierarchy_gfk_list_is_superset
-
Objekttyp
ndcfg.slot2module_type_tree
:api_func_ndcfg_st2mt_tree_is_intersect_of_root_node_set
->api_func_ndcfg_st2mt_tree_hierarchy_gfk_list_is_intersection
api_func_ndcfg_st2mt_tree_is_subset_of_root_node_set
->api_func_ndcfg_st2mt_tree_hierarchy_gfk_list_is_subset
api_func_ndcfg_st2mt_tree_is_superset_of_root_node_set
->api_func_ndcfg_st2mt_tree_hierarchy_gfk_list_is_superset
-
Objekttyp
org.unit
:api_func_org_unit_is_intersect_of_root_node_set
->api_func_org_unit_hierarchy_gfk_list_is_intersection
api_func_org_unit_is_subset_of_root_node_set
->api_func_org_unit_hierarchy_gfk_list_is_subset
api_func_org_unit_is_superset_of_root_node_set
->api_func_org_unit_hierarchy_gfk_list_is_superset
-
Parameterumstellung (Skalarkontext -> Arraykontext)
-
Die folgenden Objekttypattribute sind für die Funktion
list
nur noch in der aktuellen Version 4.1 verwendbar (deprecated) und muessen ab Version 4.2 auf die Array-Kontext-Variante umgestellt werden (Parametername wird durch das Suffix_list
ergänzt, Parameterwert muss als Array übergeben werden):cntl.column.table_name
cntl.column_kvtab.column_name
cntl.column_kvtab.key
cntl.column_kvtab.table_name
cntl.constraint.name
cntl.constraint.table_name
cntl.data_type.name
cntl.data_type_operator.name
cntl.error.code
cntl.error.type
cntl.group.name
cntl.language.tag
cntl.mgr.login_name
cntl.ot_attr_def.key_word
cntl.ot_attr_def.object_type_fq_name
cntl.ot_attr_key.object_type_fq_name
cntl.ot_attr_key.ot_attr_def_key_word
cntl.ot_attr_key.ref_object_gfk
cntl.ot_lang_attr_def.key_word
cntl.ot_lang_attr_def.object_type_fq_name
cntl.replication.name
cntl.replication_pub2sub.publisher_fqdn
cntl.replication_pub2sub.replication_name
cntl.role2role.contained_role_fq_name
cntl.role2role.role_fq_name
cntl.system.name
cntl.table.name
dhcpcfg.dt2operator2dt.left_data_type
dhcpcfg.dt2operator2dt.operator
dhcpcfg.dt2operator2dt.right_data_type
dhcpcfg.operator.name
dhcpv4.global_option.code
dhcpv4.og.ip_subnet_cidr
dhcpv4.subnet_option.ip_subnet_cidr
dns.fqdn.value
dns.fqdn2group.fqdn_value
dns.fqdn2group.group_name
dns.fqdn2ou.fqdn_value
dns.fqdn2ou.ou_short_name
dns.record.data
dns.record.type
dns.zone.fqdn
dnscfg.ns_set.name
dnscfg.ns_set_host.host_fqdn
dnscfg.ns_set_host.ns_set_name
dnscfg.ns_set_member.ns_fqdn
dnscfg.ns_set_member.ns_set_name
dnscfg.record_type.name
macauth.client.mac_addr
nd.bcd.name
nd.bcd2ou.bcd_name
nd.bcd2ou.ou_short_name
nd.bldg.number
nd.device.fqdn
nd.diq_ta_entry.dev_fqdn
nd.diq_ta_entry.diq_ta_gfk
nd.floor.name
nd.ip_intf.dev_fqdn
nd.ip_intf.ip_addr
nd.ip_intf.l_port
nd.ip_subnet.cidr
nd.l_port.dev_fqdn
nd.l_port.name
nd.module.bldg
nd.module.fq_name
nd.module.room
nd.module2ap.mdl_fq_name
nd.module2device.dev_fqdn
nd.module2device.mdl_fq_name
nd.p_port.name
nd.room.bldg
nd.room.number
nd.site.fq_name
nd.slot.fq_name
nd.vlan.id
nd.vlan.net_instnc
nd.vxlan.vni
ndcfg.bcd_categ.name
ndcfg.bcd_seclvl.value
ndcfg.device_type.name
ndcfg.module2slot_type.module_type
ndcfg.module2slot_type.slot_type
ndcfg.module_type.name
ndcfg.module_type_class.name
ndcfg.net_cmpnd.name
ndcfg.net_cmpnd2instnc.net_cmpnd
ndcfg.net_cmpnd2instnc.net_instnc
ndcfg.net_instnc.name
ndcfg.parser.name
ndcfg.parser2sysdescr.sysdescr
ndcfg.p_port2module_type.module_type
ndcfg.p_port_type.name
ndcfg.p_port_type_group.name
ndcfg.site_type.short_name
ndcfg.site_type2type.child_short_name
ndcfg.site_type2type.parent_short_name
ndcfg.slot2module_type.module_type
ndcfg.slot2module_type.slot_type
ndcfg.slot2module_type_tree.module_type
ndcfg.slot2module_type_tree.slot_type
ndcfg.slot_type_class.name
nm.access_group.name
org.unit.short_name