Class BaseChefService

java.lang.Object
org.jclouds.chef.internal.BaseChefService
All Implemented Interfaces:
ChefService

@Singleton public class BaseChefService extends Object implements ChefService
  • Field Details

    • logger

      @Named("jclouds.chef") protected Logger logger
  • Method Details

    • encrypt

      public byte[] encrypt(InputStream input) throws IOException
      Description copied from interface: ChefService
      Encrypts the given input stream.
      Specified by:
      encrypt in interface ChefService
      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

      public byte[] decrypt(InputStream input) throws IOException
      Description copied from interface: ChefService
      Decrypts the given input stream.
      Specified by:
      decrypt in interface ChefService
      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

      public Statement createBootstrapScriptForGroup(String group, @Nullable String nodeName)
      Description copied from interface: ChefService
      Creates all steps necessary to bootstrap the node.
      Specified by:
      createBootstrapScriptForGroup in interface ChefService
      Parameters:
      group - corresponds to a configured ChefProperties.CHEF_BOOTSTRAP_DATABAG data 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.
    • createBootstrapScriptForGroup

      public Statement createBootstrapScriptForGroup(String group)
      Description copied from interface: ChefService
      Creates all steps necessary to bootstrap the node.
      Specified by:
      createBootstrapScriptForGroup in interface ChefService
      Parameters:
      group - corresponds to a configured ChefProperties.CHEF_BOOTSTRAP_DATABAG data bag where run_list and other information are stored.
      Returns:
      The script used to bootstrap the node.
    • updateBootstrapConfigForGroup

      public void updateBootstrapConfigForGroup(String group, BootstrapConfig bootstrapConfig)
      Description copied from interface: ChefService
      Configures how the nodes of a certain group will be bootstrapped
      Specified by:
      updateBootstrapConfigForGroup in interface ChefService
      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

      public BootstrapConfig getBootstrapConfigForGroup(String group)
      Description copied from interface: ChefService
      Gets the bootstrap configuration for a given group.
      Specified by:
      getBootstrapConfigForGroup in interface ChefService
      Parameters:
      group - The name of the group.
      Returns:
      The bootstrap configuration for the given group.
    • cleanupStaleNodesAndClients

      public void cleanupStaleNodesAndClients(String prefix, int secondsStale)
      Description copied from interface: ChefService
      Removes the nodes and clients that have been inactive for a given amount of time.
      Specified by:
      cleanupStaleNodesAndClients in interface ChefService
      Parameters:
      prefix - The prefix for the nodes and clients to delete.
      secondsStale - The seconds of inactivity to consider a node and client obsolete.
    • createNodeAndPopulateAutomaticAttributes

      public Node createNodeAndPopulateAutomaticAttributes(String nodeName, Iterable<String> runList)
      Description copied from interface: ChefService
      Creates a new node and populates the automatic attributes.
      Specified by:
      createNodeAndPopulateAutomaticAttributes in interface ChefService
      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:
    • updateAutomaticAttributesOnNode

      public void updateAutomaticAttributesOnNode(String nodeName)
      Description copied from interface: ChefService
      Updates and populate the automatic attributes of the given node.
      Specified by:
      updateAutomaticAttributesOnNode in interface ChefService
      Parameters:
      nodeName - The node to update.
    • deleteAllNodesInList

      public void deleteAllNodesInList(Iterable<String> names)
      Description copied from interface: ChefService
      Deletes the given nodes.
      Specified by:
      deleteAllNodesInList in interface ChefService
      Parameters:
      names - The names of the nodes to delete.
    • deleteAllClientsInList

      public void deleteAllClientsInList(Iterable<String> names)
      Description copied from interface: ChefService
      Deletes the given clients.
      Specified by:
      deleteAllClientsInList in interface ChefService
      Parameters:
      names - The names of the client to delete.
    • listNodes

      public Iterable<? extends Node> listNodes()
      Description copied from interface: ChefService
      Lists the details of all existing nodes.
      Specified by:
      listNodes in interface ChefService
      Returns:
      The details of all existing nodes.
    • listNodes

      public Iterable<? extends Node> listNodes(ExecutorService executorService)
      Description copied from interface: ChefService
      Lists the details of all existing nodes, executing concurrently using the executorService.
      Specified by:
      listNodes in interface ChefService
      Returns:
      The details of all existing nodes.
    • listClients

      public Iterable<? extends Client> listClients()
      Description copied from interface: ChefService
      Lists the details of all existing clients.
      Specified by:
      listClients in interface ChefService
      Returns:
      The details of all existing clients.
    • listClients

      public Iterable<? extends Client> listClients(ExecutorService executorService)
      Description copied from interface: ChefService
      Lists the details of all existing clients, but executing concurrently using the threads available in the ExecutorService.
      Specified by:
      listClients in interface ChefService
      Returns:
      The details of all existing clients.
    • listCookbookVersions

      public Iterable<? extends CookbookVersion> listCookbookVersions()
      Description copied from interface: ChefService
      Lists the details of all existing cookbooks.
      Specified by:
      listCookbookVersions in interface ChefService
      Returns:
      The details of all existing cookbooks.
    • listCookbookVersions

      public Iterable<? extends CookbookVersion> listCookbookVersions(ExecutorService executorService)
      Description copied from interface: ChefService
      Lists the details of all existing cookbooks. This method is executed concurrently, using the threads available in the ExecutorService.
      Specified by:
      listCookbookVersions in interface ChefService
      Returns:
      The details of all existing cookbooks.
    • listCookbookVersionsInEnvironment

      public Iterable<? extends CookbookVersion> listCookbookVersionsInEnvironment(String environmentName)
      Description copied from interface: ChefService
      Lists the details of all existing cookbooks in an environment.
      Specified by:
      listCookbookVersionsInEnvironment in interface ChefService
      Parameters:
      environmentName - The environment name.
      Returns:
      The details of all existing cookbooks in an environment.
    • listCookbookVersionsInEnvironment

      public Iterable<? extends CookbookVersion> listCookbookVersionsInEnvironment(String environmentName, ExecutorService executorService)
      Description copied from interface: ChefService
      Lists the details of all existing cookbooks in an environment.
      Specified by:
      listCookbookVersionsInEnvironment in interface ChefService
      Parameters:
      environmentName - The environment name.
      executorService - The thread pool to do the concurrent execution.
      Returns:
      The details of all existing cookbooks in an environment.
    • listCookbookVersionsInEnvironment

      public Iterable<? extends CookbookVersion> listCookbookVersionsInEnvironment(String environmentName, String numVersions)
      Description copied from interface: ChefService
      Lists the details of all existing cookbooks in an environment limiting number of versions.
      Specified by:
      listCookbookVersionsInEnvironment in interface ChefService
      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

      public Iterable<? extends CookbookVersion> listCookbookVersionsInEnvironment(String environmentName, String numVersions, ExecutorService executorService)
      Description copied from interface: ChefService
      Lists the details of all existing cookbooks in an environment limiting number of versions.
      Specified by:
      listCookbookVersionsInEnvironment in interface ChefService
      Parameters:
      environmentName - The environment name.
      numVersions - The number of cookbook versions to include. Use 'all' to return all cookbook versions.
      executorService - The executorService used to do this operation concurrently.
      Returns:
      The details of all existing cookbooks in environment.
    • listEnvironments

      public Iterable<? extends Environment> listEnvironments()
      Description copied from interface: ChefService
      Lists the details of all existing environments.
      Specified by:
      listEnvironments in interface ChefService
      Returns:
      The details of all existing environments.
    • listNodesInEnvironment

      public Iterable<? extends Node> listNodesInEnvironment(String environmentName)
      Description copied from interface: ChefService
      Lists the details of all existing nodes in the given environment.
      Specified by:
      listNodesInEnvironment in interface ChefService
      Parameters:
      environmentName - The name fo the environment.
      Returns:
      The details of all existing nodes in the given environment.
    • listNodesInEnvironment

      public Iterable<? extends Node> listNodesInEnvironment(String environmentName, ExecutorService executorService)
      Description copied from interface: ChefService
      Lists the details of all existing nodes in the given environment, using the ExecutorService to paralleling the execution.
      Specified by:
      listNodesInEnvironment in interface ChefService
      Parameters:
      environmentName - The name fo the environment.
      executorService - The thread pool used in this operation
      Returns:
      The details of all existing nodes in the given environment.