Sha256: 75846a09c72a65031cb4c71a54f0a7ccd6b9e0c2533266df267a779e79491cdb

Contents?: true

Size: 1.99 KB

Versions: 15

Compression:

Stored size: 1.99 KB

Contents

require 'rbconfig'

module VagrantPlugins
  module Invade
    module Validator
      module Provision

        # (see: https://docs.vagrantup.com/v2/provisioning/puppet_agent.html)
        class PuppetAgent

          attr_accessor :env
          attr_accessor :puppet_agent

          DEFAULT = {
            'puppet_server' => nil,
            'puppet_node' => nil,
            'client_cert_path' => nil,
            'client_private_key_path' => nil,
            'facter' => nil,
            'options' => nil
          }

          def initialize(env, puppet_agent)
            @env = env
            @puppet_agent = puppet_agent
            @invade = env[:invade]
          end

          def validate
            return nil unless @puppet_agent

            # PUPPET SERVER
            @puppet_agent['puppet_server'] = Validator.validate_string(
              @puppet_agent['puppet_server'], 'puppet_server', DEFAULT['puppet_server']
            )

            # PUPPET NODE
            @puppet_agent['puppet_node'] = Validator.validate_string(
              @puppet_agent['puppet_node'], 'puppet_node', DEFAULT['puppet_node']
            )

            # CLIENT CERT PATH
            @puppet_agent['client_cert_path'] = Validator.validate_array(
              @puppet_agent['client_cert_path'], 'client_cert_path', DEFAULT['client_cert_path']
            )

            # CLIENT PRIVATE KEY PATH
            @puppet_agent['client_private_key_path'] = Validator.validate_array(
              @puppet_agent['client_private_key_path'], 'client_private_key_path', DEFAULT['client_private_key_path']
            )

            # FACTER
            @puppet_agent['facter'] = Validator.validate_array(
              @puppet_agent['facter'], 'facter', DEFAULT['facter']
            )

            # OPTIONS
            @puppet_agent['options'] = Validator.validate_string(
              @puppet_agent['options'], 'options', DEFAULT['options']
            )

            @puppet_agent
          end
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
vagrant-invade-0.5.5 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.5.4 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.5.3 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.5.2 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.5.1 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.5.0 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.4.8 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.4.7 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.4.6 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.4.5 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.4.4 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.4.3 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.4.2 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.4.1 lib/vagrant-invade/validator/provision/puppet_agent.rb
vagrant-invade-0.4.0 lib/vagrant-invade/validator/provision/puppet_agent.rb