Class: OsCtld::Container::Impermanence

Inherits:
Object
  • Object
show all
Defined in:
lib/osctld/container/impermanence.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(zfs_properties) ⇒ Impermanence

Returns a new instance of Impermanence.

Parameters:

  • zfs_properties (Hash<String, String>)


11
12
13
# File 'lib/osctld/container/impermanence.rb', line 11

def initialize(zfs_properties)
  @zfs_properties = zfs_properties
end

Instance Attribute Details

#zfs_propertiesHash<String, String> (readonly)

Returns:

  • (Hash<String, String>)


8
9
10
# File 'lib/osctld/container/impermanence.rb', line 8

def zfs_properties
  @zfs_properties
end

Class Method Details

.load(cfg) ⇒ Object



3
4
5
# File 'lib/osctld/container/impermanence.rb', line 3

def self.load(cfg)
  new(cfg.fetch('zfs_properties', {}))
end

Instance Method Details

#dumpObject



15
16
17
18
19
# File 'lib/osctld/container/impermanence.rb', line 15

def dump
  {
    'zfs_properties' => zfs_properties
  }
end

#dupObject



21
22
23
24
25
# File 'lib/osctld/container/impermanence.rb', line 21

def dup
  ret = super
  ret.instance_variable_set('@zfs_properties', zfs_properties.dup)
  ret
end