Every repository with this icon (
Every repository with this icon (
Resources
Resources provide the basis for the configuration of PoolParty.
There are built-in resources that PoolParty gives you for free to use in your clouds.rb or your plugins. These include:
class_package
conditional
cron
custom_service
directory
exec
file
gem_package
host
mount
package
remote_file
sshkey
symlink
variable
deploydirectory
git
line
rsyncmirror
svn
plugin
These can all be called from within your plugins or your clouds.rb by preceding them with either has_ or does_not_have_ to indicate whether your cloud should have or not have their resources.
For instance
has_package(:name => "apache2")
indicates that we want the package apache2 installed on our cloud.
Resources are easy to create.
Say you have a resource that you want to create, you can make one by subclassing PoolParty::Resources::Resource like so
module PoolParty
module Resources
class MyCoolResource < Resource
default_options({})
end
end
end
Then you can call your resource like so in your clouds.rb file:
has_my_cool_resource(:name => "funky funky")
You can also create virtual resources, the preferred method of creating your own resource. To create a virtual resource, such as a virtualhost for the apache2 plugin, or a database for the mysql plugin, simply call:
virtual_resource(:virtual_resource_name) do
end
These can then be called from plugins or clouds.rb the same way with
has_virtual_resource_name(:name => "cool virtual resource")






