ListenableFuture < AtomicReference < NodeMetadata >> function ( String arg0 , String arg1 , Template arg2 ) { return userExecutor . submit ( new AddNode ( arg1 , arg0 , arg2 ) ) ; }
this calls logic necessary to create a node and convert it from its provider-specific object to the jclouds nodemetadata object . this call directly precedes customization , such asexecuting scripts . the outcome of this operation does not imply the node is status #running running . if you want to insert logic after the node is created , yet before an attempt to customize the node , then append your behaviour to this method . ex . to attach an ip address post-creation &#064; override protected listenablefuture < atomicreference < nodemetadata > > createnodeingroupwithnameandtemplate string group , string name , template template listenablefuture < atomicreference < nodemetadata > > future = super.addnodeintogroupwithnameandtemplate group , name , template ; return futures.compose future , new function < atomicreference < nodemetadata > , atomicreference < nodemetadata > > &#064; override public atomicreference < nodemetadata > apply atomicreference < nodemetadata > input nodemetadata node = input.get ; / / allocate and attach an ip input.set nodemetadatabuilder.fromnodemetadata node . publicaddresses immutableset.of ip.getip . build ; return input ; , executor ; concode_field_sep Template template concode_elem_sep GroupNamingConvention.Factory namingConvention concode_elem_sep ListNodesStrategy listNodesStrategy concode_elem_sep CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.Factory customizeNodeAndAddToGoodMapOrPutExceptionIntoBadMapFactory concode_elem_sep String name concode_elem_sep Logger logger concode_elem_sep CreateNodeWithGroupEncodedIntoName addNodeWithGroupStrategy concode_elem_sep ListeningExecutorService userExecutor concode_elem_sep String group concode_field_sep AtomicReference<NodeMetadata> call concode_elem_sep String toString concode_elem_sep Map<?,ListenableFuture<Void>> execute concode_elem_sep Set<String> getNextNames