Class: VagrantPlugins::AVF::ReleaseTarget

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant_provider_avf/release_target.rb

Constant Summary collapse

SUPPORTED_FAMILIES =
["ubuntu", "almalinux", "rocky"].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(box_name) ⇒ ReleaseTarget

Returns a new instance of ReleaseTarget.



8
9
10
# File 'lib/vagrant_provider_avf/release_target.rb', line 8

def initialize(box_name)
  @box_name = box_name.to_s
end

Instance Attribute Details

#box_nameObject (readonly)

Returns the value of attribute box_name.



6
7
8
# File 'lib/vagrant_provider_avf/release_target.rb', line 6

def box_name
  @box_name
end

Instance Method Details

#support_statusObject



12
13
14
15
16
# File 'lib/vagrant_provider_avf/release_target.rb', line 12

def support_status
  return :supported if SUPPORTED_FAMILIES.include?(family)

  :unknown
end

#validate_publishable!Object

Raises:

  • (ArgumentError)


18
19
20
21
22
# File 'lib/vagrant_provider_avf/release_target.rb', line 18

def validate_publishable!
  return if support_status == :supported

  raise ArgumentError, publish_error_message
end