nl_tokens: Deploy a plan See https : // github . com / nearform / nscale - planner for a plan example .
pl_tokens: function ( origin , target , plan , mode , out , completeCb ) { var c ; var container ; var containerDef ; out . initProgress ( plan . length , '--> deploying plan...' ) ; var currProgress = 0 ; var prnt ; function tick ( command , c ) { currProgress += 1 ; out . progress ( command + ' ' + c . id + ' ' + ( c . type || '' ) ) ; } logger . info ( 'deploying plan' ) ; async . eachSeries ( plan , function ( step , cb ) { c = target . topology . containers [ step . id ] || origin . topology . containers [ step . id ] ; container = _ . cloneDeep ( c ) ; prnt = target . topology . containers [ step . parent ] || origin . topology . containers [ step . parent ] ; containerDef = _ . find ( target . containerDefinitions , function ( cdef ) { return cdef . id === container . containerDefinitionId ; } ) ; if ( ! containerDef ) { containerDef = _ . find ( origin . containerDefinitions , function ( cdef ) { return cdef . id === container . containerDefinitionId ; } ) ; } if ( container . specific && origin . topology . containers [ step . id ] && origin . topology . containers [ step . id ] . specific ) { container . specific = merge ( container . specific , origin . topology . containers [ step . id ] . specific ) ; } logger . info ( 'calling: ' + step . cmd ) ; // matchup containers to type and apply matching function remove executor var err = 'no matching container available for type' ; if ( containerDef && containerDef . type ) { _containers . getHandler ( target , containerDef . type , function ( err , impl ) { if ( err ) { return cb ( err ) ; } if ( ! impl ) { logger . error ( err ) ; return cb ( new Error ( err ) ) ; } tick ( <mask> . cmd , container ) ; impl [ step . cmd ] ( mode , prnt . specific , target , containerDef , container , out , function ( err , newTarget , replace ) { if ( newTarget ) { target = newTarget ; if ( replace ) { _ . each ( replace , function ( repl ) { plan = sd . replaceId ( repl . oldId , repl . newId , plan ) ; } ) ; } } cb ( err ) ; } ) ; } ) ; } else { cb ( ) ; } } , function ( err ) { completeCb ( err , target ) ; } ) ; }