Commit graph

18668 commits

Author SHA1 Message Date
paulquack
7f92741c3d Remove references to provider in documentation, update license (#32242) 2017-10-30 12:34:29 +05:30
Jordan Borean
6bc85744ef
win_uri: fix elif to elseif (#32330) 2017-10-30 10:43:43 +10:00
Willem van Ketwich
310eb833a4 EC2 AMI boto3 modifications (#28506)
Migrate ec2_ami module to boto3
2017-10-30 10:20:27 +10:00
Dag Wieers
16bbc19674
subversion: PEP8 compliancy and doc fixes (#30909)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:09:00 +01:00
Dag Wieers
86bb82a220
user: PEP8 compliancy and doc fixes (#30895)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:06:37 +01:00
Dag Wieers
63edeb1644
systemd: PEP8 compliancy and doc fixes (#30892)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:04:57 +01:00
Dag Wieers
8b2bf09c49
service: PEP8 compliancy and doc fixes (#30890)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:03:54 +01:00
Dag Wieers
edc0ff481c
seboolean: PEP8 compliancy and doc fixes (#30888)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:02:45 +01:00
Dag Wieers
32775b0caa
hostname: PEP8 compliancy and doc fixes (#30886)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:00:49 +01:00
Dag Wieers
3ae42afbc7
getent: PEP8 compliancy and doc fixes (#30885)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 00:58:04 +01:00
Dag Wieers
11f8d9659d
at: PEP8 compliancy and doc fixes (#30881)
This PR includes:
- PEP8 compliancy fixes
- Documentation changes
2017-10-30 00:56:54 +01:00
Dag Wieers
babc2354a5
lineinfile: pylint fixes and docs (#30854)
This PR includes;
- pylint fixes
- Documentation updates
2017-10-30 00:55:14 +01:00
Dag Wieers
2f8c88b687
file: pylint fixes and docs (#30849)
This PR includes;
- pylint fixes
- Documentation updates
2017-10-30 00:53:44 +01:00
Dag Wieers
a6415f9ad9
copy: pylint and docs (#30847)
This PR includes;
- pylint fixes
- Documentation updates
2017-10-30 00:52:45 +01:00
Dag Wieers
e365085644
acl: pylint fixes and docs (#30841)
This PR includes;
- pylint fixes
- Documentation updates
2017-10-30 00:52:10 +01:00
Dag Wieers
c46401e41f
tempfile: PEP8 compliancy, pylint and docs (#30859)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-10-30 00:51:19 +01:00
Dag Wieers
f64a8f58a3
synchronize: PEP8 compliancy, pylint and docs (#30858)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-10-30 00:49:47 +01:00
Dag Wieers
19c3c7fe44
blockinfile: PEP8 compliancy, pylint and docs (#30845)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-10-30 00:43:18 +01:00
Dag Wieers
fb18e27d87
assemble: PEP8 compliancy, pylint and docs (#30844)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-10-30 00:41:47 +01:00
Dag Wieers
0129b96065
archive: PEP8 compliancy, pylint and docs (#30842)
This PR includes;
- PEP8 compliancy fixes
- pylint fixes
- Documentation updates
2017-10-30 00:39:30 +01:00
Dag Wieers
a4e077b357
Fix typos and docs 2017-10-30 00:37:06 +01:00
Will Thames
08d81b970d
Amazon kms_facts module (#26733)
* Amazon kms_facts module

Facts module for Amazon's Key Management Service

* kms_facts provide aliases

Return aliases for keys
Provide `alias` as a filter
Cope when tags can't be listed
Ensure everything is properly snake cased

* Rename kms_facts to aws_kms_facts

There may be conflicting KMS modules for other providers otherwise.

* Fix documentation, add aliases cache

Aliases are called many times, so add a cache

* Reduce amount of info on deleted keys

Getting info on a key is costly (2s) per key, so reduce
info on deleted keys.

* Add policy information to facts

* aws_kms_facts version update

Fix ridiculously long RETURN line

* Remove dangerous-default-value from aws_kms_facts
2017-10-30 09:10:11 +10:00
Trond Hindenes
e3fc53b6fc Added info to win_service docs (#32320)
* Added info to win_service docs

* minor typo fix
2017-10-30 05:43:18 +10:00
Aniket Khisti
27694f6909 PEP8 compliancy for os_server_volume module (#32306) 2017-10-29 14:15:32 +05:30
Toshio Kuratomi
2e12a5f8c2 Revert "Removed a force conditional (#28851)" (#32282)
This reverts commit 07acc579db.

On closer examination of this code, the conditional that had force in it
was not a parent of this one.  So handling of force is needed i both
branches.

See the recent comments on #23391
2017-10-28 18:35:32 +10:00
Tim Rupp
2a5f6c28cf
Adds bigip_asm_policy module (#32281)
This module can be used to import asm policies from file or existing
template. Supported file types are xml, compact xml, and binary
2017-10-27 22:31:52 -07:00
Tim Rupp
a16db95ddb
Adds the bigip_ssl_key module (#32270)
This module's purpose is to specifically manage the ssl keys. It
is essentially the key component of the bigip_ssl_certificate module.
The modules were separated and the key portion deprecated from
bigip_ssl_certificate in favor of this module.
2017-10-27 12:52:52 -07:00
Brian Coca
e010fcf7e1 added debug info when skipping undef 2017-10-27 12:16:16 -04:00
Sloane Hertel
27b2c3bd25 lambda: fix undefined variable and initially define account_id as None (#32249) 2017-10-27 09:40:01 -04:00
Prasad Katti
033a6a1560 [ec2_ami_copy] Add return documentation (#32012) 2017-10-27 09:05:50 -04:00
Patrick Ogenstad
81f34cd01c Remove asa_template action plugin (#32233)
Since the asa_template module has been deprecated this action plugin
is no longer needed.
2017-10-27 13:53:09 +01:00
Stanley Karunditu
7553c42e09 Fixes #31090. In network parse_cli filter plugin, this change moves the creation of a (#31092)
new match(block). It previously only occurred if a new match occurred,
but suggest it should occur when an end of a block match is found.
2017-10-27 17:45:36 +05:30
Kedar K
7d5dccefe5 - Fix logging module issue where facility is being deleted along with host (#32234)
- Remove default facility, as facility is not standard on remote syslog server
2017-10-27 15:31:17 +05:30
Trishna Guha
a5f6c726f0 Add vyos_vlan DI module (#32072)
* Add vyos_vlan DI module

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Add integration tests

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Improve logic and add more test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* update boilerplate

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2017-10-27 15:21:37 +05:30
Ricardo Carrillo Cruz
80c8b99a62 Handle ip name-server lines containing multiple nameservers (#32235)
In CSR, multiple nameservers are defined in one line, whereas on IOS
it's on multiple ones.
This change handles both.
2017-10-27 10:55:52 +02:00
Prasad Katti
d088b7ab93 Route53 return values (#31962) 2017-10-27 13:27:01 +10:00
Prasad Katti
a199d9d91e [ec2_vpc_nacl_id] Add nacl_id alias for nacl_ids option (#32223) 2017-10-27 13:21:53 +10:00
Benjamin Schweizer
f2023a84a6 Enable TLS1.1 and TLS1.2 for win_package (#32184) 2017-10-27 12:03:52 +10:00
Toshio Kuratomi
8c41fee7bf Fix typo 2017-10-26 17:37:11 -07:00
Evgeni Golov
0769460820 format error messages from module_utils.basic nicer
* lists are printed as a string, separated by a comma and a space
* require_if tells if is_one_of was True or False
2017-10-26 17:37:11 -07:00
Sloane Hertel
c714da7fac cloudformation_facts: don't fail on nonexistent stack - fixes #23419 (#23758)
* Allow cloudformation_facts to exit gracefully if stack does not exist

make cloudformation_facts pep8

remove from legacy files

remove unnecessary if statement

Allow cloudformation_facts to exit gracefully if stack does not exist version 2

fix documentation errors

add an example for a hard-fail if a stack doesn't exist

* Remove extra whitespace

* Use the .response attribute since .message isn't present with Python 3

* Don't fail if no stack name is provided and no stacks exist.
2017-10-26 15:18:31 -04:00
Sam Doran
6a6ea663ea Return all elements in a more robust way
If a trailing ':' is set or not, always return all secrets from a path. This was a bug mostly fixed by this PR.

Update examples.
2017-10-26 13:24:39 -04:00
igor-pinchuk
6b6746dcee Update hashi_vault.py
Add ability to lookup entire objects in HashiCorp Vault.
When used with auth_method allow skipping SSL verify.
2017-10-26 13:24:39 -04:00
Ted Timmons
9322486ac3 Exclude stack policy when running in check mode. (#31940)
Fixes #31931
2017-10-26 12:32:48 -04:00
Marc Mercer
17a008654a Cast target port to an int in elb_target_group. Fixes #32098 (#32202) 2017-10-26 12:09:49 -04:00
Sam Doran
104934c095 Enable ECHO in prompt module (#32083)
* Enable ECHO in prompt module

Fixes #14160

* Set flags to make it possible to edit echoed input as well as hide control charcters

Only do this if a time limit is not set.

* Consolidate settings
2017-10-26 12:05:08 -04:00
Ted Timmons
8ab4412684 aws_kms: handle updated policy format+cleanup (#30728)
* aws_kms: handle updated policy format+cleanup

- create slightly updated policy in that handles lists instead of a single string; the previous version's policy was being rejected if the key was new enough to have the updated base policy.
- removed `dry_run` conditionals, not committing the policy anyhow.
- return the policy in the return data. Leaving undocumented for now.
- update exception handling: don't rethrow in `do_grant`, don't pass anything to `format_exc`.

* whitespace/indent fail

* fix list-plus-brackets

* str and list fixes for ryansb

* port changes from #31667 over, better listification
2017-10-26 09:13:29 -04:00
Luca Lorenzetto
ea05035be2 Use latest available template (#31780)
* Use latest available template

Documentation states:
template_version: version number of the template to be used for VM. By default the latest available version of the template is used.

This was not true because if parameter was not specified, template[0] is choosen, without checking if is the latest. Now, sorting + selecting the latest selects the one with the latest version number.

* Sort in reverse order, style cleanup

Applied fixes from comment
2017-10-26 09:12:34 -04:00
Ondra Machacek
4f01ad41bd ovirt_hosts: Don't fail upgrade when NON_RESPONSIVE state (#32123) 2017-10-26 09:03:29 -04:00
Prasad Katti
13807e7ee8 [cloud][docs] Add a cloudformation_facts example (#31964) 2017-10-26 08:29:10 -04:00
Ryan Brown
838c1ba6c7 [cloud] Bugfix for aws_s3 empty directory creation (#32169)
* [cloud] Bugfix for aws_s3 empty directory creation

* Update integration tests
2017-10-26 08:17:13 -04:00
Prasad Katti
0b357ba223 [ec2] Move note about state=restarted (#31961) 2017-10-26 21:37:33 +10:00
Prasad Katti
91b5a9b868 [ec2-ami] make examples less verbose; fix default values in docs (#32008)
* make ec2-ami examples less verbose

* Fix default values in docs to be the actual default values

Fix default values for `architecture`, `virtualization_type` and
`wait_timeout` in docs to be the actual default values.

* Added note about examples not containing auth details
2017-10-26 21:33:39 +10:00
Prasad Katti
3e0f67786f [ec2_vpc_subnet_facts] Add subnet_id alias for subnet_ids options (#32023) 2017-10-26 21:32:46 +10:00
Prasad Katti
61554143d0 Document return values of ec2_eip (#32018)
- added RETURN value for ec2_eip
- removed note about what is returned
- removed a duplicate example
2017-10-26 21:31:57 +10:00
dgilbert82
78347e12a3 No need to set a default tenancy and it prevents the creation of spot lcs (#31270)
The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_82dk2ynr/ansible_module_ec2_lc.py", line 317, in create_launch_config
    connection.create_launch_configuration(**launch_config)
  File "/usr/lib/python3.6/site-packages/botocore/client.py", line 312, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/usr/lib/python3.6/site-packages/botocore/client.py", line 601, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (ValidationError) when calling the CreateLaunchConfiguration operation: Placement tenancy is not supported for spot instances.

fatal: [localhost]: FAILED! => {
    "changed": false, 
    "error": {
        "code": "ValidationError", 
        "message": "Placement tenancy is not supported for spot instances.", 
        "type": "Sender"
    }, 
    "failed": true,
2017-10-26 05:43:38 -04:00
Dave Thelen
602a618e60 eos_user: sends user secret first on user creation fixes #31680 (#32162)
* fix command order

* add integration test

* test cleanup

* remove redudant commands
2017-10-26 12:40:58 +05:30
awkspace
87989b5c63 Fix ec2_lc failing to create multi-volume configurations (#32163) 2017-10-26 15:21:47 +10:00
Brian Coca
ca71a50459 Avoid default inventory proccessing for pull (#32135)
* Avoid default inventory proccessing for pull

- now pull's own special inventory processing should work correctly
- also removed ineffective set_defaults

fixes #31449

* use class property instead

* only do localhost for adhoc

(cherry picked from commit aad5d1432583c4aa4105b774f38c80498e85de59)
2017-10-25 19:55:48 -04:00
James Mighion
11153df0a1 Adding a regex for stderr catching. (#31945) 2017-10-25 14:51:49 -07:00
Simon Dodsley
09f55d300b Fix issue #32138 - fix examples typo (#32140) 2017-10-26 07:44:15 +10:00
Michael Wild
8724c069d7 Add delayed start to win_nssm (#32017)
* Adds start_mode=delayed option for win_nssm

It translates to Start=SERVICE_DELAYED_AUTO_START in nssm.

* Adds documentation for the start_mode=delayed option of win_nssm

Also, reformats the start_mode values into a list.
2017-10-26 07:02:14 +10:00
Tim Rupp
23a81af4f1 Adds name fact when retrieving nodes (#32165) 2017-10-25 13:31:20 -07:00
Tim Rupp
cc4bbb2929 Various bigip_pool fixes (#32161)
* corrects copyrights and mocks in unit tests
* fixes module code to include code to cleanup tokens
2017-10-25 12:57:21 -07:00
Daniel Shepherd
8aeb239f73 [cloud] Update ec2_vpc_net_facts to use Boto3 (#25375)
* update ec2_vpc_net_facts module to boto3

updated with RETURN values and other requested changes

removed errant extra blank line

another errant extra line removed...auto-linter not working apparently

updates per review

fix typo in RETURN docs

* fix trailing whitespace issue
2017-10-25 13:26:16 -04:00
Patrick Marques
6790a0f75f [cloud] Add new module digital_ocean_sshkey_facts (#26365)
* do_sshkeys_facts module

* Fix

* Fix version

* Configure timeout and validate_certs for fetch_url

* Add support for new DO_OAUTH_TOKEN env var

* rename module prefix from do_* to digital_ocean_*

* Fix python 2.6 positional index

* Use modules_utils digital ocean lib

* Update metadata version

* Update version added

* Update module from boilerplate

* Update examples

* Add timeout documentation

* Fix typo
2017-10-25 11:34:39 -04:00
otteydw
d2cb676c4c Add a validate example to blockinfile. (#32088) 2017-10-25 15:11:49 +01:00
John R Barker
0e36854213 consul_kv: Fix name & formatting (#32132)
* Fix name & formatting
* Fix examples
2017-10-25 15:39:49 +02:00
Peter Sprygada
1af72afdef inserts enable cmd hash with auth_pass used (#32107)
eapi transport was not passing the auth_pass to the remote device with
it was provided.  this fix will now insert the correct command hash into
the jsonrpc request.

fixes #30802
2017-10-24 21:59:49 -04:00
Sloane Hertel
1dd55acbc2 ec2_group: add rule description support - fixes #29040 (#30273)
* ec2_group: add support for rule descriptions.

* Document rule description feature and add an example using it.

* Fix removing rule descriptions.

* Add integration tests to verify adding/modifying/removing rule descriptions works as expected.

* Add permissions to hacking/aws_config/testing_policies/ec2-policy.json for updating ingress and egress rule descriptions.

* ec2_group: add backwards compatibility with older versions of botocore for rule descriptions.

* Add compatibility with older version of botocore for ec2_group integration tests.

* ec2_group: move HAS_RULE_DESCRIPTION to be checked first.

* Make requested change

* Pass around a variable instead of client

* Make sure has_rule_description defaults to None

* Fail if rule_desc is in any ingress/egress rules and the the botocore version < 1.7.2

* Remove unnecessary variable

* Fix indentation for changed=True when updating rule descriptions.

* minor refactor to remove duplicate code

* add missing parameter

* Fix pep8

* Update test policy.
2017-10-24 21:18:56 -04:00
Tim Rupp
d067166cfc Segment out the update method (#32103)
This patch changes the base parameters class to segment out the
update method. This is done often throughout the f5 modules, so
this just bakes it into the mod utils so that I can delete it
from each module
2017-10-24 16:13:14 -07:00
Sam Doran
4dce9dc796 Add ansible_distribution_major_version to macOS (#31708) 2017-10-24 17:33:27 -04:00
Prasad Katti
8a9a9b84dd [ec2-ami] Use required_if with state parameter (#32009)
* [ec2-ami] Use required_if with state parameter

* Update failure msg on delete ami with no image_id task in integration test
2017-10-24 16:01:33 -04:00
Adrian Likins
6203e899f0 Fix service_mgr fact collection (#32086)
The platform/distro/etc facts were being passed in
correctly, but service_mgr.py was looking up the
wrong names ('system' vs 'ansible_system') resulting
in service_mgr falling back to default 'service' result.

Fixes #30753, #31095
2017-10-24 15:15:01 -04:00
akatch
ad3f4b953a Fun with callbacks (#32031)
* Functional-ish unix-ish callback plugin

* fix var

* Don't display include or include_vars

* Correctly display debug output and failed output in loops

* Linter fixes, documentation, and GPL oneliner
2017-10-24 12:38:49 -04:00
Brian Coca
506e6a0b2d removing deepcopy as it does not work
it cannot  handle deep crossreferenced objects
need to find alternative approach.
2017-10-24 11:12:18 -04:00
Toshio Kuratomi
725ae96e1b Prefer the stdlib SSLContext over urllib3 context
We do not go through the effort of finding the right PROTOCOL setting if
we have SSLContext in the stdlib.  So we do not want to hit the code
that uses PROTOCOL to set the urllib3-provided ssl context when
SSLContext is available.  Also, the urllib3 implementation appears to
have a bug in some recent versions.  Preferring the stdlib version will
work around that for those with Python-2.7.9+ as well.

Fixes #26235
Fixes #25402
Fixes #31998
2017-10-24 07:22:53 -07:00
Martin Krizek
ee6ba5d590 yum: allow for downgrade using rpm file (#31647) 2017-10-24 14:33:38 +02:00
John R Barker
9d6fd4ebcc Network docs should link to network integration pages (#31795) 2017-10-24 08:17:03 +01:00
Patrick Ogenstad
69cf5f9486 Fix documentation bug for asa_config (#32007)
The documentation mentioned the "commit" and "update" parameters which
didn't exist.
2017-10-24 09:24:37 +05:30
Kedar K
e2bed36d12 - Adds iosxr_netconf module to configure netconf service on IOSXR (#31715)
* - Adds iosxr_netconf module to configure netcong service on Cisco
  IOS-XR devices

* - Adds Integration test for module
- Handles diff return from load_config

* - Adds unit test for iosxr_netconf module
2017-10-24 08:49:23 +05:30
Kevin Zhao
b3cf1e39bb add user-agent to Azure API calls (#31872)
* addi Ansible user-agent in Azure API calls

* fix import error
2017-10-23 16:53:35 -07:00
Peter Sprygada
905d71d46a fix eos terminal plugin to recognize ospf error message (#32039)
The eos terminal plugin did not correctly catch the error message
returned with trying to configure more than one ospf instance.  This
change updates the terminal plugin to catch that scenario
2017-10-23 17:27:58 -04:00
Jordan Borean
b004a6373a windows: add #AnsibleRequires for Windows modules (#31683)
* windows: add #AnsibleRequires to set whether a module requires module or a specific version

* fix up pep8 issues

* changed psversion to use the actual ps Requires -Version syntax

* missed the check on #Requires -Version

* fix #Requires module extensions
2017-10-23 14:21:30 -07:00
Matt Davis
0c34cdd0f7 fix #Requires to be valid in real Powershell (#31858)
* module_utils #Requires should not have .psm1 extension if "real" Powershell will ever execute them
* updated validate-modules to enforce this
* added check to disallow multi-module syntax on Ansible.ModuleUtils #Requires
2017-10-23 11:40:54 -07:00
Ryan Brown
11c225e039 Start using ClientRequestTokens in event lists (#31997)
* Start using ClientRequestTokens in event lists

* Include request token in all reqs that support it (basically all but check mode/changeset)

* Update placebo recordings

* Add comments for CRQ popping
2017-10-23 14:39:13 -04:00
Martin Krizek
4bd16216fe ini inventory: document value parsing workaround
Fixes #31656
2017-10-23 09:56:49 -07:00
Charles Tolley
531d6c50bf Added regex to recognize prompt (#31947) 2017-10-23 19:34:10 +05:30
tacatac
4ffd60a406 nosh system module: fixes and improvements (#32014)
* nosh system module: fixes and improvements

documentation:
* fleshed out and fixed to better follow the official guidelines

consistency:
* the following facts will now always be returned on success: name,
service_path, enabled, preset, user, status
* state is only returned when the state option is used
* state and status will be null if the service is not loaded by the end
of the task

* [nosh]: PEP8 fix
2017-10-23 09:19:22 -04:00
Kedar K
465fe5802b -Fixes JSON parsing(use JSON object instead of string) for facts modules. (#31818) 2017-10-23 17:48:52 +05:30
Yaacov Zamir
2765ee4b9a Enable use of empty manageiq arguments (#31774)
* anable use of empty manageiq arguments

* make default verify_ssl true
2017-10-23 13:33:57 +02:00
James Mighion
6693cc3f5a Using shorthand for disabling paging to avoid the syntax difference between versions. (#31942)
Fixes #31855
2017-10-23 10:15:30 +02:00
Trishna Guha
529b7a7b78 fix nxos_igmp_snooping (#31688)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2017-10-23 09:40:07 +05:30
Jordan Borean
8e44cd5d10 win_command win_shell: add stdin option (#31619) 2017-10-23 09:50:19 +10:00
Jordan Borean
b663f602bc windows argv to string module utility (#28970)
* windows argv to string module utility

* rebased PR with latest devel branch
2017-10-23 09:49:40 +10:00
Morgan Kesler
ed342e8ce3 Remove toLower on source (#31983)
Having this here breaks any source URLs that require case sensitivity.
2017-10-23 07:18:00 +10:00
René Moser
e7d7a29a46 composer: return skipped if command has no --dry-run (#32010) 2017-10-22 10:04:46 +02:00
Eike Frost
74bd13727a move zabbix modules into their own namespace below monitoring/ (#31992) 2017-10-21 10:07:51 +02:00
Tim Rupp
965e4151df Adds the bigip_policy module (#31915)
this module allows one to manage policies and re-order their
corresponding rules
2017-10-20 18:05:55 -07:00
Tim Rupp
8085c38e05 Refactors the bigip_gtm_facts module (#31917)
Includes pep fixes and inlining code with current conventions
2017-10-20 18:05:45 -07:00