blob: 9c2ec1b6be756da0efc7002274a43a50e922656b [file] [log] [blame]
# SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
#
# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
package aether_2_1_0
echo[config] {
config := input
}
allowed[config] {
access_profile := access_profiles # refer to rule below
subscriber := subscribers
apn_profile := apn_profiles
connectivity_service := connectivityservices
enterprise := enterprises
qos_profile := qos_profiles
security_profile := security_profiles
service_profile := service_profiles
service_group := service_groups
service_policy := service_policies
service_rule := service_rules
up_profile := up_profiles
config := {
"access_profile": {
"access_profile": [
access_profile
]
},
"subscriber": {
"ue": [
subscriber
]
},
"apn_profile": {
"apn_profile": [
apn_profile
]
},
"connectivity-service": {
"connectivity-service": [
connectivity_service
]
},
"enterprise": {
"enterprise": [
enterprise
]
},
"qos_profile": {
"qos_profile": [
qos_profile
]
},
"security_profile": {
"security_profile": [
security_profile
]
},
"service_profile": {
"service_profile": [
service_profile
]
},
"service_group": {
"service_group": [
service_group
]
},
"service_policy": {
"service_policy": [
service_policy
]
},
"service_rule": {
"service_rule": [
service_rule
]
},
"up_profile": {
"up_profile": [
up_profile
]
},
}
}
access_profiles[access_profile] {
access_profile := input.access_profile.access_profile[_]
}
subscribers[subscriber] {
subscriber := input.subscriber.ue[_]
}
apn_profiles[apn_profile] {
apn_profile := input.apn_profile.apn_profile[_]
}
connectivityservices[connectivity_service] {
enterprise := input.enterprise.enterprise[_]
enterprise_cs := enterprise.connectivity_service[_]
connectivity_service := input.connectivity_service.connectivity_service[_]
["AetherROCAdmin", enterprise.id][_] == input.groups[i]
enterprise_cs.connectivity_service == connectivity_service.id
}
enterprises[enterprise] {
enterprise := input.enterprise.enterprise[_]
["AetherROCAdmin", enterprise.id][_] == input.groups[_]
}
qos_profiles[qos_profile] {
qos_profile := input.qos_profile.qos_profile[_]
}
security_profiles[security_profile] {
security_profile := input.security_profile.security_profile[_]
}
service_profiles[service_profile] {
service_profile := input.service_profile.service_profile[_]
}
service_groups[service_group] {
service_group := input.service_group.service_group[_]
}
service_policies[service_policy] {
service_policy := input.service_policy.service_policy[_]
}
service_rules[service_rule] {
service_rule := input.service_rule.service_rule[_]
}
up_profiles[up_profile] {
up_profile := input.up_profile.up_profile[_]
}