Class: Ironfan::Dsl::Facet
- Inherits:
-
Compute
- Object
- Builder
- Ironfan::Dsl
- Compute
- Ironfan::Dsl::Facet
- Includes:
- Plugin::Base
- Defined in:
- lib/ironfan/headers.rb,
lib/ironfan/dsl/facet.rb
Instance Attribute Summary
Attributes included from Gorillib::Resolution
Class Method Summary collapse
Instance Method Summary collapse
- #children ⇒ Object
- #full_cluster_name ⇒ Object
- #full_name ⇒ Object
-
#initialize(attrs = {}, &blk) ⇒ Facet
constructor
A new instance of Facet.
Methods included from Plugin::Base
Methods inherited from Compute
_project, #cloud, cluster_role_name, #ec2, facet_role_name, #openstack, #raid_group, #rds, #recipe, #role, #run_list, #selected_cloud, #static, #vsphere
Methods inherited from Ironfan::Dsl
#_skip_fields, #skip_fields, #to_manifest
Methods included from Gorillib::Resolution
#deep_resolve, #merge_resolve, #merge_values, #read_resolved_attribute, #read_set_attribute, #read_set_or_underlay_attribute, #read_underlay_attribute, #resolve, #resolve!, #resolve_value
Methods included from CookbookRequirements
#_cookbook_reqs, #cookbook_req, #cookbook_reqs, #join_req
Methods inherited from Builder
Constructor Details
#initialize(attrs = {}, &blk) ⇒ Facet
Returns a new instance of Facet.
16 17 18 19 20 21 22 23 24 |
# File 'lib/ironfan/dsl/facet.rb', line 16 def initialize(attrs = {}, &blk) self.cluster_names attrs[:owner].cluster_names unless attrs[:owner].nil? self.realm_name attrs[:owner].realm_name unless attrs[:owner].nil? self.cluster_name = attrs[:owner].cluster_name unless attrs[:owner].nil? self.name = attrs[:name] unless attrs[:name].nil? self.facet_role Ironfan::Dsl::Role.new(name: Compute.facet_role_name(realm_name, cluster_name, name)) super (0..instances - 1).each{ |idx| server idx } end |
Class Method Details
.plugin_hook(owner, attrs, plugin_name, full_name, &blk) ⇒ Object
11 12 13 14 |
# File 'lib/ironfan/dsl/facet.rb', line 11 def self.plugin_hook(owner, attrs, plugin_name, full_name, &blk) facet = owner.facet(plugin_name, new(attrs.merge(name: plugin_name, owner: owner))) _project(facet, &blk) end |
Instance Method Details
#children ⇒ Object
26 27 28 |
# File 'lib/ironfan/dsl/facet.rb', line 26 def children servers.to_a + components.to_a end |
#full_cluster_name ⇒ Object
30 31 32 |
# File 'lib/ironfan/dsl/facet.rb', line 30 def full_cluster_name "#{realm_name}-#{cluster_name}" end |
#full_name ⇒ Object
34 35 36 |
# File 'lib/ironfan/dsl/facet.rb', line 34 def full_name "#{full_cluster_name}-#{name}" end |