Class: DownloadBundleParameters

Inherits:
S3ToolParameters show all
Defined in:
lib/ec2/amitools/downloadbundleparameters.rb

Overview

——————————————————————————#

Constant Summary collapse

PREFIX_DESCRIPTION =
"The filename prefix for bundled AMI files. Defaults to 'image'."
DIRECTORY_DESCRIPTION =
['The directory into which to download the bundled AMI parts.',
"Defaults to the current working directory."]
MANIFEST_DESCRIPTION =
["The local manifest filename. Required only for manifests that",
"pre-date the version 3 manifest file format."]
RETRY_DESCRIPTION =
"Automatically retry failed downloads."

Constants inherited from S3ToolParameters

S3ToolParameters::BUCKET_DESCRIPTION, S3ToolParameters::DEFAULT_REGION, S3ToolParameters::DEFAULT_URL, S3ToolParameters::DELEGATION_TOKEN_DESCRIPTION, S3ToolParameters::PROFILE_HOST, S3ToolParameters::PROFILE_PATH, S3ToolParameters::REGION_DESCRIPTION, S3ToolParameters::REGION_MAP, S3ToolParameters::SIGV2_DESCRIPTION, S3ToolParameters::URL_DESCRIPTION, S3ToolParameters::VALID_SIGV

Constants inherited from ParametersBase

ParametersBase::BATCH_DESCRIPTION, ParametersBase::DEBUG_DESCRIPTION, ParametersBase::HELP_DESCRIPTION, ParametersBase::MANUAL_DESCRIPTION, ParametersBase::PASS_DESCRIPTION, ParametersBase::USER_ACCOUNT_DESCRIPTION, ParametersBase::USER_CERT_PATH_DESCRIPTION, ParametersBase::USER_DESCRIPTION, ParametersBase::USER_PK_PATH_DESCRIPTION, ParametersBase::VERSION_DESCRIPTION

Instance Attribute Summary collapse

Attributes inherited from S3ToolParameters

#bucket, #keyprefix, #pass, #region, #sigv, #url, #user

Attributes inherited from ParametersBase

#batch_mode, #debug, #manual, #show_help, #version

Instance Method Summary collapse

Methods inherited from S3ToolParameters

#get_creds_from_instance_profile, #split_container

Methods inherited from ParametersBase

#assert_directory_exists, #assert_exists, #assert_file_executable, #assert_file_exists, #assert_glob_expands, #assert_good_key, #assert_option_in, #common_params, #early_exit?, #initialize, #interactive?, #version_copyright_string

Constructor Details

This class inherits a constructor from ParametersBase

Instance Attribute Details

#directoryObject

Returns the value of attribute directory.



24
25
26
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 24

def directory
  @directory
end

#manifestObject

Returns the value of attribute manifest.



24
25
26
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 24

def manifest
  @manifest
end

#prefixObject

Returns the value of attribute prefix.



24
25
26
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 24

def prefix
  @prefix
end

#privatekeyObject

Returns the value of attribute privatekey.



24
25
26
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 24

def privatekey
  @privatekey
end

#retryObject

Returns the value of attribute retry.



24
25
26
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 24

def retry
  @retry
end

Instance Method Details

#mandatory_paramsObject

—————————————————————————-#



32
33
34
35
36
37
38
39
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 32

def mandatory_params()
  super()
  
  on('-k', '--privatekey KEY', String, USER_PK_PATH_DESCRIPTION) do |privatekey|
    assert_file_exists(privatekey, '--privatekey')
    @privatekey = privatekey
  end
end

#optional_paramsObject

—————————————————————————-#



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 43

def optional_params()
  super()
  
  on('-m', '--manifest FILE', String, *MANIFEST_DESCRIPTION) do |manifest|
    assert_good_key(manifest, '--manifest')
    @manifest = manifest
  end
  
  on('-p', '--prefix PREFIX', String, PREFIX_DESCRIPTION) do |prefix|
    assert_good_key(prefix, '--prefix')
    @prefix = prefix
  end
  
  on('-d', '--directory DIRECTORY', String, *DIRECTORY_DESCRIPTION) do |directory|
    assert_directory_exists(directory, '--directory')
    @directory = directory
  end
  
  on('--retry', RETRY_DESCRIPTION) do
    @retry = true
  end
end

#set_defaultsObject

—————————————————————————-#



76
77
78
79
80
81
82
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 76

def set_defaults()
  super()
  @directory = Dir::pwd() unless @directory
  @prefix = @manifest.split('.')[0..-2].join('.') if (@manifest)
  @prefix = 'image' unless @prefix
  @manifest = "#{@prefix}.manifest.xml" unless @manifest
end

#validate_paramsObject

—————————————————————————-#

Raises:



68
69
70
71
72
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 68

def validate_params()
  super()
  raise MissingMandatory.new('--privatekey') unless @privatekey
  raise InvalidCombination.new('--prefix', '--manifest') if (@prefix and @manifest)
end