* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
* ============LICENSE_END=========================================================
*/
"isMemberOf,OUT,Many2Many,false,false,false,true")
.putAll("l3-network|vpn-binding",
"usesVpnBinding,OUT,Many2Many,false,false,false,false")
+ .putAll("l3-network|instance-group",
+ "memberOf,OUT,Many2Many,false,false,false,false")
.putAll("l3-network|subnet",
"hasSubnet,OUT,Many2Many,true,false,false,reverse")
.putAll("l3-network|service-instance",
.putAll("allotted-resource|instance-group", "isMemberOf,OUT,Many2Many,false,false,false,false")
.putAll("allotted-resource|network-policy", "uses,OUT,One2One,false,false,false,false")
.putAll("allotted-resource|vlan", "isPartOf,OUT,Many2Many,false,false,false,false")
+ .putAll("allotted-resource|l-interface", "uses,OUT,One2Many,false,false,false,false")
.putAll("generic-vnf|instance-group", "isMemberOf,OUT,Many2Many,false,false,false,false")
.putAll("service-instance|instance-group", "isMemberOf,OUT,Many2Many,false,false,false,false")
.putAll("allotted-resource|tunnel-xconnect", "has,OUT,One2One,true,false,false,false")
.putAll("zone|complex", "existsIn,OUT,Many2One,false,false,false,false")
.putAll("service-instance|allotted-resource", "has,OUT,Many2Many,true,false,false,false")
.putAll("service-instance|allotted-resource", "uses,OUT,Many2Many,false,false,false,false")
+ .putAll("allotted-resource|vpn-binding", "belongsTo,OUT,Many2Many,false,false,false,false")
+ .putAll("allotted-resource|allotted-resource", "bindsTo,OUT,One2One,false,false,false,false")
.build();
-
+
public static final Multimap<String, String> DefaultDeleteScope = new ImmutableSetMultimap.Builder<String, String>()
.putAll("customer", "CASCADE_TO_CHILDREN")
.putAll("cloud-region", "THIS_NODE_ONLY")
.putAll("generic-vnf", "CASCADE_TO_CHILDREN")
.putAll("l3-network", "CASCADE_TO_CHILDREN")
.putAll("ctag-pool", "THIS_NODE_ONLY")
- .putAll("subnet", "THIS_NODE_ONLY")
+ .putAll("subnet", "ERROR_IF_ANY_IN_EDGES")
.putAll("sriov-vf", "THIS_NODE_ONLY")
- .putAll("vpn-binding", "ERROR_IF_ANY_IN_EDGES")
+ .putAll("vpn-binding", "ERROR_4_IN_EDGES_OR_CASCADE")
.putAll("vnf-image", "ERROR_IF_ANY_IN_EDGES")
.putAll("site-pair-set", "CASCADE_TO_CHILDREN")
.putAll("routing-instance", "CASCADE_TO_CHILDREN")
.putAll("entitlement","THIS_NODE_ONLY")
.putAll("license","THIS_NODE_ONLY")
.putAll("zone", "THIS_NODE_ONLY")
- .putAll("route-target", "CASCADE_TO_CHILDREN").build();
-
- // NOTE -- Sorry, this is ugly, but we are mapping the nodeTypeCategory two
- // ways just to
- // make the code a little less bulky. But that means that we need to ensure
- // that
- // nodeTypeCategory and nodeTypeCatMap are kept in synch.
-
- // NodeTypeCategory: key is: nodeTypeCategory, value is:
- // "nodeTypes,keyProperties,AltKeyProps,depNode4UniquenessFlag"
- public static final Multimap<String, String> NodeTypeCategory = new ImmutableSetMultimap.Builder<String, String>()
- .putAll("vnf", "vce|vpe|generic-vnf,vnf-id,,true").build();
-
- // NodeTypeCatMap: key is nodeType; value is: "nodeTypeCategory"
- // So -- we're assuming that a nodeType can only be in one nodeTypeCategory.
- public static final Map<String, String> NodeTypeCatMap;
- static {
- NodeTypeCatMap = new HashMap<String, String>();
- NodeTypeCatMap.put("vpe", "vnf");
- NodeTypeCatMap.put("vce", "vnf");
- NodeTypeCatMap.put("generic-vnf", "vnf");
- }
-
- // ReservedPropNames: keys are property names of (node) properties that are
- // common to all nodes and
- // should not be removed if not passed in on an UPDATE request.
- public static final Map<String, String> ReservedPropNames;
- static {
- ReservedPropNames = new HashMap<String, String>();
- ReservedPropNames.put("source-of-truth", "");
- ReservedPropNames.put("last-mod-source-of-truth", "");
- ReservedPropNames.put("aai-created-ts", "");
- ReservedPropNames.put("aai-last-mod-ts", "");
- }
-
- // This just lists which node types can be connected to themselves recursively.
- // It's temporary - since DbEdgeRules is going to be overhauled in 16-10, this will
- // get generated automatically. But for 1607, it can work like this.
- public static final Map<String, String> CanBeRecursiveNT;
- static {
- CanBeRecursiveNT = new HashMap<String, String>();
- CanBeRecursiveNT.put("model-element", "");
- CanBeRecursiveNT.put("service-instance", "");
- CanBeRecursiveNT.put("named-query-element", "");
- }
-
+ .putAll("route-target", "CASCADE_TO_CHILDREN")
+ .putAll("sriov-pf", "THIS_NODE_ONLY").build();
}