PSloop creates an Endpoint loop. Provided that there is currently no Endpoint on the stack, it pushes each Endpoint from the current one, set onto the stack in turn and executes the body.


// List all the Endpoints in the current Endpoint set

psloop {
 echo ${server.name};
}


Note, the Endpoint-set is initially set to each Endpoint in the target Environment. When a Component is pushed onto the stack (when a Component is being deployed) the Endpoint-set is "filtered" to only include the Endpoint to which the Component is to be deployed. Thus, if you run psloop in a pre or post action to a Component then it will only iterate around the Endpoints to which the Component will be deployed. You can also use "if" statements to filter the Endpoint list.  For example:


if ($myservice = "Y") {

// The Endpoint list here is filtered to only contain end // points with myservice attribute set to Y.

psloop {

echo ${server.name};

}

}


This will echo the name of each Endpoint with the attribute myservice set to Y.