...
Here are json string forms of the directed graphs that can be imported into DGBuilder. You can use them for testing if your instance doesn't have them loaded yet. Simply SAVE , Upload xml and Activate the DG. You will need the main DG, the validate-service-input and the service-toplogy-operation-assign DG to test the sunny day thread through the API.
Expand | ||
---|---|---|
| ||
[{"id":"d3b12978.a07958","type":"dgstart","name":"DGSTART","outputs":1,"x":155,"y":131.4136562347412,"z":"e8bc9b98.816858","wires":[["b7396d0e.8f0cc"]]},{"id":"b7396d0e.8f0cc","type":"service-logic","name":"GENERIC-RESOURCE-API 0.0.1","module":"GENERIC-RESOURCE-API","version":"0.0.1","comments":"","xml":"<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='0.0.1'>","outputs":1,"x":230.28570556640625,"y":171.6517677307129,"z":"e8bc9b98.816858","wires":[["9949b950.d0ee7"]]},{"id":"9949b950.d0ee7","type":"method","name":"method service-topology-operation","xml":"<method rpc='service-topology-operation' mode='sync'>\n","comments":"","outputs":1,"x":233.42862701416016,"y":211.4136505126953,"z":"e8bc9b98.816858","wires":[["f463b94c.1017b8"]]},{"id":"676a3420.723724","type":"comment","name":"service-topology-operation","info":"","comments":"","x":549.344856262207,"y":79,"z":"e8bc9b98.816858","wires":[]},{"id":"f463b94c.1017b8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":229.5000457763672,"y":412.44050788879395,"z":"e8bc9b98.816858","wires":[["1e77fab1.a6aa75","825f49a.dfd4db8","2cafd6e.5e4402a","768022b2.920c34"]]},{"id":"1e77fab1.a6aa75","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n","comments":"","x":513.3332977294922,"y":587.8426446914673,"z":"e8bc9b98.816858","wires":[]},{"id":"2cafd6e.5e4402a","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$service-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":520.0475387573242,"y":464.9374351501465,"z":"e8bc9b98.816858","wires":[["8afe9b00.96b448","bebf36ec.06d6a8","b6d909b3.c8e398","b20f571f.7a617"]]},{"id":"8afe9b00.96b448","type":"outcome","name":"assign","xml":"<outcome value='assign'>\n","comments":"","outputs":1,"x":730.8570785522461,"y":390.22325325012207,"z":"e8bc9b98.816858","wires":[["31220371.b6a3dc"]]},{"id":"bebf36ec.06d6a8","type":"outcome","name":"delete","xml":"<outcome value='delete'>\n","comments":"","outputs":1,"x":730.2380599975586,"y":484.747296333313,"z":"e8bc9b98.816858","wires":[["1cf1bc7b.a24e2c"]]},{"id":"b20f571f.7a617","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":729.2855987548828,"y":533.604061126709,"z":"e8bc9b98.816858","wires":[["d982d4e4.a1cbc8"]]},{"id":"825f49a.dfd4db8","type":"set","name":"copy input to service-data","xml":"<set>\n<parameter name='service-data.sdnc-request-header.' value='`$service-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.request-information.' value='`$service-topology-operation-input.request-information.`' />\n<parameter name='service-data.service-information.' value='`$service-topology-operation-input.service-information.`' />\n<parameter name='service-data.service-request-input.' value='`$service-topology-operation-input.service-request-input.`' />\n","comments":"","x":548.1547317504883,"y":332.63989543914795,"z":"e8bc9b98.816858","wires":[]},{"id":"d982d4e4.a1cbc8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$service-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n","comments":"","x":905.4760437011719,"y":533.6041259765625,"z":"e8bc9b98.816858","wires":[]},{"id":"768022b2.920c34","type":"call","name":"call GENERIC-RESOURCE-API:validate-service-input","xml":"<call module='GENERIC-RESOURCE-API' rpc='validate-service-input' mode='sync' >\n","comments":"","outputs":1,"x":635.416633605957,"y":284.4613552093506,"z":"e8bc9b98.816858","wires":[[]]},{"id":"31220371.b6a3dc","type":"call","name":"call GENERIC-RESOURCE-API:service-topology-operation-assign","xml":"<call module='GENERIC-RESOURCE-API' rpc='service-topology-operation-assign' mode='sync' >\n","comments":"","outputs":1,"x":1071.9999313354492,"y":389.794713973999,"z":"e8bc9b98.816858","wires":[[]]},{"id":"3303275.e799858","type":"call","name":"call GENERIC-RESOURCE-API:service-topology-operation-deactivate","xml":"<call module='GENERIC-RESOURCE-API' rpc='service-topology-operation-deactivate' mode='sync' >\n","comments":"","outputs":1,"x":1084.999885559082,"y":436.7947082519531,"z":"e8bc9b98.816858","wires":[[]]},{"id":"1cf1bc7b.a24e2c","type":"call","name":"call GENERIC-RESOURCE-API:service-topology-operation-delete","xml":"<call module='GENERIC-RESOURCE-API' rpc='service-topology-operation-delete' mode='sync' >\n","comments":"","outputs":1,"x":1073.3331565856934,"y":485.46142768859863,"z":"e8bc9b98.816858","wires":[[]]},{"id":"b6d909b3.c8e398","type":"outcome","name":"deactivate","xml":"<outcome value='deactivate'","name":"deactivate","xml":"<outcome value='deactivate'>\n","comments":"","outputs":1,"x":741.6665267944336,"y":438.4613838195801,"z":"e8bc9b98.816858","wires":[["3303275.e799858"]]}] |
Expand | ||
---|---|---|
| ||
[{"id":"b4fc2dd5.6b6bf","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":214,"y":475.50000422341486,"z":"ebb27e2e.2e9568","wires":[["a6bc9deb.538c4","bdfe69fe.c6c47","e88114d7.4c9498","f20c42b1.167ee8"]]},{"id":"a6bc9deb.538c4","type":"switchNode","name":"switch svc-request-id","xml":"<switch test='`$service-topology-operation-input.sdnc-request-header.svc-request-id`'>\n","comments":"","outputs":1,"x":501.04764011928,"y":381.4374895095825,"z":"ebb27e2e.2e9568","wires":[["98ae5dd0.c3c708"]]},{"id":"98ae5dd0.c3c708","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":726.7619345528738,"y":381.4374933242798,"z":"ebb27e2e.2e9568","wires":[["bdd5f431.d19f48"]]},{"id":"bdd5f431.d19f48","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-request-id is a required input\" />\n","comments":"","x":878.1905005318777,"y":381.43749141693115,"z":"ebb27e2e.2e9568","wires":[]},{"id":"bdfe69fe.c6c47","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$service-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":489.61900329589844,"y":340.00892107827326,"z":"ebb27e2e.2e9568","wires":[["eaa51b42.63f578"]]},{"id":"eaa51b42.63f578","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":725.3333549499512,"y":338.58031885964533,"z":"ebb27e2e.2e9568","wires":[["2dd86cfd.f7c07c"]]},{"id":"2dd86cfd.f7c07c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"sdnc-request-header.svc-action is a required input\" />\n","comments":"","x":875.3333282470703,"y":338.5803283963885,"z":"ebb27e2e.2e9568","wires":[]},{"id":"e88114d7.4c9498","type":"switchNode","name":"switch request-action","xml":"<switch test='`$service-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":499.61905670166016,"y":424.2946361814227,"z":"ebb27e2e.2e9568","wires":[["3da7f637.ad5072"]]},{"id":"3da7f637.ad5072","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":726.76193019322,"y":424.29464708055775,"z":"ebb27e2e.2e9568","wires":[["70411b09.9fd59c"]]},{"id":"70411b09.9fd59c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"request-information.request-action is a required input\" />\n","comments":"","x":878.1904961722239,"y":424.2946451732091,"z":"ebb27e2e.2e9568","wires":[]},{"id":"37b4a24b.f5ad46","type":"switchNode","name":"switch subscription-service-type","xml":"<switch test='`$service-topology-operation-input.service-information.subscription-service-type`'>\n","comments":"","outputs":1,"x":1051.940594264439,"y":546.4375510896955,"z":"ebb27e2e.2e9568","wires":[["464dac2c.66c35c"]]},{"id":"464dac2c.66c35c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1247.6548886980327,"y":546.4375482286725,"z":"ebb27e2e.2e9568","wires":[["f0b78eed.c3e4a8"]]},{"id":"f0b78eed.c3e4a8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.subscription-service-type is a required input\" />\n","comments":"","x":1399.0834394182475,"y":546.4375377382551,"z":"ebb27e2e.2e9568","wires":[]},{"id":"b84f8eb8.a730e8","type":"switchNode","name":"switch global-customer-id","xml":"<switch test='`$service-topology-operation-input.service-information.global-customer-id`'>\n","comments":"","outputs":1,"x":1031.9406476702006,"y":587.8661514009748,"z":"ebb27e2e.2e9568","wires":[["34f0a34a.417b5c"]]},{"id":"34f0a34a.417b5c","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1247.6548963274272,"y":587.8661533083234,"z":"ebb27e2e.2e9568","wires":[["d7d58094.6c4408"]]},{"id":"d7d58094.6c4408","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.global-customer-id is a required input\" />\n","comments":"","x":1399.083462306431,"y":587.8661514009748,"z":"ebb27e2e.2e9568","wires":[]},{"id":"aa67a0b.540e8e","type":"switchNode","name":"switch model-invariant-uuid","xml":"<switch test='`$service-topology-operation-input.service-information.ecomp-model-information.model-invariant-uuid`'>\n","comments":"","outputs":1,"x":1037.654865809849,"y":629.2947231020246,"z":"ebb27e2e.2e9568","wires":[["dc95a39f.21d758"]]},{"id":"dc95a39f.21d758","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1247.6548734392436,"y":629.2947498049055,"z":"ebb27e2e.2e9568","wires":[["edf15c8.258802"]]},{"id":"edf15c8.258802","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.ecomp-model-information.model-invariant-uuid is a required input\" />\n","comments":"","x":1399.0834394182475,"y":629.2947478975568,"z":"ebb27e2e.2e9568","wires":[]},{"id":"4546dafe.824704","type":"switchNode","name":"switch model-uuid","xml":"<switch test='`$service-topology-operation-input.service-information.ecomp-model-information.model-uuid`'>\n","comments":"","outputs":1,"x":1007.654964991978,"y":670.7233367647443,"z":"ebb27e2e.2e9568","wires":[["d4dc57e8.0a1be8"]]},{"id":"d4dc57e8.0a1be8","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1247.654964991978,"y":670.7233195986066,"z":"ebb27e2e.2e9568","wires":[["1b274014.f978a8"]]},{"id":"1b274014.f978a8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.ecomp-model-information.model-uuid is a required input\" />\n","comments":"","x":1399.0835309709819,"y":670.723317691258,"z":"ebb27e2e.2e9568","wires":[]},{"id":"3b0664b7.e26dc4","type":"switchNode","name":"switch model-name","xml":"<switch test='`$service-topology-operation-input.service-information.ecomp-model-information.model-name`'>\n","comments":"","outputs":1,"x":1010.5120435442241,"y":712.1518474306379,"z":"ebb27e2e.2e9568","wires":[["2b9746c8.9323b2"]]},{"id":"2b9746c8.9323b2","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1246.2263608660014,"y":712.1518817629133,"z":"ebb27e2e.2e9568","wires":[["ab7f9811.9eb678"]]},{"id":"ab7f9811.9eb678","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.ecomp-model-information.model-name is a required input\" />\n","comments":"","x":1397.6549268450053,"y":712.1518798555646,"z":"ebb27e2e.2e9568","wires":[]},{"id":"65141aaf.742774","type":"comment","name":"Validation of required fields","info":"","comments":"","x":649.6190131051198,"y":295.7232036590576,"z":"ebb27e2e.2e9568","wires":[]},{"id":"f20c42b1.167ee8","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$service-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":484.85707310267844,"y":628.6994934082031,"z":"ebb27e2e.2e9568","wires":[["f4c1d91b.1279c"]]},{"id":"f4c1d91b.1279c","type":"outcome","name":"assign","xml":"<outcome value='assign'>\n","comments":"","outputs":1,"x":647.3570731026784,"y":628.6994934082031,"z":"ebb27e2e.2e9568","wires":[["5e4680a3.739a8"]]},{"id":"5e4680a3.739a8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":802.3570731026784,"y":628.6994934082031,"z":"ebb27e2e.2e9568","wires":[["37b4a24b.f5ad46","b84f8eb8.a730e8","aa67a0b.540e8e","4546dafe.824704","3b0664b7.e26dc4","a3644471.cb6f2"]]},{"id":"19d551f4.a5b54e","type":"dgstart","name":"DGSTART","outputs":1,"x":157.7500098092214,"y":145.4136562347412,"z":"ebb27e2e.2e9568","wires":[["ae1dd75d.ec6f6"]]},{"id":"ae1dd75d.ec6f6","type":"service-logic","name":"GENERIC-RESOURCE-API 0.0.1","module":"GENERIC-RESOURCE-API","version":"0.0.1","comments":"","xml":"<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='0.0.1'>","outputs":1,"x":233.03571537562766,"y":185.6517677307129,"z":"ebb27e2e.2e9568","wires":[["97704d54.309ea"]]},{"id":"97704d54.309ea","type":"method","name":"method validate-service-input","xml":"<method rpc='validate-service-input' mode='sync'>\n","comments":"","outputs":1,"x":222.42863682338157,"y":226.66365242004395,"z":"ebb27e2e.2e9568","wires":[["b4fc2dd5.6b6bf"]]},{"id":"58515ef1.d0a0d","type":"comment","name":"validate-service-input","info":"","comments":"","x":552.0948660714284,"y":93,"z":"ebb27e2e.2e9568","wires":[]},{"id":"a3644471.cb6f2","type":"switchNode","name":"switch service-id","xml":"<switch test='`$service-topology-operation-input.service-information.service-id`'>\n","comments":"","outputs":1,"x":1003.6428473336355,"y":505.928599357605,"z":"ebb27e2e.2e9568","wires":[["e428bc22.cdee3"]]},{"id":"e428bc22.cdee3","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1244.0714285714284,"y":505.9285955429077,"z":"ebb27e2e.2e9568","wires":[["981c2b36.9827b"]]},{"id":"981c2b36.9827b","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"service-information.service-id is a required input\" />\n","comments":"","outputs":1,"x":7411395.66652679443364999945504323,"y":438505.46138381958019285936355591,"z":"e8bc9b98ebb27e2e.8168582e9568","wires":[["3303275.e799858"]]}] |
Expand | ||
---|---|---|
| ||
[{"id":"78d12d0e.b112f4","type":"dgstart","name":"DGSTART","outputs":1,"x":174,"y":138.4136562347412,"z":"573bd44.832f22c","wires":[["d3f20878.e78588"]]},{"id":"d3f20878.e78588","type":"service-logic","name":"GENERIC-RESOURCE-API 0.0.1","module":"GENERIC-RESOURCE-API","version":"0.0.1","comments":"","xml":"<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='0.0.1'>","outputs":1,"x":249.28570556640625,"y":178.6517677307129,"z":"573bd44.832f22c","wires":[["dd896e2b.6b1c88"]]},{"id":"dd896e2b.6b1c88","type":"method","name":"method service-topology-operation-assign","xml":"<method rpc='service-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":278.42862701416016,"y":218.4136562347412,"z":"573bd44.832f22c","wires":[["b53bfbb0.f9d8a8"]]},{"id":"8c7dd591.f5413","type":"comment","name":"service-topology-operation-assign","info":"","comments":"","x":568.344856262207,"y":86,"z":"573bd44.832f22c","wires":[]},{"id":"b53bfbb0.f9d8a8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":290.8571243286133,"y":809.1756019592285,"z":"573bd44.832f22c","wires":[["eed4a4bb.4ff4c8","b5a07cf7.622aa8","7ddf70bc.04d968","19cb8a62.21245e","ff8f09db.fa31a8","d9bc037.5a8a28","808a05d8.77b83","1a5d5129.f380cf","8e1f0de6.26b1e"]]},{"id":"eed4a4bb.4ff4c8","type":"switchNode","name":"switch request-action","xml":"<switch test='`$service-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":573.2381134033203,"y":320.127947807312,"z":"573bd44.832f22c","wires":[["160c429.fdbff3d","b16ff0b4.57f5"]]},{"id":"160c429.fdbff3d","type":"outcome","name":"CreateServiceInstance","xml":"<outcome value='CreateServiceInstance'>\n","comments":"","outputs":1,"x":810.3809280395508,"y":294.4136562347412,"z":"573bd44.832f22c","wires":[["bc5512a3.62569"]]},{"id":"b16ff0b4.57f5","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":760.3809509277344,"y":338.46129512786865,"z":"573bd44.832f22c","wires":[["351b9443.f5869c"]]},{"id":"bc5512a3.62569","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":988.9523849487305,"y":294.4136915206909,"z":"573bd44.832f22c","wires":[[]]},{"id":"351b9443.f5869c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"If svc-action is 'assign' then request-action must be 'CreateServiceInstance'\" />\n","comments":"","x":967.7618980407715,"y":338.46130657196045,"z":"573bd44.832f22c","wires":[]},{"id":"a9478035.5f0fb","type":"get-resource","name":"get-resource SERVICE_MODEL","xml":"<get-resource plugin='org.openecomp.sdnc.sli.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from SERVICE_MODEL WHERE service_uuid = $service-topology-operation-input.service-information.ecomp-model-information.model-uuid'\n pfx='db.service-model'>\n\n","comments":"","outputs":1,"x":609.7856292724609,"y":543.2232360839844,"z":"573bd44.832f22c","wires":[["ebfe18e9.9d4ed","a218a76b.7acc68"]]},{"id":"558753d6.22bd54","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'No model found for service UUID ' + $service-topology-operation-input.service-information.ecomp-model-information.model-uuid`\" />\n","comments":"","x":1024.0712966918945,"y":568.080286026001,"z":"573bd44.832f22c","wires":[]},{"id":"b5a07cf7.622aa8","type":"switchNode","name":"switch input service-instance-name","xml":"<switch test='`$service-topology-operation-input.service-request-input.service-instance-name`'>\n","comments":"","outputs":1,"x":617.1903610229492,"y":839.5326652526855,"z":"573bd44.832f22c","wires":[["fa26bb1c.fab59","6a2acb8b.f308d4"]]},{"id":"fa26bb1c.fab59","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":838.3569221496582,"y":764.8898096084595,"z":"573bd44.832f22c","wires":[["a1460fd3.88252"]]},{"id":"ca1b790f.25d6f8","type":"switchNode","name":"switch ecomp-naming","xml":"<switch test='`$db.service-model.ecomp-naming`'>\n","comments":"","outputs":1,"x":1217.6429824829102,"y":657.2708940505981,"z":"573bd44.832f22c","wires":[["6683f762.e027b","50f6496a.ffe23","40fd15fa.84da4c"]]},{"id":"a1460fd3.88252","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":984.0714225769043,"y":764.8899269104004,"z":"573bd44.832f22c","wires":[["9c81a56.0cea0d8","23c933b.2cfc14c","ca1b790f.25d6f8"]]},{"id":"50f6496a.ffe23","type":"outcome","name":"N","xml":"<outcome value='N'>","comments":"","outputs":1,"x":1466.9286422729492,"y":659.1756029129028,"z":"573bd44.832f22c","wires":[["89106143.b1a078"]]},{"id":"89106143.b1a078","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"No service-instance-name was received but ecomp-naming is not Y\" />\n","comments":"","x":1621.214427947998,"y":677.7470474243164,"z":"573bd44.832f22c","wires":[]},{"id":"6683f762.e027b","type":"outcome","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1466.9286079406738,"y":614.8899240493774,"z":"573bd44.832f22c","wires":[["a82712a1.8243d8"]]},{"id":"40fd15fa.84da4c","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1466.9285697937012,"y":704.8899221420288,"z":"573bd44.832f22c","wires":[["89106143.b1a078"]]},{"id":"a82712a1.8243d8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1604.0715522766113,"y":614.8899240493774,"z":"573bd44.832f22c","wires":[[]]},{"id":"6a2acb8b.f308d4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":840.9286041259766,"y":911.1755485534668,"z":"573bd44.832f22c","wires":[["3bcfb2c8.11039e"]]},{"id":"3b698a92.087b7e","type":"set","name":"set tmp.service-instance-name","xml":"<set>\n<parameter name='tmp.service-instance-name' value=\"`$service-topology-operation-input.service-request-input.service-instance-name`\" />\n","comments":"","x":1882.6428756713867,"y":958.6041946411133,"z":"573bd44.832f22c","wires":[]},{"id":"19cb8a62.21245e","type":"update","name":"update AAI service instance","xml":"<update plugin=\"org.openecomp.sdnc.sli.aai.AAIService\" \n\t\tresource=\"service-instance\" \n\t\tkey=\"customer.global-customer-id = $service-topology-operation-input.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $service-topology-operation-input.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $service-topology-operation-input.service-information.service-instance-id\"\n pfx='pfx' local-only='false' force='false'>\n\t<parameter name=\"service-instance-name\" value=\"`$tmp.service-instance-name`\" />\n\t<parameter name=\"selflink\" value=\"`$service-object-path`\" />\n","comments":"","outputs":1,"x":591.4524154663086,"y":1065.9374208450317,"z":"573bd44.832f22c","wires":[["a7941b57.780c48","212a10f.c55d27"]]},{"id":"a7941b57.780c48","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":803.214282989502,"y":1041.1755752563477,"z":"573bd44.832f22c","wires":[["db0cc330.28062"]]},{"id":"db0cc330.28062","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"AAI failed\" />\n","comments":"","x":953.2142486572266,"y":1041.1756534576416,"z":"573bd44.832f22c","wires":[]},{"id":"8e1f0de6.26b1e","type":"set","name":"set service-level-oper-status to Created","xml":"<set>\n<parameter name='service-data.service-level-oper-status.order-status' value='Created' />\n<parameter name='service-data.service-level-oper-status.last-rpc-action' value='assign' />\n<parameter name='service-data.service-level-oper-status.last-action' value='CreateServiceInstance' />\n","comments":"","x":626.7380981445312,"y":1314.6277723312378,"z":"573bd44.832f22c","wires":[]},{"id":"1a5d5129.f380cf","type":"set","name":"set service-object-path","xml":"<set>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $service-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n","comments":"","x":575.9760437011719,"y":1001.8897714614868,"z":"573bd44.832f22c","wires":[]},{"id":"7ddf70bc.04d968","type":"switchNode","name":"switch order-status","xml":"<switch test='`$service-data.service-level-oper-status.order-status`'>\n","comments":"","outputs":1,"x":566.3809089660645,"y":431.0804195404053,"z":"573bd44.832f22c","wires":[["ce4b4db7.fee0c","660a8480.99e1c4","6b5f29ae.188e98"]]},{"id":"ce4b4db7.fee0c","type":"outcome","name":"Created","xml":"<outcome value='Created'>\n","comments":"","outputs":1,"x":762.3333587646484,"y":430.74701595306396,"z":"573bd44.832f22c","wires":[["b51ba79c.316bf"]]},{"id":"b51ba79c.316bf","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"The requested service already exists\" />\n","comments":"","x":964.476188659668,"y":430.3185501098633,"z":"573bd44.832f22c","wires":[]},{"id":"ff8f09db.fa31a8","type":"set","name":"set service-topology identifiers","xml":"<set>\n<parameter name='service-data.service-topology.service-topology-identifier.service-instance-id'\n value='`$service-topology-operation-input.service-information.service-instance-id`' />\n<parameter name='service-data.service-topology.service-topology-identifier.service-type'\n value='`$service-topology-operation-input.service-information.subscription-service-type`' />\n<parameter name='service-data.service-topology.service-topology-identifier.service-instance-name'\n value='`$tmp.service-instance-name`' />\n<parameter name='service-data.service-topology.service-topology-identifier.global-customer-id'\n value='`$service-topology-operation-input.service-information.global-customer-id`' />\n","comments":"","x":602.7143249511719,"y":1134.2707147598267,"z":"573bd44.832f22c","wires":[]},{"id":"791f39fa.05ac68","type":"for","name":"for each service-input-parameters","xml":"<for index='idx' start='0' end='`$service-topology-operation-input.service-request-input.service-input-parameters.param_length`' >\n","comments":"","outputs":1,"x":1032.523754119873,"y":1272.366153717041,"z":"573bd44.832f22c","wires":[["8b8629f3.cdd878"]]},{"id":"8b8629f3.cdd878","type":"set","name":"set parameter name/value","xml":"<set>\n<parameter name='service-data.service-topology.service-parameters[$idx].service-parameter-name'\n value='`$service-topology-operation-input.service-request-input.service-input-parameters.param[$idx].name`' />\n<parameter name='service-data.service-topology.service-parameters[$idx].service-parameter-value'\n value='`$service-topology-operation-input.service-request-input.service-input-parameters.param[$idx].value`' />\n","comments":"","x":1313.9522171020508,"y":1272.3661003112793,"z":"573bd44.832f22c","wires":[]},{"id":"d9bc037.5a8a28","type":"switchNode","name":"switch input parameter length","xml":"<switch test='`$service-topology-operation-input.service-request-input.service-input-parameters.param_length`'>\n","comments":"","outputs":1,"x":595.3333282470703,"y":1244.7468738555908,"z":"573bd44.832f22c","wires":[["6a4426e0.aa51d","35f72c92.6d34cc"]]},{"id":"6a4426e0.aa51d","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":810.237907409668,"y":1220.9375076293945,"z":"573bd44.832f22c","wires":[["308e9af1.186aee"]]},{"id":"308e9af1.186aee","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":948.8092994689941,"y":1220.9374904632568,"z":"573bd44.832f22c","wires":[[]]},{"id":"35f72c92.6d34cc","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":808.8093185424805,"y":1272.366096496582,"z":"573bd44.832f22c","wires":[["791f39fa.05ac68"]]},{"id":"808a05d8.77b83","type":"set","name":"set service-topology ecomp-model-information","xml":"<set>\n<parameter name='service-data.service-topology.ecomp-model-information.'\n value='`$service-topology-operation-input.service-information.ecomp-model-information.`' />\n","comments":"","x":652.7143096923828,"y":1178.5562887191772,"z":"573bd44.832f22c","wires":[]},{"id":"212a10f.c55d27","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":809.5237121582031,"y":1089.7469930648804,"z":"573bd44.832f22c","wires":[["92e69062.b6227"]]},{"id":"92e69062.b6227","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"The service instance does not exist in AAI\" />\n","comments":"","x":952.8570098876953,"y":1088.0803670883179,"z":"573bd44.832f22c","wires":[]},{"id":"9c81a56.0cea0d8","type":"call","name":"call GENERIC-RESOURCE-API:generate-unique-name","xml":"<call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\n","comments":"","outputs":1,"x":1323.1904754638672,"y":814.8898191452026,"z":"573bd44.832f22c","wires":[["26b42ec9.82f8ba","4e7d6be0.902e04"]]},{"id":"26b42ec9.82f8ba","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1663.1904487609863,"y":789.8898782730103,"z":"573bd44.832f22c","wires":[["21b353c8.d1d184"]]},{"id":"4e7d6be0.902e04","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1666.5237986246743,"y":839.5565214157104,"z":"573bd44.832f22c","wires":[["c3c9c1c1.1901e8"]]},{"id":"23c933b.2cfc14c","type":"set","name":"set variables for generating unique name","xml":"<set>\n<parameter name='generate-unique-name-input.index-table-name' value='SERVICE_INSTANCE_NAME_INDEX' />\n<parameter name='generate-unique-name-input.index-table-prefix-column' value='service_instance_name_prefix' />\n<parameter name='generate-unique-name-input.name-table-type' value='SERVICE_INSTANCE' />\n<parameter name='generate-unique-name-input.prefix' value=\"`$db.service-model.service-instance-name-prefix + '_'`\" />\n","comments":"","x":1278.190559387207,"y":754.5566291809082,"z":"573bd44.832f22c","wires":[]},{"id":"c3c9c1c1.1901e8","type":"set","name":"set tmp.service-instance-name to generated name","xml":"<set>\n<parameter name='tmp.service-instance-name' value='`$generate-unique-name-output.generated-name`' />\n","comments":"","x":1950.5713500976562,"y":838.6041021347046,"z":"573bd44.832f22c","wires":[]},{"id":"21b353c8.d1d184","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$generate-unique-name-output.error-message`\" />\n","comments":"","x":1831.0475616455078,"y":789.3183898925781,"z":"573bd44.832f22c","wires":[]},{"id":"3bcfb2c8.11039e","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":988.8571319580078,"y":909.8422355651855,"z":"573bd44.832f22c","wires":[["78963995.6cc0a","be4997df.1f332"]]},{"id":"be4997df.1f332","type":"call","name":"call GENERIC-RESOURCE-API:generate-unique-name","xml":"<call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\n","comments":"","outputs":1,"x":1319.857177734375,"y":957.5089111328125,"z":"573bd44.832f22c","wires":[["9f464d6b.aff938","ae91a50b.b8231"]]},{"id":"9f464d6b.aff938","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1658.857105255127,"y":907.8422946929932,"z":"573bd44.832f22c","wires":[["52e3a7ce.0d766"]]},{"id":"ae91a50b.b8231","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1662.190455118815,"y":959.5089378356934,"z":"573bd44.832f22c","wires":[["3b698a92.087b7e"]]},{"id":"78963995.6cc0a","type":"set","name":"set variables for generating unique name","xml":"<set>\n<parameter name='generate-unique-name-input.name-table-type' value='SERVICE_INSTANCE' />\n<parameter name='generate-unique-name-input.supplied-name' value='`$service-topology-operation-input.service-request-input.service-instance-name`' />\n","comments":"","x":1277.1905212402344,"y":886.1755924224854,"z":"573bd44.832f22c","wires":[]},{"id":"52e3a7ce.0d766","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$generate-unique-name-output.error-message`\" />\n","comments":"","x":1826.7142181396484,"y":907.270806312561,"z":"573bd44.832f22c","wires":[]},{"id":"ebfe18e9.9d4ed","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":850.5713310241699,"y":524.6041011810303,"z":"573bd44.832f22c","wires":[["4098d552.aeef4c"]]},{"id":"a218a76b.7acc68","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":859.1427612304688,"y":567.889814376831,"z":"573bd44.832f22c","wires":[["558753d6.22bd54"]]},{"id":"4098d552.aeef4c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"Error reading SERVICE_MODEL table\" />\n","comments":"","x":1023.4284973144531,"y":523.1755447387695,"z":"573bd44.832f22c","wires":[]},{"id":"660a8480.99e1c4","type":"outcome","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":760.3332824707031,"y":386.08033752441406,"z":"573bd44.832f22c","wires":[["334d5f6e.9e0ac"]]},{"id":"6b5f29ae.188e98","type":"other","name":"PendingDelete","xml":"<outcome value='PendingDelete'>\n","comments":"","outputs":1,"x":783.0000114440918,"y":474.7469959259033,"z":"573bd44.832f22c","wires":[["c4f908c4.ddc838"]]},{"id":"c4f908c4.ddc838","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"The requested service is pending deletion\" />\n","comments":"","x":965.333309173584,"y":474.7470064163208,"z":"573bd44.832f22c","wires":[]},{"id":"334d5f6e.9e0ac","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":946.9999923706055,"y":385.0803565979004,"z":"573bd44.832f22c","wires":[[]]},{"id":"7d9ead4a.c2484c","type":"comment","name":"SERVICE_MODEL not in sdnc yet","info":"","comments":"","x":608,"y":608,"z":"573bd44.832f22c","wires":[]}] |
...
Expand | ||
---|---|---|
| ||
[{"id":"ee84697b.f9bfb","type":"dgstart","name":"DGSTART","outputs":1,"x":151,"y":112.41365623474121,"z":"1840bd3e.8d49eb","wires":[["35e2ecc9.c20204"]]},{"id":"35e2ecc9.c20204","type":"service-logic","name":"GENERIC-RESOURCE-API 0.0.1","module":"GENERIC-RESOURCE-API","version":"0.0.1","comments":"","xml":"<service-logic xmlns='http://www.openecomp.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.openecomp.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='0.0.1'>","outputs":1,"x":226.28570556640625,"y":152.6517677307129,"z":"1840bd3e.8d49eb","wires":[["7124ccc.b38d4b4"]]},{"id":"7124ccc.b38d4b4","type":"method","name":"method vnf-topology-operation","xml":"<method rpc='vnf-topology-operation' mode='sync'>\n","comments":"","outputs":1,"x":219.42862701416016,"y":192.4136505126953,"z":"1840bd3e.8d49eb","wires":[["595554df.09155c"]]},{"id":"7c27b88d.9472e8","type":"comment","name":"vnf-topology-operation","info":"","comments":"","x":545.344856262207,"y":60,"z":"1840bd3e.8d49eb","wires":[]},{"id":"595554df.09155c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":232.16670989990234,"y":360.1071662902832,"z":"1840bd3e.8d49eb","wires":[["25d010fc.7e2f1","5d15a133.379f58","64bf86f7.3089a8"]]},{"id":"25d010fc.7e2f1","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n","comments":"","x":524.6666641235352,"y":510.2711992263794,"z":"1840bd3e.8d49eb","wires":[]},{"id":"5d15a133.379f58","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":527.5713806152344,"y":358.31840991973877,"z":"1840bd3e.8d49eb","wires":[["b58e135c.b8f748","d1a2bd1b.0d78","d69f110.8e798f","af0a9f81.f3f74","29c69e98.d7512a"]]},{"id":"b58e135c.b8f748","type":"outcome","name":"assign","xml":"<outcome value='assign'>\n","comments":"","outputs":1,"x":726.3808898925781,"y":290.93755531311035,"z":"1840bd3e.8d49eb","wires":[["ba53cb8c.fe79e8"]]},{"id":"d1a2bd1b.0d78","type":"outcome","name":"unassign","xml":"<outcome value='unassign'>\n","comments":"","outputs":1,"x":730.4285125732422,"y":421.1282787322998,"z":"1840bd3e.8d49eb","wires":[["5a3b1db4.d397ec"]]},{"id":"af0a9f81.f3f74","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":725.1427383422852,"y":465.3183546066284,"z":"1840bd3e.8d49eb","wires":[["53442356.45c18c"]]},{"id":"53442356.45c18c","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-action + ' is not a valid svc-action'`\" />\n","comments":"","x":911.3331832885742,"y":465.31841945648193,"z":"1840bd3e.8d49eb","wires":[]},{"id":"64bf86f7.3089a8","type":"call","name":"call GENERIC-RESOURCE-API:validate-vnf-input","xml":"<call module='GENERIC-RESOURCE-API' rpc='validate-vnf-input' mode='sync' >\n","comments":"","outputs":1,"x":633.416633605957,"y":249.7946949005127,"z":"1840bd3e.8d49eb","wires":[[]]},{"id":"ba53cb8c.fe79e8","type":"call","name":"call GENERIC-RESOURCE-API:vnf-topology-operation-assign","xml":"<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign' mode='sync' >\n","comments":"","outputs":1,"x":1068.5237426757812,"y":290.5090160369873,"z":"1840bd3e.8d49eb","wires":[[]]},{"id":"ce2e9f02.787cc","type":"call","name":"call GENERIC-RESOURCE-API:vnf-topology-operation-deactivate","xml":"<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-deactivate' mode='sync' >\n","comments":"","outputs":1,"x":1079.8570098876953,"y":374.84236431121826,"z":"1840bd3e.8d49eb","wires":[[]]},{"id":"5a3b1db4.d397ec","type":"call","name":"call GENERIC-RESOURCE-API:vnf-topology-operation-unassign","xml":"<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-unassign' mode='sync' >\n","comments":"","outputs":1,"x":1075.523609161377,"y":420.84241008758545,"z":"1840bd3e.8d49eb","wires":[[]]},{"id":"d69f110.8e798f","type":"outcome","name":"deactivate","xml":"<outcome value='deactivate'>\n","comments":"","outputs":1,"x":735.5236511230469,"y":375.5090398788452,"z":"1840bd3e.8d49eb","wires":[["ce2e9f02.787cc"]]},{"id":"bbbde572.cfa078","type":"call","name":"call GENERIC-RESOURCE-API:vnf-topology-operation-activate","xml":"<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-activate' mode='sync' >\n","comments":"","outputs":1,"x":1072.6665878295898,"y":332.41364765167236,"z":"1840bd3e.8d49eb","wires":[[]]},{"id":"29c69e98.d7512a","type":"outcome","name":"activate","xml":"<outcome value='activate'>\n","comments":"","outputs":1,"x":729.3332290649414,"y":333.0803232192993,"z":"1840bd3e.8d49eb","wires":[["bbbde572.cfa078"]]]}] |
...
}] |
Testing the Directed Graphs
Testing Service-Topology-Operation with SLI-API
Use the SLI-API if your SDNC instance doesn't have the GENERIC-RESOURCE-API karaf feature bundle loaded (it will be on apidoc/explorer if it is loaded). Pre-Amsterdam release versions of ONAP SDNC don't have the GENERIC-RESOURCE-API.
Copy the following json body and use in the apidoc/explorer interface on the SDNC
...
Expand | ||
---|---|---|
| ||
{ |
Testing with the GENERIC-RESOURCE-API
Copy the following json body and use in the apidoc/explorer interface on the SDNC
http://10.0.7.1:8282/apidoc/explorer/index.html#!/GENERIC-RESOURCE-API/
Paste the string into the input box for the GENERIC-RESOURCE-API:service-topology-operation
Expand | ||
---|---|---|
| ||
PASTE IN service-topology-operation assign |