Commit graph

592 commits

Author SHA1 Message Date
Lorin Hochstein
e759b4d0eb ec2 module: add instance_id alias
Create an alias named instance_id for the instance_ids parameter.
2015-03-28 09:31:52 -04:00
Scott Miller
13d420ebee describe choices in alias documentation 2015-03-27 16:20:20 -04:00
Brian Coca
f3e4704d92 Merge pull request #569 from 47lining/rate-throttling-retries-update
add retry with exponential backoff when we receive throttling error code...
2015-03-27 08:21:09 -04:00
Mick Bass
64a2077787 Add support for AWS Security Token Service (temporary credentials) to all AWS cloud modules. 2015-03-26 22:44:56 -06:00
Brian Coca
eacf4e4239 Merge pull request #269 from SDFE/rds_subnet_group_params
use aws connect call in rds_subnet_group that allows boto profile use
2015-03-26 15:53:33 -04:00
Toshio Kuratomi
7e7eafb3e3 Make lack of boto call fail_json instead of sys.exit
Fixes #994
2015-03-26 12:12:39 -07:00
Brian Coca
5d776936cc Merge pull request #256 from SDFE/route53_connect_params
Use aws connect calls that allow boto profile use
2015-03-26 14:34:24 -04:00
Brian Coca
68daec05f2 Merge pull request #254 from SDFE/ec2_vpc_connect_params
use simpler ec2_connect ec2 util call
2015-03-26 14:17:27 -04:00
Brandon W Maister
efa4d04284 Make cache_subnet_group default to empty security groups
Since they can't be specified together, it seems like setting the
default to no security groups is the right option.
2015-03-26 13:56:46 -04:00
Brandon W Maister
3cb2346312 Add cache_subnet_group to elasticache module
According to the [docs] cache subnet groups are required inside a VPC.

[docs]: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheSubnetGroups.html
2015-03-26 13:56:46 -04:00
Brian Coca
0771dd12ca Merge pull request #1004 from bcoca/s3_fixes
S3 fixes
2015-03-26 12:39:36 -04:00
Brian Coca
e5ed49d6c7 added patch to workaround some s3 connection faliures 2015-03-26 11:23:32 -04:00
Brian Coca
f6c9d555a0 Merge pull request #976 from jsmartin/asg_doc_fix
Re-wording of feature.
2015-03-25 22:12:35 -04:00
Brian Coca
6570d48657 refactrored connection exception handling, added check to see if we actually get a connection before proceeding
Fixes #964
2015-03-25 21:40:13 -04:00
Sarah Zelechoski
43cd4ebd2e fix syntax in last example 2015-03-24 10:31:34 -04:00
James Martin
3bd2b7c8aa Re-wording of feature. 2015-03-20 14:59:34 -04:00
Toshio Kuratomi
5399f3744f Fix review comments from @bcoca in #745 2015-03-20 09:52:19 -07:00
Toshio Kuratomi
9e9fa6a451 Merge branch 'fix-ec2_asg' of https://github.com/m-o-e/ansible-modules-core into m-o-e-fix-ec2_asg 2015-03-20 09:43:05 -07:00
Toshio Kuratomi
a78de50801 Minor code formatting 2015-03-19 22:38:06 -07:00
Rowan Wookey
37412219d5 Fixed group name not being passed to wait_for_new_instances when replacing instances
Fixed group_name not being passed to wait_for_elb
Minor code clean up
2015-03-19 22:38:06 -07:00
James Martin
1c96ff32a1 check lb for instance healthy and some refactoring of rolling replace functions.
Optionally waiting for new instances to be in viable state on ASG creation/update.

Properly updating properties and terminating group.
2015-03-19 22:38:06 -07:00
Toshio Kuratomi
fb1c92ffa4 Merge pull request #724 from ferrants/devel-metric_alarm_fix
check keys is in dim2 before evaluating
2015-03-19 12:46:43 -07:00
Jaanus Torp
aca893cf43 Added support for tagging images in ec2_ami.py 2015-03-19 15:39:42 +00:00
whiter
6c1687e68e Added changed=True flag when new subnet groups created. Added conditional so that modify_db_subnet_group is only called when necessary and changed=True flag will be set. 2015-03-18 14:52:49 +11:00
Julien Syx
23fdba26b5 Fix the issue #931
Checking that the parameter doesn't exist. The old code had a bug when the parameter was 0.
2015-03-17 17:57:18 +01:00
Rowan Wookey
fe5d90f27f Fixes #542 error when ec2_asg arguments aren't specified
If max_size/min_size/desired_capacity are omitted
when updating an autoscaling group use the existing values
2015-03-16 17:53:35 +00:00
Toshio Kuratomi
d65d04b3f8 Merge pull request #904 from ansible/ec2_vpc-sort
Sort subnets by the order they are specified in the play
2015-03-15 11:19:07 -07:00
Alex Rowley
7d6cd3baaa cloud/amazon/s3: update documentation
update description to show that module can do more than just put files into s3
2015-03-13 21:08:30 +00:00
Toshio Kuratomi
31cc5f543f Fix for py2.6 (no dict comprehensions on py2.6) 2015-03-11 19:07:55 -07:00
Toshio Kuratomi
8ed415589a Initialize the value of vpc_id variable 2015-03-11 18:40:05 -07:00
Brian Coca
07d5b50e2c Merge pull request #903 from h3biomed/allow_default_subnet
Allow vpc_subnet_id to remain unspecified (see bc0c169)
2015-03-11 14:46:59 -04:00
Brian Coca
df835f8be9 Merge pull request #924 from hkariti/route53_public_zones
Fix KeyError in public zones in route53
2015-03-11 13:57:33 -04:00
Toshio Kuratomi
974075277d Also don't fail if files are different and overwrite is false for uploads (this mimics copy and template).
Related to #489
2015-03-11 08:59:38 -07:00
Hagai Kariti
d65f9aa3af Fix KeyError in public zones in route53 2015-03-11 17:30:20 +02:00
Toshio Kuratomi
47c6dae9f3 Merge pull request #490 from pgehres/devel
Issue #489: s3 should not fail on checksum mismtach when overwrite=no
2015-03-11 08:22:23 -07:00
Toshio Kuratomi
edf1ac1ea6 Sort subnets by the order they are specified in the play
Fixes #172
2015-03-06 14:55:11 -08:00
Bret Martin
f16d8d9afb Allow vpc_subnet_id to remain unspecified (see bc0c169) 2015-03-06 14:59:27 -05:00
Jonathan Davila
19e7e99470 iam_policy 2015-03-03 15:23:06 -05:00
Toshio Kuratomi
9f38f6e6a2 Small code cleanup 2015-03-03 12:07:42 -08:00
Brandon W Maister
7f5aea980a ec2: Apply all security groups at instance-creation
The code was picking out the first instance from the security groups
specified, even when multiple groups were specified. Now we use all of
them.
2015-03-03 13:03:08 -05:00
Brian Coca
72b49f4c71 Merge pull request #846 from mlaccetti/devel
Change s3 to use connect_to_region
2015-03-03 08:51:35 -05:00
Michael Laccetti
5e7605475d Moving the import to the top of the file and getting rid of the redundancy
I sure do wish I knew where the whitespace change was coming from, though. Frustrating.
2015-03-02 20:12:54 -05:00
Feanil Patel
4a195c64f1 Compare DNS names case insensitively. 2015-03-02 10:59:14 -05:00
Trevor Pounds
07d562c58a Instance deregistration should try all associated ELBs. Fixes #869 2015-02-27 14:55:50 -08:00
James Cammarata
05904a7e17 Merge branch 'devel' of https://github.com/ansible/ansible-modules-core into devel 2015-02-27 11:01:46 -06:00
James Cammarata
db38d31f02 Updating version added fields for new alias parameters in route53 2015-02-27 11:00:21 -06:00
James Cammarata
49a493662a Merge branch 'route53-alias' of https://github.com/Coderah/ansible-modules-core into Coderah-route53-alias 2015-02-27 09:50:00 -06:00
James Cammarata
0c53b9033c Merge pull request #747 from barraponto/ec2_instance_info
Add ec2 instance tags and groups info
2015-02-27 09:41:08 -06:00
James Cammarata
fafb93490c Add private_zone parameter for route53
Fixes #473
2015-02-26 21:35:47 -06:00
Brian Coca
ec755796c0 Merge pull request #827 from bcoca/ec2_ami_handle_exceptions
now captures connection exceptions and returns in 'nicer' module failure
2015-02-25 10:37:43 -05:00
Michael Laccetti
60e2e43f00 Change s3 to use connect_to_region
* Allows us to use Ansible/s3 for GovCloud when accessing a pre-existing bucket
2015-02-25 08:46:13 -05:00
Toshio Kuratomi
c88259077e Merge pull request #698 from joelthompson/devel
ec2_group with purge_rules will purge too many rules.
2015-02-21 06:42:20 -08:00
Jens Carl
80da041eb6 - List the name servers of a zone. 2015-02-20 17:22:03 +00:00
Brian Coca
af31cb8faf now captures connection exceptions and returns in 'nicer' module failure 2015-02-20 09:28:11 -05:00
Bret Martin
bc0c1692b5 ec2: make group only match group names in this VPC 2015-02-19 11:28:13 -05:00
Brian Coca
53ef859ae4 fix instance=None documentation 2015-02-18 13:32:50 -05:00
Brian Coca
77241123a7 Revert "Revert "Don't use 'tenancy' in ec2 spot requests"" 2015-02-18 11:07:13 -05:00
Brian Coca
7c42182f47 Revert "Don't use 'tenancy' in ec2 spot requests" 2015-02-18 08:59:26 -05:00
Brian Coca
6c4804e413 Merge pull request #22 from teamdoug/devel
Pull SSL certificate IDs from existing ELBs
2015-02-16 18:49:37 -05:00
Luc Bourlier
df53b85259 Don't use 'tenancy' in ec2 spot requests
The problem was introduced in commit f5789e8e. 'tenancy' is a parameter of
ec2.run_instances, but not in ec2.request_spot_instances. So it was breaking
the support for spot requests.
2015-02-10 13:43:11 +00:00
Capi Etheriel
5854f53cdc add ec2 instance tags and groups info 2015-02-09 18:46:20 -02:00
Coderah
aa2b1f033b add alias support to route53 module 2015-02-06 15:23:01 -08:00
Coderah
d92cd07156 add hosted_zone information to ec2_elb_lb return 2015-02-06 15:23:01 -08:00
Jean-Baptiste Barth
6090c4e109 Improve formatting after previous commit 2015-02-04 10:22:24 +01:00
Jean-Baptiste Barth
b451cbd37b EC2: move logic about terminated instances up (#423)
As stated in #423, the commit 7f11c3d broke ec2 spot instance launching
after 1.7.2. This is because it acts on the 'res' variable which have 2
different types in the method, and in case we request spot instances,
the resulting object is not a result of ec2.run_instances() but
ec2.request_spot_instances(). Actually this fix doesn't seem to be
relevant in the spot instances case, because by construction we won't
retrieve 'terminated' instances in the end.
2015-02-04 10:22:24 +01:00
moe
0d0205ad54 Woops, make collect/delete loop more efficient. 2015-02-04 06:13:52 +01:00
moe
047bd6f651 Fixes #744.
The following cases work for me now:
- Create new ASG with tags
- Update tags on ASG (create/change/delete)

In short, the module should now work as expected
wrt tagging. The previous code did not work at all
with latest boto for me (serialization errors) and
the logic was buggy anyway; e.g. removed tags
would never get deleted from ec2.
2015-02-04 05:56:19 +01:00
Raghu Udiyar
eab438ce5f Creating ami should be idempotent
If the ami already exists, return details of the duplicate
ami instead of failing with an error.
2015-01-31 14:12:56 +05:30
Robb Wagoner
edc957a4b5 Include a CFN stack's resources in the result 2015-01-29 16:59:15 -07:00
Matt Ferrante
e1f2c570eb check keys is in dim2 before evaluating 2015-01-29 16:36:35 -05:00
Brian Coca
e2083bbe8a corrected version added for latest features 2015-01-28 12:55:05 -05:00
Brian Coca
a28ad0db83 minor fixes on new rds refactor 2015-01-28 12:36:04 -05:00
Brian Coca
c5d7f07aa0 Merge pull request #5 from willthames/rds_refactor
Rds refactor
2015-01-28 12:34:12 -05:00
Joel Thompson
01c4ff922f Fixes issue 697 -- only purge the grants that need to be purged 2015-01-24 00:52:37 -05:00
Toshio Kuratomi
6f47416cec Merge pull request #641 from ansible/fix-640
Potential fix for 640
2015-01-22 21:45:10 -08:00
Phillip Holmes
c5cb352262 Merge branch 'devel' of https://github.com/ansible/ansible-modules-core into ansible-devel 2015-01-22 15:04:55 -06:00
Brian Coca
9e1847ed03 ec2 fix docs format 2015-01-21 20:09:46 -05:00
Doug Ellwanger
10aaa1137c Pull SSL certificate IDs from existing ELBs 2015-01-21 15:29:46 -08:00
Brian Coca
95d4b796c0 updated tenancy version added 2015-01-21 17:27:40 -05:00
Brian Coca
68a49bc6fb Merge pull request #4 from atlashealth/ec2_tenancy
Support for EC2 dedicated tenancy option
2015-01-21 17:18:34 -05:00
Jan Brauer
e2abbbefd7 Handle the case where a stack rollback fails. 2015-01-21 13:36:36 +01:00
Alex Clifford
df2088377b ttl should always be used during a delete 2015-01-20 10:43:22 +11:00
Brian Coca
0794597c7e corrected release when this feature was added 2015-01-19 09:34:27 -05:00
Toshio Kuratomi
6cbce4d911 Potential fix for 640 2015-01-13 22:39:20 -08:00
Alex Clifford
d2ae2e6cc6 Fix slight typo in doco 2015-01-14 12:12:02 +11:00
Brian Coca
0edfdca58b Merge pull request #105 from luisguilherme/devel
ec2_lc does not create valid launch configuration for EC2-Classic
2015-01-13 11:04:21 -05:00
Michael DeHaan
d3297dc8a8 Merge pull request #598 from jsmartin/fix_asg_zone_identifier
vpc_zone_identifier must be a csv string when an asg is updated.
2015-01-08 13:46:16 -05:00
James Martin
242aa9f81b vpc_zone_identifier must be a csv string when an asg is updated. 2015-01-07 14:39:28 -05:00
Luís Guilherme F. Pereira
cfda942376 Allow ec2_lc to create EC2-Classic Launch Configs
Removes default value from ec2_lc so it can create launch configurations valid on a EC2-Classic environment. AWS API will not accept a assign_public_ip when creating an ASG outside of VPC.
2015-01-06 09:30:44 -02:00
Philip Misiowiec
71d1044b8b Adds tenancy state to returning json 2014-12-31 00:45:57 -08:00
Philip Misiowiec
ad7f5abf28 Ability to detach an EBS volume from an EC2 instance 2014-12-30 23:17:49 -08:00
tedder
c5fe40661d feature pull request: catch and retry recoverable errors
boto can throw SSLError when timeouts occur (among other SSL errors). Catch these so proper JSON can be returned, and also add the ability to retry the operation.

There's an open issue in boto for this: https://github.com/boto/boto/issues/2409

Here's a sample stacktrace that inspired me to work on this. I'm on 1.7, but there's no meaningful differences in the 1.8 release that would affect this. I've added line breaks to the trace for readability.

    failed to parse: Traceback (most recent call last):
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 2031, in <module> main()
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 353, in main download_s3file(module, s3, bucket, obj, dest)
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 234, in download_s3file key.get_contents_to_filename(dest)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1665, in get_contents_to_filename response_headers=response_headers)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1603, in get_contents_to_file response_headers=response_headers)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1435, in get_file query_args=None)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1488, in _get_file_internal for bytes in self:
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 368, in next data = self.resp.read(self.BufferSize)
      File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 416, in read return httplib.HTTPResponse.read(self, amt)
      File "/usr/lib/python2.7/httplib.py", line 567, in read s = self.fp.read(amt)
      File "/usr/lib/python2.7/socket.py", line 380, in read data = self._sock.recv(left)
      File "/usr/lib/python2.7/ssl.py", line 341, in recv return self.read(buflen)
      File "/usr/lib/python2.7/ssl.py", line 260, in read return self._sslobj.read(len) ssl.SSLError: The read operation timed out
2014-12-29 17:19:12 -08:00
Mick Bass
2d189f0d19 add retry with exponential backoff when we receive throttling error code from cloudformation 2014-12-25 14:37:08 -07:00
Brian Coca
62a53b1209 Merge pull request #541 from bcoca/cloudformation_china
update to use connect_to_region to avoid errors with china
2014-12-23 13:40:49 -05:00
Brian Coca
0ab5682b87 Merge pull request #260 from willthames/aws_frankfurt
Added better region handling and enabled eu-central-1, leaving centralizing the list on these modules to a subsequent patch
2014-12-22 08:47:27 -05:00
Brian Coca
d564569910 update to use connect_to_region to avoid errors with china 2014-12-17 19:55:54 -05:00
Brian Coca
8e5a849c66 Merge pull request #3 from atlashealth/ec2_vol_ssd_ebs
Ability to specify new SSD EBS option
2014-12-17 19:08:41 -05:00
Brian Coca
3ee8e2840f Merge pull request #6 from willthames/ec2_snapshot_remove
Added the ability to remove snapshots
2014-12-17 17:28:47 -05:00
Brian Coca
978204aaa2 Merge pull request #496 from haraldsk/devel
add support for stack policies in cloudformation
2014-12-17 16:46:56 -05:00
Kale Franz
73172fae47 #531 correction
correct list comprehension for older versions of python (back to python 2.4)
2014-12-17 09:01:50 -08:00
Kale Franz
e174c9b474 fixes #529 ec2_group module bug 2014-12-17 03:34:47 -08:00
Jeff Gonzalez
369eeb2666 Fixed formatting in documentation
The example was using mixed shorthand and long form yaml (region: "us-east-1 disable_rollback=true"

I modified the entire example to be long form.
2014-12-15 10:18:31 -06:00
Mike Putnam
5c6f375c17 Type fix on delete_snapshot docs. 2014-12-12 13:29:51 -06:00
Harald Skoglund
5bc8d5b96e add support for stack policies in cloudformation 2014-12-11 16:41:25 +01:00
Peter Gehres
05ca85a172 Issue #489: s3 should not fail on checksum mismtach when overwrite=no 2014-12-10 10:50:16 -08:00
Mike Putnam
55a51f4ca9 Clarify possible variable value in the docs. 2014-12-09 10:09:05 -06:00
Michael DeHaan
95aa8481b2 Merge pull request #466 from marcus-ahle/devel
Preventing Nonetype is not iterable error when no tags are set for new ASG
2014-12-08 14:26:16 -08:00
Marcus Ahle
ba5c36ce5a Preventing Nonetype is not iterable error when no tags are passed in for a newly created ASG 2014-12-08 12:55:27 -05:00
Ben Whaley
cf24e7d56c vpc_zone_identifier should be a list as per the docs 2014-12-05 18:04:16 -08:00
Scott Miller
53afd359f6 fix documentation
AWS does not recognize the subnet if it is presented in a comma delimited format with spaces. you must remove the space for Amazon to recognize the second subnet.
2014-12-03 11:45:42 -05:00
Toshio Kuratomi
5af4463823 Gixes to doc formatting 2014-12-03 08:17:15 -08:00
Brian Coca
71224c8678 Merge pull request #420 from drfickle/route53_float_fix
route53 module retry_interval needs to be a float before passing to time.sleep
2014-12-03 11:10:32 -05:00
willthames
b287e7c0a6 Added the ability to remove snapshots
Added state option, and accompanying snapshot_id option for
when state=absent.
2014-12-02 11:18:53 +10:00
Will Thames
565fa9a0ae Fixed tagging 2014-12-02 11:12:40 +10:00
Denver Janke
0edb9f51e8 Fix few bugs around renaming db instances. 2014-12-02 11:11:30 +10:00
Will Thames
a1a6201b82 Improved error handling
More tests, particular for failure testing
2014-12-02 11:11:30 +10:00
Will Thames
7a8586c53c RDS rewrite to use boto.rds and boto.rds2
Using rds2 allows tags and the control over whether or not DBs are
publicly accessible.
Move RDS towards a pair of interfaces implementing the details of rds
and rds2
Added tests to ensure that all operations work correctly as well as
requirements files that allow virtualenvs to test either boto.rds or
boto.rds2
2014-12-02 11:11:30 +10:00
Steve Fox
c03ec202a7 retry_interval needs to be a float before passing to time.sleep 2014-12-01 14:21:52 -06:00
Michael DeHaan
9de0045d00 Remove potentially out of date or specific product references. 2014-12-01 15:16:22 -05:00
Michael DeHaan
e7c92a6bc6 More EC2 doc tweaks 2014-12-01 15:14:57 -05:00
Michael DeHaan
c6b0d469ac Misc EC2 doc tweaks. 2014-12-01 14:46:07 -05:00
Philip Misiowiec
59701feadb added version 2014-12-01 10:55:22 -08:00
Philip Misiowiec
f5789e8eda Support for EC2 dedicated tenancy option 2014-12-01 10:55:22 -08:00
Philip Misiowiec
c241e9dd9c added version 2014-12-01 10:52:22 -08:00
Philip Misiowiec
b37a2328c0 Ability to specify new SSD EBS option 2014-12-01 10:52:22 -08:00
Robert Estelle
5e694c490c ec2_group allow empty rules. 2014-12-01 13:04:15 -05:00
follower
a6e0d9d613 Fix typo of "rules_egress"
Or is "rules_egree" supposed to be a plural? The sentence is difficult to parse.

Maybe the correct fix is to "Purge existing rules on security group that are not found in rules_egress"?
2014-11-29 18:05:22 +13:00
Will Thames
30c7f9a7d3 Added better region handling and enabled eu-central-1
Make use of improved connect_to_aws that throws an exception
if a region can't be connected to (e.g. eu-central-1 requires
boto 2.34 onwards)

Add eu-central-1 to the two modules that hardcode their regions
Add us-gov-west-1 to ec2_ami_search to match documentation!
This pull request makes use of the changes in ansible/ansible#9419
2014-11-22 11:35:46 +10:00
Bret Martin
16de3281c3 ec2_vpc module: add route table resource tagging 2014-11-19 10:40:44 -05:00
Robert Estelle
4dd099fe7a Remove incorrect executable permissions. 2014-11-13 18:08:48 -05:00
James Cammarata
a7749a8fce Merge pull request #309 from jsmartin/asg_fix_delete
asg will now be terminated if state=absent.
2014-11-12 13:16:49 -06:00
James Martin
341c7ce307 asg will now be terminated if state=absent.
adds mutually exclusive options
2014-11-12 12:44:03 -05:00
James Cammarata
710b7b9aba Merge pull request #308 from jsmartin/asg_orphaned_code
Removes orphaned code.
2014-11-12 11:16:06 -06:00
James Cammarata
ae744f98d8 Serialize tag attributes to ASG properties in ec2_asg
Fixes #108
2014-11-12 11:04:43 -06:00
James Martin
d5326e6dbd Removes orphaned code. 2014-11-12 11:48:06 -05:00
James Martin
f287600e6c fixes #240, #274, #108 2014-11-11 19:47:34 -05:00
José Moreira
03cf57c6f0 Fixed small typo on ec2 task name 2014-11-10 11:24:31 +00:00
Dan Abel
4c04366882 use aws connect calls that allow boto profile use 2014-11-05 17:31:34 +00:00
Dan Abel
a70f1c7718 use simpler ec2_connect ec2 util call
This allows boto profile use
2014-11-05 17:28:47 +00:00
Tom Wadley
1e08f508c6 use aws connect call in rds_subnet_group that allows boto profile use 2014-11-05 17:11:12 +00:00
Brian Coca
19ed60196c added __init__.py to new cloud subcategories so builds work again 2014-11-05 11:07:19 -05:00
Brian Coca
0c4adcb2c6 made subcategories for cloud modules for better organization 2014-11-04 11:18:09 -05:00