Class: CloudInit::Userdata

Inherits:
Object
  • Object
show all
Defined in:
lib/cloudinit_userdata/errors.rb,
lib/cloudinit_userdata/version.rb,
lib/cloudinit_userdata/userdata.rb,
lib/cloudinit_userdata/formats/json.rb,
lib/cloudinit_userdata/formats/blank.rb,
lib/cloudinit_userdata/formats/gzipped.rb,
lib/cloudinit_userdata/formats/include.rb,
lib/cloudinit_userdata/formats/upstart_job.rb,
lib/cloudinit_userdata/formats/cloud_config.rb,
lib/cloudinit_userdata/formats/part_handler.rb,
lib/cloudinit_userdata/formats/shell_script.rb,
lib/cloudinit_userdata/formats/cloud_boothook.rb,
lib/cloudinit_userdata/formats/mime_multipart.rb

Defined Under Namespace

Classes: Blank, CloudBoothook, CloudConfig, Error, Gzipped, Include, InvalidFormat, InvalidUserdata, JSON, MimeMultipart, ParseError, PartHandler, ShellScript, UpstartJob

Constant Summary collapse

VERSION =
'1.0.1'.freeze

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw) ⇒ Userdata

Returns a new instance of Userdata.



10
11
12
# File 'lib/cloudinit_userdata/userdata.rb', line 10

def initialize(raw)
  self.raw = raw
end

Class Attribute Details

.formatsObject (readonly)

Returns the value of attribute formats.



48
49
50
# File 'lib/cloudinit_userdata/userdata.rb', line 48

def formats
  @formats
end

Instance Attribute Details

#rawObject Also known as: to_s

Returns the value of attribute raw.



7
8
9
# File 'lib/cloudinit_userdata/userdata.rb', line 7

def raw
  @raw
end

Class Method Details

.match?(_value) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


29
30
31
# File 'lib/cloudinit_userdata/userdata.rb', line 29

def self.match?(_value)
  raise NotImplementedError
end

.mimetypesObject



33
34
35
# File 'lib/cloudinit_userdata/userdata.rb', line 33

def self.mimetypes
  []
end

.parse(value) ⇒ Object

Raises:



37
38
39
40
41
# File 'lib/cloudinit_userdata/userdata.rb', line 37

def self.parse(value)
  formatter = @formats.find { |f| f.match?(value) }
  raise InvalidFormat, 'Unrecognized userdata format' unless formatter
  formatter.new(value)
end

.register_format(klass) ⇒ Object



43
44
45
# File 'lib/cloudinit_userdata/userdata.rb', line 43

def self.register_format(klass)
  @formats << klass unless @formats.include?(klass)
end

Instance Method Details

#empty?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/cloudinit_userdata/userdata.rb', line 14

def empty?
  false
end

#valid?Boolean

Returns:

  • (Boolean)


22
23
24
25
26
27
# File 'lib/cloudinit_userdata/userdata.rb', line 22

def valid?
  validate
  true
rescue InvalidUserdata
  false
end

#validateObject



18
19
20
# File 'lib/cloudinit_userdata/userdata.rb', line 18

def validate
  # noop
end