Age | Commit message (Collapse) | Author | Files |
|
|
|
|
|
|
|
* NEWS: Update.
* doc/eclat-stop.1: Update.
* doc/eclat.1man: Update.
* etc/default.fln: Special handling for DryRunOperation
and UnauthorizedOperation codes.
* lib/paramlist.c: New file.
* lib/Makefile.am (libeclat_a_SOURCES): Add paramlist.c
* lib/forlan.c: New function dequote.
* lib/libeclat.h (eclat_request_add_param0)
(ec2_param_free, ec2_param_list_create)
(ec2_param_list_append)
(eclat_request_add_param_list): New protos.
* lib/reqcreat.c (ec2_param_free): Remove static qualifier.
* src/stop-cl.opt: New file.
* src/Makefile.am (OPTFILES): Add stop-cl.opt
* src/cmdline.opt: New options: --check-permissions and --add-parameter.
* src/eclat.c (extra_param): New global.
(find_format): print error message if no such format is found.
* src/startstop.c (eclat_stop_instance): Use parse_stop_options
|
|
* NEWS: Update.
* src/config.c: New statement "authentication-provider"
* src/eclat.c (authentication_provider): New variable.
(main): Select credentials depending on the value of
authentication_provider.
* src/eclat.h (authentication_provider): New enum and extern.
|
|
* NEWS: Update.
* doc/eclat.1man: Update.
* lib/.gitignore: Update.
* lib/Makefile.am (libeclat_a_SOURCES): Add new files.
* lib/json.h: New file.
* lib/jsongrm.y: New file.
* lib/jsonlex.l: New file.
* lib/yytrans: New file.
* lib/libeclat.h (ec2_query) <token>: New member
(eclat_query_create): Change signature.
* lib/qcreat.c (eclat_query_create): Take security token as 5th
argument.
* lib/reqsign.c (querysign2): Add security token.
* src/cmdline.opt: Update copyright years
* src/ec2map.c (ec2_map_get): Pass security token to
eclat_query_create.
* src/eclat.c (security_token): New variable.
(eclat_do_command): Pass security token to
eclat_query_create.
(main): Get authentication credentials from the instance
store, if not found in the access file.
* src/eclat.h (security_token): New extern.
(eclat_get_instance_creds): New proto.
* src/util.c (eclat_get_instance_zone): Use json parser.
(eclat_get_instance_creds): New function.
* tests/Makefile.am (noinst_PROGRAMS): add tjson
* tests/tjson.c: New file.
|
|
|
|
* src/cmdline.opt: Add closing double-quote in the -D
preprocessor option.
* src/util.c (translate_ids): Do not bail out if the map
is not defined.
|
|
* doc/eclat.conf.5: Update.
* src/cmdline.opt: New option --no-translate (-X)
* src/config.c (eclat_kw): New statement: translate.
* src/eclat.c (main): override the value of translation_enabled
from the command line.
* src/eclat.h (translate_option): Rename to translation_enabled.
All uses changed.
(MAP_IMAGE,MAP_INSTANCE)
(MAP_GROUPID,MAP_GROUPNAME)
(MAP_SNAPSHOT,MAP_VOLUME)
(MAP_AZ,MAP_REG): New defines, to use instead of literal
map names. All sources updated accordingly.
* src/util.c (translate_option): Rename to translation_enabled.
(translate_ids): It is not an error if the name is not found in
the map. Use it as the resource ID in that case.
|
|
* src/Makefile.am (EXTRA_DIST): Add eclatcl.m4
* src/eclatcl.m4: New file.
* src/detvol-cl.opt: Rename to src/devol-cl.opt
* src/cmdline.opt: Fix a typo
* src/allocaddr-cl.opt: Rewrite usning new m4 macros.
* src/asscaddr-cl.opt: Likewise.
* src/cpimg-cl.opt: Likewise.
* src/cpsnap-cl.opt: Likewise.
* src/disasaddr-cl.opt: Likewise.
* src/freeaddr-cl.opt: Likewise.
* src/lsaddr-cl.opt: Likewise.
* src/lsattr-cl.opt: Likewise.
* src/lsimg-cl.opt: Likewise.
* src/lsistat-cl.opt: Likewise.
* src/lssg-cl.opt: Likewise.
* src/lssnap-cl.opt: Likewise.
* src/lstag-cl.opt: Likewise.
* src/mkimg-cl.opt: Likewise.
* src/mkinst-cl.opt: Likewise.
* src/mktags-cl.opt: Likewise.
* src/mkvol-cl.opt: Likewise.
* src/allocaddr.c: Update calls to parse_options.
* src/asscaddr.c: Likewise.
* src/cpimg.c: Likewise.
* src/cpsnap.c: Likewise.
* src/devol.c: Likewise.
* src/disasaddr.c: Likewise.
* src/freeaddr.c: Likewise.
* src/lsaddr.c: Likewise.
* src/lsattr.c: Likewise.
* src/lsimg.c: Likewise.
* src/lsistat.c: Likewise.
* src/lssg.c: Likewise.
* src/lssnap.c: Likewise.
* src/lstag.c: Likewise.
* src/mkimg.c: Likewise.
* src/mkinst.c: Likewise.
* src/mktags.c: Likewise.
* src/mkvol.c: Likewise.
|
|
The lsattr command combines the functionality of lsiattr and lssattr.
|
|
|
|
* src/cmdline.opt (process_options): Process the value
of the environment variable ECLAT_OPTIONS prior to the
actual command line options.
* src/eclat.c (main): Update invocation of process_options.
* doc/eclat.1: Update.
|
|
|
|
* doc/eclat-delete-volume.1: Update.
* doc/eclat-release-address.1: Update.
* doc/eclat.1: Update.
* doc/eclat.conf.5: New section "CONFIRMATION"
* lib/getyn.c (eclat_vgetyn): Negative default stands for no
default at all.
* lib/confirm.c (eclat_confirm_mode): Remove.
(eclat_confirm): Change signature. Act according to the
first argument.
* lib/libeclat.h (eclat_confirm_mode): New enum.
(eclat_confirm): Change signature.
* src/cmdline.opt: Change handling of -Y and -N options.
* src/config.c: New statement "confirm".
* src/cretags.c: Remove call to eclat_confirm. This is done by
the caller.
* src/delvol.c: Likewise.
* src/reladdr.c: Likewise.
* src/eclat.c (confirm_mode): New variable.
(command) <flags>: New member.
(cmdtab): Mark commands with appropriate flags.
(main): Call eclat_confirm to confirm the command.
* src/eclat.h (confirm_mode): New extern.
(set_command_confirmation): New proto.
* etc/eclat.cfin: Set a reasonably safe confirmation default.
* lib/forlan.c (strtots): Remove unused variable.
|
|
* TODO: Update.
* doc/Makefile.am: Add new files.
* doc/eclat-allocate-address.1: New file.
* doc/eclat-release-address.1: New file.
* doc/eclat-associate-address.1: Update.
* doc/eclat-describe-addresses.1: Update.
* doc/eclat-disassociate-address.1: Update.
* doc/eclat.1: Update.
* etc/Makefile.am: Add new files.
* etc/release-address.fln: New file.
* lib/Makefile.am: Add new files.
* lib/confirm.c: New file.
* lib/getyn.c: New file.
* lib/libeclat.h (eclat_getyn,eclat_vgetyn)
(eclat_confirm): New protos.
(eclat_confirm_mode): New extern.
* src/Makefile.am: Add new files.
* src/cmdline.opt: New options -Y (--yes) and -N (--no).
* src/eclat.c: Register the release-address command.
* src/eclat.h (EX_CANCELLED): New constant.
(eclat_release_address): New proto.
* src/reladdr-cl.opt: New file.
* src/reladdr.c: New file.
|
|
* doc/eclat.conf.5: Document new configuration statements.
* src/cmdline.opt (replvar): Change structure.
(replace_int_var): New function.
* src/config.c: Use "ssl" as a block or scalar statement.
* src/eclat.c (ssl_verify_peer, ssl_ca_file)
(ssl_ca_path): New variables.
(main): Set up SSL configuration.
* src/eclat.h (ssl_verify_peer, ssl_ca_file)
(ssl_ca_path): New protos.
|
|
* src/cmdline.opt: New options: --map, --test-map
* src/eclat.c: Implement test map mode.
(test_map_name): New variable.
* src/eclat.h (test_map_name): new extern.
* src/util.c (custom_map): New variable.
(translate_ids): Use custom_map if specified.
|
|
Resource identifier mapping permits to use more customized identifiers
instead of the Amazon resource identifiers. For instance, you can use
hostnames instead of the instance IDs, etc.
* lib/Makefile.am: Add new files.
* lib/filemap.c: New file.
* lib/map.c: New file.
* lib/libeclat.h (eclat_map_drv,eclat_map): New structs.
(eclat_map_status): New enum.
(eclat_map_init,eclat_map_lookup,eclat_map_config)
(eclat_map_free,eclat_map_open,eclat_map_close)
(eclat_map_get,eclat_map_strerror,eclat_map_drv_register)
(eclat_map_foreach,eclat_map_free_all)
(eclat_get_string_node): New protos.
(eclat_map_drv_file): New extern.
* src/accfile.c (access_file_lookup): Fix memory leak.
* src/cmdline.opt: New option: --translate (-x)
* src/config.c (eclat_kw) <map>: New block statement.
(config_finish): Parse map configs.
* src/asscaddr.c: Translate key.
* src/dscrinstattr.c: Likewise.
* src/dscrinsts.c: Likewise.
* src/dscrinststat.c: Likewise.
* src/dscrsecgrps.c: Likewise.
* src/getconout.c: Likewise.
* src/startinst.c: Likewise.
* src/eclat.c (main): Initialize maps and free them when no
more needed.
* src/eclat.h (translate_option): New extern.
(translate_ids): New proto.
* src/util.c (translate_option): New variable.
(translate_ids): New function.
|
|
|
|
* src/eclat.c (name_matches): New function.
(find_command_name): Use it.
(main): Handle --match-commands.
* src/cmdline.opt: New option: --match-commands.
* doc/eclat.1: Document new command matching algorithm.
|
|
* Makefile.am (SUBDIRS): Add doc.
* configure.ac: Build doc/Makefile
* doc/Makefile.am: New file.
* doc/eclat-associate-address.1: New file.
* doc/eclat.1: New file.
* etc/associate-address.fln: Call exit if the request fails.
* etc/default.fln: Call exit if error is returned or if the
response is not recognized.
* lib/forlan.c (forlan_eval_env) <exit_code>: New member.
New built-in function: exit.
(forlan_run): Return exit code.
* lib/forlan.h (forlan_run): Change return type.
* lib/forlanlex.l: Treat unquoted decimal number as
a quoted string.
* src/asscaddr-cl.opt: Minor changes.
* src/cmdline.opt: Minor changes.
* src/eclat.c: Return EX_NOPERM on unsufficient permissions
to open the configuration file.
* tests/exit.at: New file.
* tests/Makefile.am: Add new files.
* tests/testsuite.at: Include new test cases.
* tests/tforlan.c: Propagate the return from forlan_run to
the shell.
|
|
* etc/Makefile.am (FLNFILES): Add describe-volumes.fln
(install-formats): New rule.
* etc/describe-volumes.fln: New file.
* src/Makefile.am (eclat_SOURCES): Add dscrvols.c
(AM_LDFLAGS): Remove.
(LDADD): Add $(CURL_LIBS)
* src/accfile.c (get_access_creds): Minor changes.
* src/cmdline.opt: New option --format-expression.
* src/dscrinsts.c: Minor change.
* src/dscrvols.c: New file.
* src/eclat.c: New command "describe-volumes".
* src/eclat.h (eclat_describe_volumes): New proto.
* tests/describe-volumes.at: New file.
* tests/Makefile.am: Add new file.
* tests/testsuite.at: Include new file.
|
|
* etc/Makefile.am: Minor fixes.
* src/cmdline.opt: New option --format.
Add alias --formfile to --format-file
* src/config.c: New configuration statement "define-format".
* src/eclat.c (define_format): Rename to set_command_format.
All uses changed.
(define_format,find_format): New functions
(read_format): Compile named format, if supplied with the
--format option.
* src/eclat.h: Update.
|
|
* Makefile.am (SUBDIRS): Add etc
(distuninstallcheck_listfiles): Ignore *.forlan files.
* configure.ac: New options --split-format and --format-dir
* etc/Makefile.am: New file.
* etc/default.fln: New file.
* etc/describe-instance-status.fln: New file.
* etc/describe-instances.fln: New file.
* etc/describe-tags.fln: New file.
* etc/eclat.cfin: New file.
* etc/flncat.c: New file.
* etc/start-instances.fln: New file.
* etc/stop-instances.fln: New file.
* src/Makefile.am: Remove eclat.conf. It is built in /etc now.
* src/eclat.conf: Remove.
* src/cmdline.opt: Update.
* src/config.c: New configuration statement "format-file".
* src/eclat.c (format_file_option): New global.
(main): Read format from format-file, if supplied. Expand
keywords in its argument.
* src/eclat.h (format_file_option): New extern.
* tests/.gitignore: Update.
* tests/Makefile.am: Add new files.
* tests/describe-instance-status.at: New test case.
* tests/describe-instances.at: New test case.
* tests/describe-tags.at: New test case.
* tests/dscrinststat.at: New test case.
* tests/start-instances.at: New test case.
* tests/stop-instances.at: New test case.
* tests/testsuite.at (ECLAT_TEST_FORMAT): New macro.
Include new test cases.
* tests/trws.c: New file.
|
|
The new syntax is:
eclat [GLOBAL-OPTIONS] COMMAND [COMMAND-OPTIONS] [ARGS]
* grecs: Upgrade.
* lib/forlan.c: New forlan function: sort().
* src/.gitignore: Update.
* src/Makefile.am: Update.
* src/cmdline.opt: Use the nopermute option.
* src/dscrtags-cl.opt: New file.
* src/descrtags.c: Rename to src/dscrtags.c
* src/eclat.c (command): Revamp structure.
(eclat_command): Remove.
(command_tab): Remove.
(cmdtab,cmdcnt): New globals.
(main): Change command line syntax.
* src/eclat.h (eclat_command): Remove.
(eclat_command): Remove.
* src/startinst-cl.opt: New file.
* src/startinst.c: Include startinst-cl.h. Process the command
line options.
|
|
* src/cmdline.opt: Work over quoting errors in getopt.m4
* src/eclat.c: In debug level main.10 and higher dump XML
to the file eclat.dump.xml.
* src/eclat.h (XML_DUMP_FILE_NAME): New define.
* src/eclat.conf: Provide default formats for all implemented
commands.
|
|
* lib/forlan.h (forlan_lex_begin): Remove
(forlan_lex_from_buffer)
(forlan_lex_from_file): New protos.
(forlan_parse): Remove.
(forlan_parse_bufferm,forlan_parse_file): New protos.
* lib/forlangrm.y (forlan_parse): Remove.
(forlan_parse_bufferm,forlan_parse_file): New functions.
* lib/forlanlex.l (YY_INPUT): Optionally, read input from file.
(forlan_lex_begin): Remove
(forlan_lex_from_buffer)
(forlan_lex_from_file): New functions.
* src/cmdline.opt: New options: --format, --sort
* src/config.c: New statement: format.
* src/eclat.c: Use output format scripts, if provided.
* src/eclat.conf: Define output format for DescribeTags.
* src/eclat.h: Include forlan.h
(define_format): New proto.
* tests/tforlan.c: New option: -s
|
|
* configure.ac: Check for lex and yacc.
* lib/diag.c: New file (moved from ../src with edits)
* lib/forlan.c: New file.
* lib/forlan.h: New file.
* lib/forlangrm.y: New file.
* lib/forlanlex.l: New file.
* lib/.gitignore: Add new files.
* lib/Makefile.am: Add new file.
* lib/libeclat.h: Add diagnostics-related stuff.
* src/Makefile.am (eclat_SOURCES): Remove diag.c
* src/cmdline.opt (set_program_name): Move to ../lib/diag.c
* src/diag.c: Remove (see above).
* src/config.c: Reflect changes to the diagnostics subsystem.
* src/eclat.c: Likewise.
* src/eclat.h: Remove diagnostics-related stuff.
It lives in libeclat.h from now on.
* src/error.c: Remove.
* tests/forlan01.at: New testcase.
* tests/testsuite.at: Include forlan01.at
* tests/tforlan.c: New file.
* tests/.gitignore: Add new files.
* tests/Makefile.am: Add new files.
|
|
* configure.ac: Require libexpat
* src/descrtags.c: New file.
* src/Makefile.am: Add new files.
* src/accfile.c (access_file_lookup): Bugfix (stripped the
first byte from the returned access_key).
* src/cmdline.opt: New option --describe-tags
* src/eclat.c: Register eclat_describe_tags handler.
* src/eclat.h: Include expat.h
(dry_run_mode): New extern.
(eclat_command_describe_tags): New command code.
(eclat_describe_tags): New proto.
* src/startinst.c: More debugging info. Implement dry-run,
|
|
|