Class: Provide::Services::Vault

Inherits:
ApiClient show all
Defined in:
lib/provide-ruby/services/vault.rb

Instance Attribute Summary

Attributes inherited from ApiClient

#base_url, #token

Instance Method Summary collapse

Methods inherited from ApiClient

#delete, #get, #post, #put, #send_request

Constructor Details

#initialize(scheme = 'http', host, token) ⇒ Vault

Returns a new instance of Vault.



5
6
7
8
9
# File 'lib/provide-ruby/services/vault.rb', line 5

def initialize(scheme = 'http', host, token)
  @scheme = scheme
  @host = host
  @token = token
end

Instance Method Details

#create_key(vault_id) ⇒ Object



11
12
13
# File 'lib/provide-ruby/services/vault.rb', line 11

def create_key(vault_id)
    parse client.post "vaults/#{vault_id}"
end

#create_vault(params) ⇒ Object



51
52
53
# File 'lib/provide-ruby/services/vault.rb', line 51

def create_vault(params)
    parse client.post 'vaults', params
end

#decrypt(vault_id, key_id, data) ⇒ Object



27
28
29
# File 'lib/provide-ruby/services/vault.rb', line 27

def decrypt(vault_id, key_id, data)
    parse client.post "vaults/#{vault_id}/keys/#{key_id}/decrypt", data
end

#delete_key(vault_id, key_id) ⇒ Object



15
16
17
# File 'lib/provide-ruby/services/vault.rb', line 15

def delete_key(vault_id, key_id)
    parse client.delete "vaults/#{vault_id}/keys/#{key_id}"
end

#delete_secret(vault_id, secret_id) ⇒ Object



47
48
49
# File 'lib/provide-ruby/services/vault.rb', line 47

def delete_secret(vault_id, secret_id)
    parse client.delete "vaults/#{vault_id}/secrets/#{secret_id}"
end

#derive_key(vault_id, key_id) ⇒ Object



19
20
21
# File 'lib/provide-ruby/services/vault.rb', line 19

def derive_key(vault_id, key_id)
    parse client.post "vaults/#{vault_id}/keys/#{key_id}/derive"
end

#encrypt(vault_id, key_id, data) ⇒ Object



23
24
25
# File 'lib/provide-ruby/services/vault.rb', line 23

def encrypt(vault_id, key_id, data)
    parse client.post "vaults/#{vault_id}/keys/#{key_id}/encrypt", data
end

#list_keys(vault_id) ⇒ Object



31
32
33
# File 'lib/provide-ruby/services/vault.rb', line 31

def list_keys(vault_id)
    parse client.get "vaults/#{vault_id}/keys"
end

#list_secrets(vault_id) ⇒ Object



35
36
37
# File 'lib/provide-ruby/services/vault.rb', line 35

def list_secrets(vault_id)
    parse client.get "vaults/#{vault_id}/secrets"
end

#list_vaults(params = nil) ⇒ Object



55
56
57
# File 'lib/provide-ruby/services/vault.rb', line 55

def list_vaults(params = nil)
    parse client.get 'vaults', (params || {})
end

#retrieve_secret(vault_id, secret_id) ⇒ Object



43
44
45
# File 'lib/provide-ruby/services/vault.rb', line 43

def retrieve_secret(vault_id, secret_id)
    parse client.get "vaults/#{vault_id}/secrets/#{secret_id}"
end

#store_secret(vault_id, secret) ⇒ Object



39
40
41
# File 'lib/provide-ruby/services/vault.rb', line 39

def store_secret(vault_id, secret)
    parse client.post "vaults/#{vault_id}/secrets", secret
end