Class: DownloadBundleParameters
- Inherits:
-
S3ToolParameters
- Object
- OptionParser
- ParametersBase
- S3ToolParameters
- DownloadBundleParameters
- 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
-
#directory ⇒ Object
Returns the value of attribute directory.
-
#manifest ⇒ Object
Returns the value of attribute manifest.
-
#prefix ⇒ Object
Returns the value of attribute prefix.
-
#privatekey ⇒ Object
Returns the value of attribute privatekey.
-
#retry ⇒ Object
Returns the value of attribute retry.
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
-
#mandatory_params ⇒ Object
—————————————————————————-#.
-
#optional_params ⇒ Object
—————————————————————————-#.
-
#set_defaults ⇒ Object
—————————————————————————-#.
-
#validate_params ⇒ Object
—————————————————————————-#.
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
#directory ⇒ Object
Returns the value of attribute directory.
24 25 26 |
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 24 def directory @directory end |
#manifest ⇒ Object
Returns the value of attribute manifest.
24 25 26 |
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 24 def manifest @manifest end |
#prefix ⇒ Object
Returns the value of attribute prefix.
24 25 26 |
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 24 def prefix @prefix end |
#privatekey ⇒ Object
Returns the value of attribute privatekey.
24 25 26 |
# File 'lib/ec2/amitools/downloadbundleparameters.rb', line 24 def privatekey @privatekey end |
#retry ⇒ Object
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_params ⇒ Object
—————————————————————————-#
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_params ⇒ Object
—————————————————————————-#
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_defaults ⇒ Object
—————————————————————————-#
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_params ⇒ Object
—————————————————————————-#
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 |