Sha256: e5d429f679860c53484c2aabc25a4a64d364c3b362eb9a1a2e44b90aed9e185b

Contents?: true

Size: 1 KB

Versions: 20

Compression:

Stored size: 1 KB

Contents

module MCollective
  module Util
    class Playbook
      class DataStores
        class EtcdDataStore < Base
          def startup_hook
            require "etcdv3"
          rescue LoadError
            raise("Etcd Data Store is not functional. Please install the etcdv3 Gem.")
          end

          def conn
            return @_conn if @_conn

            opts = {}
            opts[:url] = @properties.fetch("url", "http://127.0.0.1:2379")
            opts[:user] = @properties["user"] if @properties["user"]
            opts[:password] = @properties["password"] if @properties["password"]

            @_conn = Etcdv3.new(opts)
          end

          def read(key)
            result = conn.get(key)

            raise("Could not find key %s" % key) if !result || result.kvs.empty?

            result.kvs[0].value
          end

          def write(key, value)
            conn.put(key, value)
          end

          def delete(key)
            conn.del(key)
          end
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
choria-mcorpc-support-2.26.5 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.26.4 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.26.3 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.26.2 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.26.1 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.26.0 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.25.3 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.25.2 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.25.1 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.25.0 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.24.4 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.24.3 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.24.2 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.24.1 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.24.0 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.23.3 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.23.2 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.23.1 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.23.0 lib/mcollective/util/playbook/data_stores/etcd_data_store.rb
choria-mcorpc-support-2.23.0.pre lib/mcollective/util/playbook/data_stores/etcd_data_store.rb