Sha256: 81c1d152139302402e04fc7620d6deff5bb9084a4a7b975d7e8b04d9d7d71b72

Contents?: true

Size: 829 Bytes

Versions: 1

Compression:

Stored size: 829 Bytes

Contents

# frozen_string_literal: true

module Bolt
  class Plugin
    class PuppetConnectData
      def initialize(context:, **_opts)
        puppet_connect_data_yaml_path = File.join(context.boltdir, 'puppet_connect_data.yaml')
        @data = Bolt::Util.read_optional_yaml_hash(
          puppet_connect_data_yaml_path,
          'puppet_connect_data.yaml'
        )
      end

      def name
        'puppet_connect_data'
      end

      def hooks
        %i[resolve_reference validate_resolve_reference]
      end

      def resolve_reference(opts)
        key = opts['key']
        @data[key]
      end

      def validate_resolve_reference(opts)
        unless opts['key']
          raise Bolt::ValidationError,
                "puppet_connect_data plugin requires that 'key' be specified"
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bolt-2.44.0 lib/bolt/plugin/puppet_connect_data.rb