Class: Bolt::Target2
- Inherits:
-
Object
- Object
- Bolt::Target2
- Defined in:
- lib/bolt/target.rb
Instance Attribute Summary collapse
-
#inventory ⇒ Object
Returns the value of attribute inventory.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
-
.from_asserted_args(uri = nil, name = nil, target_alias = nil, config = nil, facts = nil, vars = nil, features = nil, plugin_hooks = nil) ⇒ Object
TODO: Disallow any positional argument other than URI.
-
.from_asserted_hash(hash) ⇒ Object
Target.new from a plan initialized with a hash.
Instance Method Summary collapse
- #config ⇒ Object
- #detail ⇒ Object
- #eql?(other) ⇒ Boolean (also: #==)
- #facts ⇒ Object
-
#feature_set ⇒ Object
Use feature_set internally to access set.
-
#features ⇒ Object
features returns an array to be compatible with plans.
- #host ⇒ Object
-
#initialize(name, inventory = nil) ⇒ Target2
constructor
rubocop:enable Lint/UnusedMethodArgument.
- #inventory_target ⇒ Object
- #options ⇒ Object
- #password ⇒ Object
- #plugin_hooks ⇒ Object
- #port ⇒ Object
- #protocol ⇒ Object
- #remote? ⇒ Boolean
- #safe_name ⇒ Object
- #target_alias ⇒ Object
- #to_h ⇒ Object
- #to_s ⇒ Object
- #transport ⇒ Object
- #uri ⇒ Object
- #user ⇒ Object
- #vars ⇒ Object
Constructor Details
#initialize(name, inventory = nil) ⇒ Target2
rubocop:enable Lint/UnusedMethodArgument
33 34 35 36 |
# File 'lib/bolt/target.rb', line 33 def initialize(name, inventory = nil) @name = name @inventory = inventory end |
Instance Attribute Details
#inventory ⇒ Object
Returns the value of attribute inventory.
8 9 10 |
# File 'lib/bolt/target.rb', line 8 def inventory @inventory end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
105 106 107 |
# File 'lib/bolt/target.rb', line 105 def name @name end |
Class Method Details
.from_asserted_args(uri = nil, name = nil, target_alias = nil, config = nil, facts = nil, vars = nil, features = nil, plugin_hooks = nil) ⇒ Object
TODO: Disallow any positional argument other than URI. Target.new from a plan with just a uri. Puppet requires the arguments to this method to match (by name) the attributes defined on the datatype. rubocop:disable Lint/UnusedMethodArgument
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/bolt/target.rb', line 21 def self.from_asserted_args(uri = nil, name = nil, target_alias = nil, config = nil, facts = nil, vars = nil, features = nil, plugin_hooks = nil) from_asserted_hash('uri' => uri) end |
.from_asserted_hash(hash) ⇒ Object
Target.new from a plan initialized with a hash
11 12 13 14 15 |
# File 'lib/bolt/target.rb', line 11 def self.from_asserted_hash(hash) inventory = Puppet.lookup(:bolt_inventory) target = inventory.create_target_from_plan(hash) new(target.name, inventory) end |
Instance Method Details
#config ⇒ Object
60 61 62 |
# File 'lib/bolt/target.rb', line 60 def config inventory_target.config end |
#detail ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/bolt/target.rb', line 84 def detail { 'name' => name, 'uri' => uri, 'alias' => target_alias, 'config' => Bolt::Util.deep_merge(config, 'transport' => transport, transport => ), 'vars' => vars, 'features' => features, 'facts' => facts, 'plugin_hooks' => plugin_hooks } end |
#eql?(other) ⇒ Boolean Also known as: ==
143 144 145 |
# File 'lib/bolt/target.rb', line 143 def eql?(other) self.class.equal?(other.class) && @name == other.name end |
#facts ⇒ Object
52 53 54 |
# File 'lib/bolt/target.rb', line 52 def facts @inventory.facts(self) end |
#feature_set ⇒ Object
Use feature_set internally to access set
44 45 46 |
# File 'lib/bolt/target.rb', line 44 def feature_set @inventory.features(self) end |
#features ⇒ Object
features returns an array to be compatible with plans
39 40 41 |
# File 'lib/bolt/target.rb', line 39 def features @inventory.features(self).to_a end |
#host ⇒ Object
101 102 103 |
# File 'lib/bolt/target.rb', line 101 def host inventory_target.host end |
#inventory_target ⇒ Object
97 98 99 |
# File 'lib/bolt/target.rb', line 97 def inventory_target @inventory.targets[@name] end |
#options ⇒ Object
135 136 137 |
# File 'lib/bolt/target.rb', line 135 def inventory_target. end |
#password ⇒ Object
131 132 133 |
# File 'lib/bolt/target.rb', line 131 def password inventory_target.password end |
#plugin_hooks ⇒ Object
139 140 141 |
# File 'lib/bolt/target.rb', line 139 def plugin_hooks inventory_target.plugin_hooks end |
#port ⇒ Object
115 116 117 |
# File 'lib/bolt/target.rb', line 115 def port inventory_target.port end |
#protocol ⇒ Object
123 124 125 |
# File 'lib/bolt/target.rb', line 123 def protocol inventory_target.protocol end |
#remote? ⇒ Boolean
111 112 113 |
# File 'lib/bolt/target.rb', line 111 def remote? protocol == 'remote' end |
#safe_name ⇒ Object
64 65 66 |
# File 'lib/bolt/target.rb', line 64 def safe_name inventory_target.safe_name end |
#target_alias ⇒ Object
68 69 70 |
# File 'lib/bolt/target.rb', line 68 def target_alias inventory_target.target_alias end |
#to_h ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/bolt/target.rb', line 72 def to_h .merge( 'name' => name, 'uri' => uri, 'protocol' => protocol, 'user' => user, 'password' => password, 'host' => host, 'port' => port ) end |
#to_s ⇒ Object
56 57 58 |
# File 'lib/bolt/target.rb', line 56 def to_s safe_name end |
#transport ⇒ Object
119 120 121 |
# File 'lib/bolt/target.rb', line 119 def transport inventory_target.protocol end |
#uri ⇒ Object
107 108 109 |
# File 'lib/bolt/target.rb', line 107 def uri inventory_target.uri end |
#user ⇒ Object
127 128 129 |
# File 'lib/bolt/target.rb', line 127 def user inventory_target.user end |
#vars ⇒ Object
48 49 50 |
# File 'lib/bolt/target.rb', line 48 def vars @inventory.vars(self) end |