Class: KeyValue::Kubernetes::Configmap::Client
- Inherits:
-
Object
- Object
- KeyValue::Kubernetes::Configmap::Client
- Includes:
- KubernetesClientFactory
- Defined in:
- lib/keyvalue/kubernetes/configmap.rb
Instance Method Summary collapse
-
#initialize(kubernetes_client = nil) ⇒ Client
constructor
A new instance of Client.
- #read_key(key_name) ⇒ Object
- #update_key(key_name, value) ⇒ Object
Methods included from KubernetesClientFactory
Constructor Details
#initialize(kubernetes_client = nil) ⇒ Client
13 14 15 |
# File 'lib/keyvalue/kubernetes/configmap.rb', line 13 def initialize(kubernetes_client = nil) @k8s_client = kubernetes_client || create_client end |
Instance Method Details
#read_key(key_name) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/keyvalue/kubernetes/configmap.rb', line 17 def read_key(key_name) configmap = @k8s_client.get_config_map(key_name, 'default') JSON.parse(configmap.data.value) rescue Kubeclient::ResourceNotFoundError raise KeyNotFoundError, "Key '#{key_name}' not found" end |
#update_key(key_name, value) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/keyvalue/kubernetes/configmap.rb', line 24 def update_key(key_name, value) @k8s_client.patch_config_map( key_name, { data: { value: value.to_json } }, 'default' ) rescue Kubeclient::ResourceNotFoundError raise KeyNotFoundError, "Key '#{key_name}' not found" end |