class BundleVolParameters

The Bundle Volume command line parameters.

The Bundle Volume command line parameters.

Constants

ALL_DESCRIPTION
CLONE_VOLUME_DESCRIPTION
EXCLUDE_DESCRIPTION
FILTER_DESCRIPTION
FSTAB_DESCRIPTION
GENERATE_FSTAB_DESCRIPTION
GRUB_CONFIG_DESCRIPTION
INCLUDE_DESCRIPTION
INHERIT_DESCRIPTION
PARTITION_TYPE_DESCRIPTION
PREFIX_DESCRIPTION
SCRIPT_DESCRIPTION
SIZE_DESCRIPTION
VOLUME_DESCRIPTION

Attributes

all[RW]
clone_only[RW]
exclude[RW]
filter[RW]
fstab[RW]
generate_fstab[RW]
grub_config[RW]
includes[RW]
inherit[RW]
part_type[RW]
prefix[RW]
script[RW]
size[RW]
volume[RW]

Public Instance Methods

optional_params() click to toggle source
Calls superclass method BundleMachineParameters#optional_params
# File lib/ec2/amitools/bundlevolparameters.rb, line 61
def optional_params()
  super()
  on('-a', '--all', *ALL_DESCRIPTION) do
    @all = true
  end
  
  on('-e', '--exclude DIR1,DIR2,...', Array, *EXCLUDE_DESCRIPTION) do |p|
    @exclude = p
  end

  on('-i', '--include FILE1,FILE2,...', Array, *INCLUDE_DESCRIPTION) do |p|
    @includes = p
  end

  on('--no-filter', FILTER_DESCRIPTION) do
    @filter = false
  end
  
  on('-p', '--prefix PREFIX', String, PREFIX_DESCRIPTION) do |prefix|
    assert_good_key(prefix, '--prefix')
    @prefix = prefix
  end

  on('--clone-only', CLONE_VOLUME_DESCRIPTION) do
    @clone_only = true
  end
  
  on('-s', '--size MB', Integer,  *SIZE_DESCRIPTION) do |p|
    @size = p
  end
  
  on('--[no-]inherit', *INHERIT_DESCRIPTION) do |p|
    @inherit = p
  end

  on('-v', '--volume PATH', String, VOLUME_DESCRIPTION) do |volume|
    assert_directory_exists(volume, '--volume')
    @volume = volume
  end
  
  on('--fstab PATH', String, FSTAB_DESCRIPTION) do |fstab|
    assert_file_exists(fstab, '--fstab')
    @fstab = fstab
  end

  on('--grub-config PATH', String, GRUB_CONFIG_DESCRIPTION) do |grub_config|
    assert_file_exists(grub_config, '--grub-config')
    @grub_config = grub_config
  end

  on('-P', '--partition TYPE', EC2::Platform::PartitionType.list,
    *PARTITION_TYPE_DESCRIPTION) do |ptype|
    @part_type = ptype
  end

  on('-S', '--script SCRIPT', String, *SCRIPT_DESCRIPTION) do |scriptfile|
    assert_file_executable(scriptfile, '--script')
    @script = scriptfile
  end

  on('--generate-fstab', *GENERATE_FSTAB_DESCRIPTION) do
    @generate_fstab = true
  end
end
set_defaults() click to toggle source
Calls superclass method BundleParameters#set_defaults
# File lib/ec2/amitools/bundlevolparameters.rb, line 148
def set_defaults()
  super()
  @inherit = true if @inherit.nil? # false means a parameter was provided.
  @exclude ||= []
  @includes ||= []
  @filter = true if @filter.nil?
  @prefix ||= 'image'
  @size ||= MAX_SIZE_MB
  @volume ||= '/'
  @clone_only ||= false
  @part_type ||= :auto
  if @generate_fstab
    @fstab = :default
    @fstab = :legacy if @arch == "i386"
  end
end
validate_params() click to toggle source
Calls superclass method BundleParameters#validate_params
# File lib/ec2/amitools/bundlevolparameters.rb, line 126
def validate_params()
  raise InvalidCombination.new("--fstab", "--generate-fstab") if @fstab and @generate_fstab

  if @exclude
    volume = @volume || '/'
    @exclude.each do |dir|
      path = File::join(volume, dir)
      assert_glob_expands(path, '--exclude')
    end
  end

  if @includes
    volume = @volume || '/'
    @includes.each do |file|
      path = File::join(volume, file)
      assert_glob_expands(path, '--include')
    end
  end

  super()
end