diff options
| author | Jeff McCune <jeff@puppetlabs.com> | 2011-06-15 11:51:33 -0700 | 
|---|---|---|
| committer | Jeff McCune <jeff@puppetlabs.com> | 2011-06-15 11:51:33 -0700 | 
| commit | c4e8bb8f97ef558faa8112127c7fd49dc201647b (patch) | |
| tree | 074d6622cf6444e0bef8fec79ecfa1bb24180c6a | |
| parent | df2398b59c295c3e27cea5e41a76167a797139d4 (diff) | |
| parent | f13f3c2916c2857a3949d5ac6b884c045804ebac (diff) | |
| download | puppet-stdlib-c4e8bb8f97ef558faa8112127c7fd49dc201647b.tar.gz puppet-stdlib-c4e8bb8f97ef558faa8112127c7fd49dc201647b.tar.bz2  | |
Merge pull request #4 from jeffmccune/ticket/master/3_anchor_resource_type
Ticket/master/3 anchor resource type
Nan +1'ed on the tech list.
Merging into master.
| -rw-r--r-- | lib/puppet/type/anchor.rb | 32 | ||||
| -rw-r--r-- | spec/unit/puppet/type/anchor_spec.rb | 11 | 
2 files changed, 43 insertions, 0 deletions
diff --git a/lib/puppet/type/anchor.rb b/lib/puppet/type/anchor.rb new file mode 100644 index 0000000..0c28b1c --- /dev/null +++ b/lib/puppet/type/anchor.rb @@ -0,0 +1,32 @@ +Puppet::Type.newtype(:anchor) do +  desc <<-'ENDOFDESC' +  A simple resource type intended to be used as an anchor in a composite class. + +      class ntp { +        class { 'ntp::package': } +        -> class { 'ntp::config': } +        -> class { 'ntp::service': } + +        # These two resources "anchor" the composed classes +        # such that the end user may use "require" and "before" +        # relationships with Class['ntp'] +        anchor { 'ntp::begin': }   -> class  { 'ntp::package': } +        class  { 'ntp::service': } -> anchor { 'ntp::end': } +      } + +  This resource allows all of the classes in the ntp module to be contained +  within the ntp class from a dependency management point of view. + +  This allows the end user of the ntp module to establish require and before +  relationships easily: + +      class { 'ntp': } -> class { 'mcollective': } +      class { 'mcollective': } -> class { 'ntp': } + +  ENDOFDESC + +  newparam :name do +    desc "The name of the anchor resource." +  end + +end diff --git a/spec/unit/puppet/type/anchor_spec.rb b/spec/unit/puppet/type/anchor_spec.rb new file mode 100644 index 0000000..2030b83 --- /dev/null +++ b/spec/unit/puppet/type/anchor_spec.rb @@ -0,0 +1,11 @@ +#!/usr/bin/env ruby + +require 'puppet' + +anchor = Puppet::Type.type(:anchor).new(:name => "ntp::begin") + +describe anchor do +  it "should stringify normally" do +    anchor.to_s.should == "Anchor[ntp::begin]" +  end +end  | 
