Sha256: 1497c371f319bdadc0e35acd7624a505527b5d6d8507d0380b804ff880121d89

Contents?: true

Size: 1.55 KB

Versions: 5

Compression:

Stored size: 1.55 KB

Contents

# frozen_string_literal: true

Puppet::DataTypes.create_type('Target') do
  begin
    inventory = Puppet.lookup(:bolt_inventory)
    target_implementation_class = inventory.target_implementation_class
  rescue Puppet::Context::UndefinedBindingError
    target_implementation_class = Bolt::Target
  end

  require 'bolt/target'

  interface <<-PUPPET
    attributes => {
      uri => { type => Optional[String[1]], kind => given_or_derived },
      name => { type => Optional[String[1]] , kind => given_or_derived },
      safe_name => { type =>  Optional[String[1]], kind => given_or_derived },
      target_alias => { type => Optional[Variant[String[1], Array[String[1]]]], kind => given_or_derived },
      config => { type => Optional[Hash[String[1], Data]], kind => given_or_derived },
      vars => { type => Optional[Hash[String[1], Data]], kind => given_or_derived },
      facts => { type => Optional[Hash[String[1], Data]], kind => given_or_derived },
      features => { type => Optional[Array[String[1]]], kind => given_or_derived },
      plugin_hooks => { type => Optional[Hash[String[1], Data]], kind => given_or_derived }
    },
    functions => {
      host => Callable[[], Optional[String]],
      password => Callable[[], Optional[String[1]]],
      port => Callable[[], Optional[Integer]],
      protocol => Callable[[], Optional[String[1]]],
      transport => Callable[[], String[1]],
      transport_config => Callable[[], Hash[String[1], Data]],
      user => Callable[[], Optional[String[1]]]
    }
  PUPPET

  implementation_class target_implementation_class
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
bolt-2.9.0 bolt-modules/boltlib/lib/puppet/datatypes/target.rb
bolt-2.8.0 bolt-modules/boltlib/lib/puppet/datatypes/target.rb
bolt-2.7.0 bolt-modules/boltlib/lib/puppet/datatypes/target.rb
bolt-2.6.0 bolt-modules/boltlib/lib/puppet/datatypes/target.rb
bolt-2.5.0 bolt-modules/boltlib/lib/puppet/datatypes/target.rb