Class: Vault::Transform

Inherits:
Request show all
Defined in:
lib/vault/api/transform.rb,
lib/vault/api/transform/role.rb,
lib/vault/api/transform/alphabet.rb,
lib/vault/api/transform/template.rb,
lib/vault/api/transform/transformation.rb

Defined Under Namespace

Classes: Alphabet, Role, Template, Transformation

Instance Attribute Summary

Attributes inherited from Request

#client

Instance Method Summary collapse

Methods inherited from Request

#initialize, #inspect, #to_s

Methods included from EncodePath

encode_path

Constructor Details

This class inherits a constructor from Vault::Request

Instance Method Details

#alphabetsObject



34
35
36
37
38
39
40
41
# File 'lib/vault/api/transform/alphabet.rb', line 34

def alphabets
  json = client.list("/v1/transform/alphabet")
  if keys = json.dig(:data, :keys)
    keys
  else
    json
  end
end

#create_alphabet(name, alphabet:, **opts) ⇒ Object



13
14
15
16
17
18
# File 'lib/vault/api/transform/alphabet.rb', line 13

def create_alphabet(name, alphabet:, **opts)
  opts ||= {}
  opts[:alphabet] = alphabet
  client.post("/v1/transform/alphabet/#{encode_path(name)}", JSON.fast_generate(opts))
  return true
end

#create_role(name, **opts) ⇒ Object



13
14
15
16
17
# File 'lib/vault/api/transform/role.rb', line 13

def create_role(name, **opts)
  opts ||= {}
  client.post("/v1/transform/role/#{encode_path(name)}", JSON.fast_generate(opts))
  return true
end

#create_template(name, type:, pattern:, **opts) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/vault/api/transform/template.rb', line 23

def create_template(name, type:, pattern:, **opts)
  opts ||= {}
  opts[:type] = type
  opts[:pattern] = pattern
  client.post("/v1/transform/template/#{encode_path(name)}", JSON.fast_generate(opts))
  return true
end

#create_transformation(name, type:, template:, **opts) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/vault/api/transform/transformation.rb', line 30

def create_transformation(name, type:, template:, **opts)
  opts ||= {}
  opts[:type] = type
  opts[:template] = template
  client.post("/v1/transform/transformation/#{encode_path(name)}", JSON.fast_generate(opts))
  return true
end

#decode(role_name:, **opts) ⇒ Object



19
20
21
22
# File 'lib/vault/api/transform.rb', line 19

def decode(role_name:, **opts)
  opts ||= {}
  client.post("/v1/transform/decode/#{encode_path(role_name)}", JSON.fast_generate(opts))
end

#delete_alphabet(name) ⇒ Object



29
30
31
32
# File 'lib/vault/api/transform/alphabet.rb', line 29

def delete_alphabet(name)
  client.delete("/v1/transform/alphabet/#{encode_path(name)}")
  true
end

#delete_role(name) ⇒ Object



28
29
30
31
# File 'lib/vault/api/transform/role.rb', line 28

def delete_role(name)
  client.delete("/v1/transform/role/#{encode_path(name)}")
  true
end

#delete_template(name) ⇒ Object



40
41
42
43
# File 'lib/vault/api/transform/template.rb', line 40

def delete_template(name)
  client.delete("/v1/transform/template/#{encode_path(name)}")
  true
end

#delete_transformation(name) ⇒ Object



47
48
49
50
# File 'lib/vault/api/transform/transformation.rb', line 47

def delete_transformation(name)
  client.delete("/v1/transform/transformation/#{encode_path(name)}")
  true
end

#encode(role_name:, **opts) ⇒ Object



14
15
16
17
# File 'lib/vault/api/transform.rb', line 14

def encode(role_name:, **opts)
  opts ||= {}
  client.post("/v1/transform/encode/#{encode_path(role_name)}", JSON.fast_generate(opts))
end

#get_alphabet(name) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/vault/api/transform/alphabet.rb', line 20

def get_alphabet(name)
  json = client.get("/v1/transform/alphabet/#{encode_path(name)}")
  if data = json.dig(:data)
    Alphabet.decode(data)
  else
    json
  end
end

#get_role(name) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/vault/api/transform/role.rb', line 19

def get_role(name)
  json = client.get("/v1/transform/role/#{encode_path(name)}")
  if data = json.dig(:data)
    Role.decode(data)
  else
    json
  end
end

#get_template(name) ⇒ Object



31
32
33
34
35
36
37
38
# File 'lib/vault/api/transform/template.rb', line 31

def get_template(name)
  json = client.get("/v1/transform/template/#{encode_path(name)}")
  if data = json.dig(:data)
    Template.decode(data)
  else
    json
  end
end

#get_transformation(name) ⇒ Object



38
39
40
41
42
43
44
45
# File 'lib/vault/api/transform/transformation.rb', line 38

def get_transformation(name)
  json = client.get("/v1/transform/transformation/#{encode_path(name)}")
  if data = json.dig(:data)
    Transformation.decode(data)
  else
    json
  end
end

#rolesObject



33
34
35
36
37
38
39
40
# File 'lib/vault/api/transform/role.rb', line 33

def roles
  json = client.list("/v1/transform/role")
  if keys = json.dig(:data, :keys)
    keys
  else
    json
  end
end

#templatesObject



45
46
47
48
49
50
51
52
# File 'lib/vault/api/transform/template.rb', line 45

def templates
  json = client.list("/v1/transform/template")
  if keys = json.dig(:data, :keys)
    keys
  else
    json
  end
end

#transformationsObject



52
53
54
55
56
57
58
59
# File 'lib/vault/api/transform/transformation.rb', line 52

def transformations
  json = client.list("/v1/transform/transformation")
  if keys = json.dig(:data, :keys)
    keys
  else
    json
  end
end