class Fog::Kubevirt::Compute::Secret
Public Class Methods
parse(object)
click to toggle source
# File lib/fog/kubevirt/compute/models/secret.rb, line 57 def self.parse(object) metadata = object[:metadata] || {} data_hash = object[:data] || {} raise "Data must be a hash" unless data_hash.is_a?(Hash) { :name => metadata[:name], :namespace => metadata[:namespace], :resource_version => metadata[:resourceVersion], :uid => metadata[:uid], :creation_timestamp => metadata[:creationTimestamp], :data => data_hash, :type => object[:type], :metadata => metadata } end
Public Instance Methods
create()
click to toggle source
# 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()
click to toggle source
# 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?()
click to toggle source
Persisted if the secret has been stored in the API (uid is set by the server on create).
# File lib/fog/kubevirt/compute/models/secret.rb, line 17 def persisted? !uid.nil? end
to_secret_hash()
click to toggle source
Build hash for create/update API. data values must be base64-encoded.
# 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 => (metadata || {}).merge({ :name => name, :namespace => ns }), :data => data, :type => (type || 'Opaque') } h[:metadata][:resourceVersion] = resource_version if resource_version.to_s != '' h end
update()
click to toggle source
# File lib/fog/kubevirt/compute/models/secret.rb, line 45 def update updated = service.update_secret(to_secret_hash) merge_attributes(updated) self end