David Golden > Pantry-0.012 > Pantry::Model::Node

Download:
Pantry-0.012.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.012   Source  

NAME ^

Pantry::Model::Node - Pantry data model for nodes

VERSION ^

version 0.012

SYNOPSIS ^

  my $pantry = Pantry::Model::Pantry->new;
  my $node = $pantry->node("foo.example.com");

  $node->append_to_run_list('recipe[nginx]');
  $node->set_attribute('nginx.port' => 80);
  $node->save;

DESCRIPTION ^

Models the configuration data for a specific server.

ATTRIBUTES ^

name

This attribute is the canonical name of the node, generally a fully-qualified domain name

name

This attribute is the name of the environment to which the node belongs. This defaults to _default.

run_list

This attribute is provided by the Pantry::Role::Runlist role and holds a list of recipes (or roles) to be configured by chef-solo.

attributes

This attribute holds node attribute data as key-value pairs. Keys may be separated by a period to indicate nesting (literal periods must be escaped by a backslash). Values should be scalars or array references, except for boolean values which should be set as JSON::Boolean values like JSON::true and JSON::false.

pantry_host

This optional attribute holds an alternate hostname or IP address to use for the SSH connection within pantry sync. In all other respects, the node will still be referenced by the name attribute.

pantry_port

This optional attribute holds an alternate port number to use for the SSH connection within pantry sync.

pantry_user

This optional attribute holds an alternate user for the SSH connection within pantry sync. (The default is root.) This user must have password-less sudo permissions.

METHODS ^

set_attribute

  $node->set_attribute("nginx.port", 80);

Sets the node attribute for the given key to the given value.

get_attribute

  my $port = $node->get_attribute("nginx.port");

Returns the node attribute for the given key.

delete_attribute

  $node->delete_attribute("nginx.port");

Deletes the node attribute for the given key.

save

Saves the node to a file in the pantry. If the private _path attribute has not been set, an exception is thrown.

AUTHOR ^

David Golden <dagolden@cpan.org>

COPYRIGHT AND LICENSE ^

This software is Copyright (c) 2011 by David Golden.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004
syntax highlighting: