Class: Fog::Kubevirt::Compute::Secret
- Inherits:
-
Model
- Object
- Model
- Fog::Kubevirt::Compute::Secret
- Defined in:
- lib/fog/kubevirt/compute/models/secret.rb
Class Method Summary collapse
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
-
#persisted? ⇒ Boolean
Persisted if the secret has been stored in the API (uid is set by the server on create).
-
#to_secret_hash ⇒ Object
Build hash for create/update API.
- #update ⇒ Object
Class Method Details
.parse(object) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/fog/kubevirt/compute/models/secret.rb', line 57 def self.parse(object) = object[:metadata] || {} data_hash = object[:data] || {} raise "Data must be a hash" unless data_hash.is_a?(Hash) { :name => [:name], :namespace => [:namespace], :resource_version => [:resourceVersion], :uid => [:uid], :creation_timestamp => [:creationTimestamp], :data => data_hash, :type => object[:type], :metadata => } end |
Instance Method Details
#create ⇒ Object
39 40 41 42 43 |
# File 'lib/fog/kubevirt/compute/models/secret.rb', line 39 def create created = service.create_secret(to_secret_hash) merge_attributes(created) self end |
#destroy ⇒ Object
51 52 53 54 55 |
# File 'lib/fog/kubevirt/compute/models/secret.rb', line 51 def destroy service.delete_secret(name, namespace || service.namespace) self.uid = nil self end |
#persisted? ⇒ Boolean
Persisted if the secret has been stored in the API (uid is set by the server on create).
17 18 19 |
# File 'lib/fog/kubevirt/compute/models/secret.rb', line 17 def persisted? !uid.nil? end |
#to_secret_hash ⇒ Object
Build hash for create/update API. data values must be base64-encoded.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/fog/kubevirt/compute/models/secret.rb', line 22 def to_secret_hash ns = namespace || service.namespace raise "Data must be a hash" unless (data || {}).is_a?(Hash) h = { :apiVersion => 'v1', :kind => 'Secret', :metadata => ( || {}).merge({ :name => name, :namespace => ns }), :data => data, :type => (type || 'Opaque') } h[:metadata][:resourceVersion] = resource_version if resource_version.to_s != '' h end |
#update ⇒ Object
45 46 47 48 49 |
# File 'lib/fog/kubevirt/compute/models/secret.rb', line 45 def update updated = service.update_secret(to_secret_hash) merge_attributes(updated) self end |