Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Warning: Deprecated, Untested Example In Need Of Updating


Picos can be created using prototypes that describe what state a pico should be created in.

Picos can have certain rulesets, channels, and subscriptions that control what a pico is, Prototypes directly reflect this.

here is an example of a Prototype.

{
      "meta" : {
                "discription": "picoLabExample prototype"
                },
                
      "rids": [  
                "b16x29.prod", 
                "b507901x6.prod" 
                 
              ],
      "channels" : [{
                      "name"       : "_wellKnown_app_eci",
                      "type"       : "WellKnown",
                      "attributes" : "none",
                      "policy"     : "not implemented"
                    }
                    ], 
      "prototypes" : [],
      "subscriptions_request": [],
      "Prototype_events" : [], 
      "PDS" : {
                "profile" : {
                            "name":"base",
                            "description":"discription of the general pds created",
                            "location":"40.252683,-111.657486",
                            "model":"unknown",
                            "model_description":"no model at this time",
                            "photo":""
                            },
                "general" : {"test":{"subtest":"just a test"}},
                "settings": {"b507901x1.prod":{
                                              "name":"wrangler",
                                              "keyed_rid" :"b507901x1.prod",
                                              "schema":["im","a","schema"],
                                              "data_key":"first_key",
                                              "value":"first_value"
                                              }
                            }
              }
  }

Prototypes are json objects which have desired things to be added at creation.

Before a child_creation event you can add a prototype by url, and have wrangler use this prototype to create the pico accordingly.


    rule createPicoWithPrototypeURL {
      select when owner need_new_pico
        pre {}
        /*action*/{ noop();}
        always {
          raise wrangler event "add_prototype" 
            with prototype_name = 'NewPrototypeExample'
             and url = 'https://raw.githubusercontent.com/burdettadam/Practice-with-KRL/master/manifold/NewPrototypeExample.json';// ----------------------------------------------needs url to prototype. ---------------------------------------------------------
          raise wrangler event "child_creation" 
            with name = 'PrototypeExample'
             and prototype = 'NewPrototypeExample'; // must be the same name you used above
        log("SUCCESS OFTEN COMES AFTER DISAPPOINTMENTS.");// just a friendly log.
	    }
    }


While the url is hard coded in this example you could easily use a attribute to dynamically pass in any prototype you would like. 



  • No labels