Package org.jclouds.chef
Interface ChefService
-
- All Known Implementing Classes:
BaseChefService
public interface ChefServiceProvides high level Chef operations.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidcleanupStaleNodesAndClients(String prefix, int secondsStale)Removes the nodes and clients that have been inactive for a given amount of time.StatementcreateBootstrapScriptForGroup(String group)Creates all steps necessary to bootstrap the node.StatementcreateBootstrapScriptForGroup(String group, String nodeName)Creates all steps necessary to bootstrap the node.NodecreateNodeAndPopulateAutomaticAttributes(String nodeName, Iterable<String> runList)Creates a new node and populates the automatic attributes.byte[]decrypt(InputStream input)Decrypts the given input stream.voiddeleteAllClientsInList(Iterable<String> names)Deletes the given clients.voiddeleteAllNodesInList(Iterable<String> names)Deletes the given nodes.byte[]encrypt(InputStream input)Encrypts the given input stream.BootstrapConfiggetBootstrapConfigForGroup(String group)Gets the bootstrap configuration for a given group.Iterable<? extends Client>listClients()Lists the details of all existing clients.Iterable<? extends Client>listClients(ExecutorService executorService)Lists the details of all existing clients, but executing concurrently using the threads available in the ExecutorService.Iterable<? extends CookbookVersion>listCookbookVersions()Lists the details of all existing cookbooks.Iterable<? extends CookbookVersion>listCookbookVersions(ExecutorService executorService)Lists the details of all existing cookbooks.Iterable<? extends CookbookVersion>listCookbookVersionsInEnvironment(String environmentName)Lists the details of all existing cookbooks in an environment.Iterable<? extends CookbookVersion>listCookbookVersionsInEnvironment(String environmentName, String numVersions)Lists the details of all existing cookbooks in an environment limiting number of versions.Iterable<? extends CookbookVersion>listCookbookVersionsInEnvironment(String environmentName, String numVersions, ExecutorService executorService)Lists the details of all existing cookbooks in an environment limiting number of versions.Iterable<? extends CookbookVersion>listCookbookVersionsInEnvironment(String environmentName, ExecutorService executorService)Lists the details of all existing cookbooks in an environment.Iterable<? extends Environment>listEnvironments()Lists the details of all existing environments.Iterable<? extends Node>listNodes()Lists the details of all existing nodes.Iterable<? extends Node>listNodes(ExecutorService executorService)Lists the details of all existing nodes, executing concurrently using the executorService.Iterable<? extends Node>listNodesInEnvironment(String environmentName)Lists the details of all existing nodes in the given environment.Iterable<? extends Node>listNodesInEnvironment(String environmentName, ExecutorService executorService)Lists the details of all existing nodes in the given environment, using the ExecutorService to paralleling the execution.voidupdateAutomaticAttributesOnNode(String nodeName)Updates and populate the automatic attributes of the given node.voidupdateBootstrapConfigForGroup(String group, BootstrapConfig bootstrapConfig)Configures how the nodes of a certain group will be bootstrapped
-
-
-
Method Detail
-
encrypt
byte[] encrypt(InputStream input) throws IOException
Encrypts the given input stream.- Parameters:
input- The input stream to encrypt.- Returns:
- The encrypted bytes for the given input stream.
- Throws:
IOException- If there is an error reading from the input stream.
-
decrypt
byte[] decrypt(InputStream input) throws IOException
Decrypts the given input stream.- Parameters:
input- The input stream to decrypt.- Returns:
- The decrypted bytes for the given input stream.
- Throws:
IOException- If there is an error reading from the input stream.
-
createBootstrapScriptForGroup
Statement createBootstrapScriptForGroup(String group)
Creates all steps necessary to bootstrap the node.- Parameters:
group- corresponds to a configuredChefProperties.CHEF_BOOTSTRAP_DATABAGdata bag where run_list and other information are stored.- Returns:
- The script used to bootstrap the node.
-
createBootstrapScriptForGroup
Statement createBootstrapScriptForGroup(String group, @Nullable String nodeName)
Creates all steps necessary to bootstrap the node.- Parameters:
group- corresponds to a configuredChefProperties.CHEF_BOOTSTRAP_DATABAGdata bag where run_list and other information are stored.nodeName- The name of the node to create.- Returns:
- The script used to bootstrap the node.
-
updateBootstrapConfigForGroup
void updateBootstrapConfigForGroup(String group, BootstrapConfig bootstrapConfig)
Configures how the nodes of a certain group will be bootstrapped- Parameters:
group- The group where the given bootstrap configuration will be applied.bootstrapConfig- The configuration to be applied to the nodes in the group.
-
getBootstrapConfigForGroup
BootstrapConfig getBootstrapConfigForGroup(String group)
Gets the bootstrap configuration for a given group.- Parameters:
group- The name of the group.- Returns:
- The bootstrap configuration for the given group.
-
createNodeAndPopulateAutomaticAttributes
Node createNodeAndPopulateAutomaticAttributes(String nodeName, Iterable<String> runList)
Creates a new node and populates the automatic attributes.- Parameters:
nodeName- The name of the node to create.runList- The run list for the created node.- Returns:
- The created node with the automatic attributes populated.
- See Also:
OhaiModule,ChefUtils.ohaiAutomaticAttributeBinder(com.google.inject.Binder)
-
updateAutomaticAttributesOnNode
void updateAutomaticAttributesOnNode(String nodeName)
Updates and populate the automatic attributes of the given node.- Parameters:
nodeName- The node to update.
-
cleanupStaleNodesAndClients
void cleanupStaleNodesAndClients(String prefix, int secondsStale)
Removes the nodes and clients that have been inactive for a given amount of time.- Parameters:
prefix- The prefix for the nodes and clients to delete.secondsStale- The seconds of inactivity to consider a node and client obsolete.
-
deleteAllNodesInList
void deleteAllNodesInList(Iterable<String> names)
Deletes the given nodes.- Parameters:
names- The names of the nodes to delete.
-
deleteAllClientsInList
void deleteAllClientsInList(Iterable<String> names)
Deletes the given clients.- Parameters:
names- The names of the client to delete.
-
listNodes
Iterable<? extends Node> listNodes()
Lists the details of all existing nodes.- Returns:
- The details of all existing nodes.
-
listNodes
Iterable<? extends Node> listNodes(ExecutorService executorService)
Lists the details of all existing nodes, executing concurrently using the executorService.- Returns:
- The details of all existing nodes.
-
listNodesInEnvironment
Iterable<? extends Node> listNodesInEnvironment(String environmentName)
Lists the details of all existing nodes in the given environment.- Parameters:
environmentName- The name fo the environment.- Returns:
- The details of all existing nodes in the given environment.
-
listNodesInEnvironment
Iterable<? extends Node> listNodesInEnvironment(String environmentName, ExecutorService executorService)
Lists the details of all existing nodes in the given environment, using the ExecutorService to paralleling the execution.- Parameters:
executorService- The thread pool used in this operationenvironmentName- The name fo the environment.- Returns:
- The details of all existing nodes in the given environment.
-
listClients
Iterable<? extends Client> listClients()
Lists the details of all existing clients.- Returns:
- The details of all existing clients.
-
listClients
Iterable<? extends Client> listClients(ExecutorService executorService)
Lists the details of all existing clients, but executing concurrently using the threads available in the ExecutorService.- Returns:
- The details of all existing clients.
-
listCookbookVersions
Iterable<? extends CookbookVersion> listCookbookVersions()
Lists the details of all existing cookbooks.- Returns:
- The details of all existing cookbooks.
-
listCookbookVersions
Iterable<? extends CookbookVersion> listCookbookVersions(ExecutorService executorService)
Lists the details of all existing cookbooks. This method is executed concurrently, using the threads available in the ExecutorService.- Returns:
- The details of all existing cookbooks.
-
listCookbookVersionsInEnvironment
Iterable<? extends CookbookVersion> listCookbookVersionsInEnvironment(String environmentName)
Lists the details of all existing cookbooks in an environment.- Parameters:
environmentName- The environment name.- Returns:
- The details of all existing cookbooks in an environment.
-
listCookbookVersionsInEnvironment
Iterable<? extends CookbookVersion> listCookbookVersionsInEnvironment(String environmentName, ExecutorService executorService)
Lists the details of all existing cookbooks in an environment.- Parameters:
executorService- The thread pool to do the concurrent execution.environmentName- The environment name.- Returns:
- The details of all existing cookbooks in an environment.
-
listCookbookVersionsInEnvironment
Iterable<? extends CookbookVersion> listCookbookVersionsInEnvironment(String environmentName, String numVersions)
Lists the details of all existing cookbooks in an environment limiting number of versions.- Parameters:
environmentName- The environment name.numVersions- The number of cookbook versions to include. Use 'all' to return all cookbook versions.- Returns:
- The details of all existing cookbooks in environment.
-
listCookbookVersionsInEnvironment
Iterable<? extends CookbookVersion> listCookbookVersionsInEnvironment(String environmentName, String numVersions, ExecutorService executorService)
Lists the details of all existing cookbooks in an environment limiting number of versions.- Parameters:
executorService- The executorService used to do this operation concurrently.environmentName- The environment name.numVersions- The number of cookbook versions to include. Use 'all' to return all cookbook versions.- Returns:
- The details of all existing cookbooks in environment.
-
listEnvironments
Iterable<? extends Environment> listEnvironments()
Lists the details of all existing environments.- Returns:
- The details of all existing environments.
-
-