aboutsummaryrefslogtreecommitdiff
path: root/src/eclat.h
AgeCommit message (Collapse)AuthorFiles
2023-10-30Update copyleft datesHEADmasterSergey Poznyakoff1
2021-01-06Update copyright yearsSergey Poznyakoff1
2019-11-26Implement MoveAddressToVpc (addr2vpc) and RestoreAddressToClassic (addr2ec2)Sergey Poznyakoff1
* TODO: Document changes. * doc/Makefile.inc: Add new files. * doc/eclat-addr2ec2.1: New file. * doc/eclat-addr2vpc.1: New file. * etc/Makefile.am: Add new files. * etc/move-address-to-vpc.fln: New file. * etc/restore-address-to-classic.fln: New file. * src/Makefile.am: Add new file. * src/mvaddr.c: New file. * src/eclat.c (cmdtab): New commands: addr2vpc and addr2ec2. * src/eclat.h (eclat_move_address): New proto. * etc/describe-images.fln: List creation date.
2018-12-15Implement ModifyVolume and DescribeVolumesModificationsSergey Poznyakoff1
2018-11-17Implement the terminate-instances commandSergey Poznyakoff1
* TODO: Update. * doc/Makefile.inc: Add new files. * doc/eclat-mkinst.1: Mention the terminate command. * doc/eclat-terminate.1: New file. * etc/Makefile.am: Add new files. * etc/terminate-instances.fln: New file. * src/eclat.c (cmdtab): Register new command. * src/eclat.h (eclat_terminate_instances): New proto. * src/startstop.c (eclat_terminate_instances): New function. * tests/Makefile.am: Add new test. * tests/testsuite.at: Likewise. * tests/terminate-instances.at: New test.
2018-03-15Upgrade grecsSergey Poznyakoff1
* grecs: pull * configure.ac: Enable json * lib/Makefile.am (AM_CPPFLAGS): Use @GRECS_INCLUDES@ (libeclat_a_SOURCES): Remove json sources. * src/Makefile.am (AM_CPPFLAGS): Use @GRECS_INCLUDES@ * tests/Makefile.am: Likewise. * lib/json.h: Remove. * lib/jsongrm.y: Remove. * lib/jsonlex.l: Remove. * tests/tjson.c: Remove. * src/config.c (eclat_kw): Mark statically initialized memory locations as such. * src/mktags.c (process_tags): Use wordsplit to process quoted arguments. * lib/bidimap.c (bidimap_config): Fill allocated memory with 0's * lib/filemap.c (filemap_config): Likewise. * lib/gdbmmap.c (gdbm_map_config): Likewise. * lib/seqmap.c (seqmap_config): Likewise.
2018-03-14Implement exponential backoff with jitter to handle RequestLimitExceededSergey Poznyakoff1
* src/eclat.h (eclat_command_env) <curl>: Remove. <xmltree>: New field. * src/util.c (translate_ids): Close the map when no longer needed (eclat_send_request): Implement exponential backoff. * src/ec2map.c: Reflect the above changes. * src/eclat.c: Likewise. * lib/libeclat.h (eclat_request_dup): New proto. * lib/reqcreat.c (eclat_request_dup): New function. * src/config.c: New configuration statements: max-retry-interval and retry-timeout.
2015-11-19Restore missing translation mapsSergey Poznyakoff1
2015-11-19New commands: assocrtab, mkrtab, rmrtab, lsrtab, disasrtab, routeSergey Poznyakoff1
These implement the following EC2 actions: AssociateRouteTable, CreateRoute, CreateRouteTable, DeleteRoute, DeleteRouteTable, DescribeRouteTables, DisassociateRouteTable, ReplaceRoute. * TODO: Update. * etc/Makefile.am: Add new formats. * etc/associate-route-table.fln: New file. * etc/create-route-table.fln: New file. * etc/create-route.fln: New file. * etc/delete-route-table.fln: New file. * etc/delete-route.fln: New file. * etc/describe-route-tables.fln: New file. * etc/disassociate-route-table.fln: New file. * etc/replace-route.fln: New file. * etc/route.fln: New file. * src/Makefile.am: Add routetable.c * src/routetable.c: New file. * src/eclat.c (cmdtab): Register new subcommands. * src/eclat.h (ECLAT_DEBCAT_DUMP): New category. Add new protos. * src/io.c (write_callback): Enable XML dump if dump debug category is set.
2015-11-19Implement subnet commandsSergey Poznyakoff1
New commands: mksubnet, rmsubnet, lssubnet, setsubnetattr. * TODO: Update. * lib/libeclat.h (EC2_API_VERSION): Update. * src/Makefile.am: Add subnet.c. * src/subnet.c: New file. * src/eclat.c (cmdtab): Register new commands. * src/eclat.h: Add new prototypes.
2015-11-18Implement VPC and Internet Gateway commands.Sergey Poznyakoff1
New commands: lsvpc, lsvpcattr, mkvpc, setvpcattr, rmvpc, lsigw, mkigw, rmigw, atigw, deigw. * TODO: Update. * doc/Makefile.inc: Add mkvpc manpage. * etc/Makefile.am: Add create-vpc.fl and describe-vpcs.fln * etc/describe-vpc-attribute.fln: New file. * etc/describe-vpcs.fln: New file. * src/Makefile.am: Add new files. * src/igw.c: New file. * src/lsvpc.c: New file. * src/mkvpc-cl.opt: New file. * src/mkvpc.c: New file. * src/rmvpc.c: New file. * src/vpcattr.c: New file. * src/eclat.c (cmdtab): Register new subcommands. * src/eclat.h: Add new prototypes. * src/mksg-cl.opt: New option: --internet-gateway, -g * src/lsinst.c (parse_options): Define args_doc. * src/lsreg.c (parse_options): Remove useless return. * src/lstag-cl.opt: Likewise. * src/mktags-cl.opt: Remove stray character.
2015-01-23Implement HTTP POSTSergey Poznyakoff1
* NEWS: Update. * doc/eclat.conf.5: Document http-method. Reorganize description of endpoints and regions. * lib/libeclat.h (ec2_request) <postdata>: New member (eclat_request_finalize): New proto. * lib/req2url.c (eclat_request_to_url): Remove second argument. All uses changed. (eclat_request_finalize): New function. * lib/reqfree.c: Free postdata. * lib/reqsign.c (requestsign4): Implement post. * src/config.c: New configuration statement http-method. * src/eclat.c (use_post): New variable. * src/eclat.h (use_post): New extern. * src/util.c (eclat_send_request): Implement post.
2015-01-23Namespace fixup: use "request" consistentlySergey Poznyakoff1
2015-01-22Improve setting UserData attribute. Change lsistat defaults.Sergey Poznyakoff1
* NEWS: Update. * doc/eclat-setiattr.1: Document new options. * doc/eclat-lsistat.1: Update. * etc/describe-instance-attribute.fln: Decode userData. * grecs: Upgrade. * src/setiattr-cl.opt: New file. * src/Makefile.am (OPTFILES): Add setiattr-cl.opt * src/setiattr.c: Encode UserData. * src/eclat.h (read_file): New proto. * src/lsistat-cl.opt: New option -r (--running). * src/lsistat.c: Change default to show all instances, no matter their state. * src/mkinst-cl.opt (read_user_data): Remove. Use read_file instead. * src/sg.c: Add missing include. * src/util.c (read_file): New function.
2015-01-22authentication-provider instance-store does not require role name argumentSergey Poznyakoff1
* NEWS: Update. * doc/eclat.conf.5: Update. * lib/Makefile.am: Add new sources. * lib/istore.c: New file. * lib/path.c: New file. * lib/libeclat.h (path_concat) (instance_store_curl_new) (instance_store_read): New protos. * src/config.c (cb_authentication_provider): second argument is optional for instance-store type. New compound statement: instance-store. * src/eclat.h (instance_store_base_url) (instance_store_port,instance_store_document_path): (instance_store_credentials_path): New externs. * src/ispeek.c: Rewrite using new functions. * src/util.c: Likewise.
2015-01-19New configuration statement authentication-provideSergey Poznyakoff1
* 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.
2015-01-19Initial support for IAMSergey Poznyakoff1
* 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.
2015-01-18If no region is specified, get it from the instance storeSergey Poznyakoff1
* src/eclat.c: If no region is specified, try to get it from the instance store. * src/eclat.h (eclat_trace_fun): New proto. (eclat_get_instance_zone): New proto. * src/io.c (eclat_trace_fun): Remove static qualifier. * src/util.c (eclat_get_instance_meta_data): New function. (eclat_get_instance_zone): New function.
2014-02-04New commands: lsaattr and setaattr.Sergey Poznyakoff1
* TODO: Update. * doc/Makefile.inc: Add new files. * doc/eclat-lsaattr.1: New file. * doc/eclat-setaattr.1: New file. * etc/Makefile.am (FLNFILES): Add new files. * etc/describe-image-attribute.fln: New file. * etc/modify-image-attribute.fln: New file. * src/Makefile.am (eclat_SOURCES,OPTFILES): Add new files. * src/eclat.c (cmdtab): New commands: lsaattr and setaattr. * src/eclat.h (eclat_describe_image_attribute) (eclat_modify_image_attribute,canonattrname): New protos. * src/lsaattr.c: New file. * src/lsiattr.c: Use canonattrname to simplify usage. * src/lssattr.c (canonattrname): Remove. Use external version. * src/setaattr-cl.opt: New file. * src/setaattr.c: New file. * src/setiattr.c: New file. * src/util.c (canonattrname): New function.
2014-02-03Update copyright yearsSergey Poznyakoff1
2013-12-19Implement security group creation and deletion.Sergey Poznyakoff1
* doc/eclat-lssg.1: New file. * doc/eclat-sg.1: New file. * doc/Makefile.inc: Add new files. * etc/create-security-group.fln: New file. * etc/delete-security-group.fln: New file. * etc/Makefile.am: Add new files. * src/mksg-cl.opt: New file. * src/mksg.c: New file. * src/rmsg-cl.opt: New file. * src/rmsg.c: New file. * src/sg.h: New file. * src/Makefile.am: Add new files. * src/eclat.c (cmdtab): New commands "mksg" and "rmsg". * src/eclat.h (eclat_create_security_group) (eclat_delete_security_group): New protos. * src/lssg.c: Include sg.h. Use groupkw instead of the static rt[], which is removed. * src/sg-cl.opt: Use groupkw * src/sg.c (groupkw): New global. * TODO: Update.
2013-11-28Implement sg commandSergey Poznyakoff1
* etc/sg.fln: New file. * etc/Makefile.am (FLNFILES): Add sg.fln * src/sg.c: New file. * src/sg-cl.opt: New file. * src/Makefile.am (eclat_SOURCES): Add sg.c (OPTFILES): Add sg-cl.opt * src/eclat.c (cmdtab): Add entry for "sg". (eclat_do_command): Ignore tag if it is NULL. * src/eclat.h (eclat_sg): New proto.
2013-07-31Prepare for Signature Version 4.Sergey Poznyakoff1
* lib/hmac_sha256.c: New file. * lib/sha256.c: New file. * lib/sha256.h: New file. * lib/Makefile.am (libeclat_a_SOURCES): Add new files. * lib/libeclat.h (hmac_sha256): New proto. (eclat_query_signature): Rename to eclat_query_sign, take signature version as argument. (eclat_encode_devmap): Remove prototype. * lib/reqsign.c: Use HMAC256 * src/config.c (eclat_kw): New keyword: signature-version, * src/devmap.c (eclat_encode_devmap): Bugfixes. Translate snapshot ids. * src/eclat.c (signature_version): New variable. * src/eclat.h (signature_version): New proto. (eclat_encode_devmap): New proto. * src/util.c (eclat_send_query): Use eclat_query_sign. * tests/hmac01.at: Update. * tests/hmac02.at: Update. * tests/hmac03.at: Update. * tests/thmac.c: Use HMAC256
2013-05-04Implement EC2 map.Sergey Poznyakoff1
EC2 map allows to use AWS services as eclap maps. For example, one may use an EC2 tag to map resource names to resource IDs, etc. * src/ec2map.c: New file. * src/io.c: New file. * src/Makefile.am (eclat_SOURCES): Add new files. * src/eclat.c (dump,eclat_trace_fun) (dumpxml,write_callback): Move to io.c (main): Register ec2 map. Use eclat_io framework. * src/eclat.h (eclat_io): New struct. (eclat_io_init, eclat_io_free) (eclat_io_shutdown, eclat_io_finish): New functions. (eclat_map_drv_ec2): New extern.
2013-04-26Improve ID mapping.Sergey Poznyakoff1
* 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.
2013-04-25Provide additional m4 magic for creating cl interfaces.Sergey Poznyakoff1
* 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.
2013-04-25Improve help and usage output.Sergey Poznyakoff1
* NEWS: Version 0.9.90 * configure.ac: Likewise. * grecs: Upgrade. * src/allocaddr-cl.opt: Use OPTIONS_COMMAND_BEGIN to declare subcommand. Remove the nousage flag. * src/cpimg-cl.opt: Likewise. * src/cpsnap-cl.opt: Likewise. * src/asscaddr-cl.opt: Likewise. * src/detvol-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/generic-cl.opt (generic_parse_options): Change signature. Use subcmd member of struct grecs_proginfo. * src/eclat.h (eclat_do_command): New proto. (generic_parse_options): Change signature. * src/atvol.c: Update call to generic_parse_options. * src/deimg.c: Likewise. * src/getconout.c: Likewise. * src/lsiattr.c: Likewise. * src/lsinst.c: Likewise. * src/lsreg.c: Likewise. * src/lssattr.c: Likewise. * src/lsvol.c: Likewise. * src/lszon.c: Likewise. * src/mksnap.c: Likewise. * src/rmsnap.c: Likewise. * src/rmvol.c: Likewise. * src/setiattr.c: Likewise. * src/startstop.c: Likewise. * src/util.c (translate_ids): Remove unused variable.
2013-04-23Implement copy-image and copy-snapshot.Sergey Poznyakoff1
* TODO: Update. * lib/libeclat.h (EC2_API_VERSION): Update. * src/Makefile.am: Add new file. * src/cpimg-cl.opt: New file. * src/cpimg.c: New file. * src/cpsnap-cl.opt: New file. * src/cpsnap.c: New file. * src/eclat.c (cmdtab): Add new commands. * src/eclat.h (eclat_copy_image) (eclat_copy_snapshot): New protos. * etc/copy-snapshot.fln: New file. * etc/copy-image.fln: New file. * etc/Makefile.am (FLNFILES): Add copy-image.fln
2013-04-22Minor fix.Sergey Poznyakoff1
* src/eclat.h (find_command_name): New proto.
2013-04-20Implement new command - lsattr. Improve docs.Sergey Poznyakoff1
The lsattr command combines the functionality of lsiattr and lssattr.
2013-04-20Major rewrite. Provide short names for each command.Sergey Poznyakoff1
2013-04-05Implement create-image and deregister-image.Sergey Poznyakoff1
* TODO: Update. * etc/create-image.fln: New file. * etc/deregister-image.fln: New file. * etc/Makefile.am (FLNFILES): Add new files. * lib/envmap.c: New file. * lib/Makefile.am (libeclat_a_SOURCES): Add new files. * lib/libeclat.h (eclat_encode_devmap): New proto. * src/creimg-cl.opt: New file. * src/creimg.c: New file. * src/drgimg.c: New file. * src/Makefile.am: Add new files. * src/dscrimgs-cl.opt: Change short option to -u for consistency with other commands. * src/eclat.c: New commands create-image and deregister-image. * src/eclat.h (eclat_create_image) (eclat_deregister_image): New prototypes. * src/runinsts.c (encode_devmap): Move to the library.
2013-02-15Implement DescribeImages and RunInstances.Sergey Poznyakoff1
* TODO: Update. * etc/describe-images.fln: New file. * etc/run-instances.fln: New file. * etc/Makefile.am: Add new files. * lib/q2url.c (add_param): Accept NULL values. * lib/qaddparm.c (eclat_query_add_param): Likewise. * lib/qencode.c (encode_param): Likewise. * lib/reqsign.c (eclat_query_signature): Likewise. * src/dscrimgs-cl.opt: New file. * src/dscrimgs.c: New file. * src/runinsts-cl.opt: New file. * src/runinsts.c: New file. * src/Makefile.am: Add new files. * src/eclat.c (cmdtab): Register new commands. * src/eclat.h (eclat_run_instances) (eclat_describe_images): New protos.
2013-02-09Make all tag-related subcommands accept the same set of options.Sergey Poznyakoff1
* src/dscrtags-cl.opt: New file. * src/Makefile.am (OPTFILES): Add dscrtags-cl.opt * src/cretags.c (process_tags): New parameter "require_tags". All uses updated. * src/dscrtags.c: Include dscrtags-cl.h. (eclat_describe_tags): Accept the same set of arguments as eclat_create_tags and eclat_delete_tags. * src/eclat.h (describe_query_update): New proto. * src/util.c (describe_query_update): New function. (describe_query_create): Rewrite as an entry point to describe_query_update. * doc/eclat-delete-tags.1: Update. * doc/eclat-describe-tags.1: Update * grecs: Upgrade * src/dscrsnapattr.c (eclat_modify_snapshot_attribute) (eclat_reset_snapshot_attribute): Remove unused locals.
2013-01-23Implement snapshot attribute commands.Sergey Poznyakoff1
* TODO: Update. * etc/describe-snapshot-attribute.fln: New file. * etc/modify-snapshot-attribute.fln: New file. * etc/reset-snapshot-attribute.fln: New file. * etc/Makefile.am: Add new files. * src/dscrsnapattr.c: New file. * src/Makefile.am: Add new files. * src/dscrinstattr.c (list_attrs): Remove. (eclat_describe_instance_attribute): Assign available_attrs. * src/eclat.c (cmdtab): New commands: describe-snapshot-attribute, modify-snapshot-attribute, and reset-snapshot-attribute. * src/eclat.h (eclat_describe_snapshot_attribute) (eclat_modify_snapshot_attribute) (eclat_reset_snapshot_attribute): New protos. (available_attrs): New extern. (list_attrs): New function. * src/modinstattr.c (list_attrs): Rename to list_mod_attrs. * src/util.c (available_attrs): New global. (list_attrs): New function.
2013-01-19Implement modify-instance-attributeSergey Poznyakoff1
* src/modinstattr.c: New file. * src/Makefile.am (eclat_SOURCES): add modinstattr.c * src/eclat.c (cmdtab): Add "modify-instance-attribute" * src/eclat.h (eclat_modify_instance_attribute): New proto. * TODO: Update. * doc/eclat-modify-instance-attribute.1: New file. * doc/eclat-describe-instance-attribute.1: Update. * doc/Makefile.am: Add new file. * etc/modify-instance-attribute.fln: New file. * etc/Makefile.am: Add new file.
2012-12-11Accept both Eclat command names and EC2 action names in format statements.Sergey Poznyakoff1
* src/util.c (eclat_actcmp): New function. * src/eclat.h (eclat_actcmp): New proto. * src/eclat.c (find_command_tag): Use eclat_actcmp.
2012-12-11Change handler invocation.Sergey Poznyakoff1
* src/eclat.c: Initialize query in main and pass it to each handler along with the curl pointer in a "runtime environment" structure. If the handler returns 0, send that query to the endpoint (from main, again). This avoids duplication of code. Reserve a CMD_NOQRY flag for commands that are supposed to do everything by themselves. Use command->tag member as the Action parameter. * src/eclat.h (eclat_command_env): New structure. Change all handler prototypes. * src/util.c (describe_query_create): Take a pointer to eclat_command_env_t as the first argument. Assume that the query structure is already initialized. The "verb" argument becomes superfluous and is removed. All uses changed. * src/allocaddr.c: Update. * src/asscaddr.c: Update. * src/attvol.c: Update. * src/cresnap.c: Update. * src/cretags.c: Update. * src/crevol.c: Update. * src/delsnap.c: Update. * src/delvol.c: Update. * src/detvol.c: Update. * src/disassaddr.c: Update. * src/dscraddrs.c: Update. * src/dscrazs.c: Update. * src/dscrinstattr.c: Update. * src/dscrinsts.c: Update. * src/dscrinststat.c: Update. * src/dscrregs.c: Update. * src/dscrsecgrps.c: Update. * src/dscrsnap.c: Update. * src/dscrtags.c: Update. * src/dscrvols.c: Update. * src/getconout.c: Update. * src/reladdr.c: Update. * src/startinst.c: Update.
2012-12-10Implement attach-volume and detach-volumeSergey Poznyakoff1
* TODO: Update * etc/attach-volume.fln: New file. * etc/detach-volume.fln: New file. * etc/Makefile.am: Add new files. * src/attvol.c: New file. * src/detvol-cl.opt: New file. * src/detvol.c: New file. * src/Makefile.am: Add new files. * src/eclat.c: Add new commands. * src/eclat.h: Add new protos. * src/util.c (translate_ids) (translate_resource_ids): Do nothing id argc is 0.
2012-12-07Re-implement confirmation support.Sergey Poznyakoff1
* 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.
2012-12-06Implement create-volume and delete-volume commands.Sergey Poznyakoff1
* doc/eclat-create-volume.1: New file. * doc/eclat-delete-volume.1: New file. * doc/Makefile.am: Add new files. * doc/eclat.1: Mention new commands. * etc/create-volume.fln: New file. * etc/delete-volume.fln: New file. * etc/Makefile.am: Add new files. * src/crevol-cl.opt: New file. * src/crevol.c: New file. * src/delvol.c: New file. * src/Makefile.am: Add new files. * src/eclat.c: Register new commands. * src/eclat.h (eclat_create_volume) (eclat_delete_volume): New protos. * TODO: Update.
2012-12-06Implement the describe-regions command.Sergey Poznyakoff1
* TODO: Update. * doc/Makefile.am: Add new files. * doc/eclat-describe-availability-zones.1: Mention describe-regions. * doc/eclat-describe-regions.1: New file. * doc/tmpl.1: Fix time-stamp-start setting. * etc/Makefile.am: Add new files. * etc/describe-regions.fln: New file. * src/Makefile.am: Add new files. * src/dscrregs.c: New file. * src/eclat.c: Register describe-regions. * src/eclat.h (eclat_describe_regions): New proto.
2012-12-06Implement describe-availability-zonesSergey Poznyakoff1
* TODO: Update. * doc/Makefile.am: Add new files. * doc/eclat-describe-availability-zones.1: New file. * doc/eclat.1: Mention describe-availability-zones. * src/Makefile.am: Add new files. * src/dscrazs.c: New file. * src/eclat.c: Register the describe-availability-zones command. * src/eclat.h (eclat_describe_availability_zones): New proto. * tests/describe-availability-zones.at: New file. * tests/Makefile.am: Add new file. * tests/testsuite.at: Include new test.
2012-12-05Implement release-address.Sergey Poznyakoff1
* 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.
2012-12-05Implement allocate-address command.Sergey Poznyakoff1
* etc/Makefile.am: Add new files. * etc/allocate-address.fln: new file. * src/Makefile.am: Add new files. * src/allocaddr-cl.opt: New file. * src/allocaddr.c: New file. * src/eclat.c (): Add allocate-address. * src/eclat.h (eclat_allocate_address): New command. * tests/Makefile.am: Add new files. * tests/allocate-address.at: New file. * tests/testsuite.at: Include allocate-address.at * TODO: Update. * doc/eclat-create-tags.1: New file. * doc/eclat.1: Update. * doc/eclat-create-tags.1: Minor fix.
2012-10-16Provide configuration statements for SSL control.Sergey Poznyakoff1
* 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.
2012-10-14Implement snapshot-management commands.Sergey Poznyakoff1
* TODO: Update. * configure.ac: Update. * doc/eclat.1: Update. * etc/create-snapshot.fln: New file. * etc/delete-snapshot.fln: New file. * etc/describe-snapshots.fln: New file. * etc/Makefile.am: Add new files. * lib/forlan.c (eval_func): Set return type according to that of the called function. (empty,timestamp): New built-in functions. * src/Makefile.am: Add new files. * src/cresnap.c: New file. * src/delsnap.c: New file. * src/dscrsnap-cl.opt: New file. * src/dscrsnap.c: New file. * src/eclat.c: Register new commands. * src/eclat.h: Add new prototypes. * tests/create-snapshot.at: New file. * tests/Makefile.am: Add new file. * tests/testsuite.at: Likewise.
2012-10-11Trivial fixes.Sergey Poznyakoff1
2012-10-10Translate resource-id filters.Sergey Poznyakoff1
* src/dscrtags.c (eclat_describe_tags): Call translate_resource_ids. * src/eclat.h (translate_resource_ids): New proto. * src/util.c (translate_resource_ids): New function.
2012-10-09Implement test map mode.Sergey Poznyakoff1
* 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.

Return to:

Send suggestions and report system problems to the System administrator.