Commit Graph

58 Commits (ae49dd65d9b52dea3c5c07c924e7008a8448b67f)

Author SHA1 Message Date
Patrick Marques 8465830c1d Add new module digital_ocean_floating_ip_facts (#26372) 2018-01-07 08:51:57 +05:30
Jacob F. Grant 6a322637c4 Add support for snapshot_id field (#23334)
The DigitalOcean API v2 supports creating a block storage volume from
a previously-saved snapshot using a snapshot_id string. This module now
likewise supports creating a block storage volume using a valid
snapshot_id string.

When creating a block storage volume from a snapshot_id using the
DigitalOcean API, the region and size_gigabytes parameters are ignored.
Therefore, these parameters are likewise ignored when using this module.
However, as of this commit, they are still required fields. It may be
necessary to find some way to eliminate these requirements if the
snapshot_id parameter is included.

The DigitalOcean API v2 allows for creating a block storage volume from
a previously-saved snapshot using the snapshot_id parameter. If this
parameter is used, the region and size_gigabytes parameters are
disregarded. In order to avoid confusion, when the snapshot_id parameter
is included when creating a block storage volume using this module, the
region and block_size fields are overridden and changed to null values.
This should make it clear that these values are NOT being used if a
snapshot_id is present.

This module will still fail as before if neither the region/block_size
or snapshot_id is not present when creating a block storage volume.

Documentation has been updated to reflect these changes.
2018-01-03 03:55:30 -05:00
Gurchet Rai 490dc40203 Fix DO_API_KEY environment variable check (#33512)
`os.environ['DO_API_TOKEN']` raised a `KeyError` preventing the check
for `os.environ['DO_API_KEY]` from being executed. Fix this by failing
only if the api token isn't set.
2017-12-14 00:07:45 -05:00
Abhijeet Kasurde 2caddf0212
Refactor Digital Ocean Domain (#29179)
* Remove dopy dependency
* Use DigitalOceanHelper class
* Incorportated BondAnthony's changes

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-09 11:24:20 +05:30
ABond f9b138b0ab Fix Digital Ocean tags module data type (#33486)
Digital Ocean changed their api to no longer accept an integer as a resource_id.  Fix adds changed data type (from integer to string).

Signed-off-by: Anthony Bond <bond.anthony@outlook.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-03 01:21:19 +05:30
Abhijeet Kasurde 6c400d3bc8 Add new module - digital_ocean_certificate (#26632)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-11-15 01:33:01 -05:00
Matt Martz 99d4f5bab4 Remove uses of assert in production code (#32079)
* Remove uses of assert in production code

* Fix assertion

* Add code smell test for assertions, currently limited to lib/ansible

* Fix assertion

* Add docs for no-assert

* Remove new assert from enos

* Fix assert in module_utils.connection
2017-11-13 11:51:18 -05:00
Pilou 7fe69daa4d Modules metadata: fix invalid GitHub ID in author field (#31856)
* Replace Twitter username with GitHub ID

See 8bfa19c4af

* Replace Twitter username with GitHub ID

See 22766906b0

* Fix GitHub ID: add missing letters

See:
- nxos_banner.py: 9c6ee8d0bb
- nxos_logging.py: e37e736ddb
- net_user.py: f6a4803669

* Remove nonexistent author, use GitHub organization

See https://github.com/ansible/ansible-modules-core/pull/2880

Not sure how Ansibullbot will handle an organization ID, but
other deprecated modules already use it.

* Replace Twitter username with GitHub ID

* Replace Twitter username with GitHub ID

See bf59d1cc1e

* Replace Twitter username with GitHub ID

See d02a9016a2

* Author: use GitHub ID

See 0847bfecd672f6b2e0e4429e998df7c6e7042b1c

* Replace Twitter username with GitHub ID

See a59684fddd

* Replace Twitter username with GitHub ID

See 94f9bb962f

* Replace Twitter username with GitHub ID

See 40b7dffea8
2017-11-02 06:52:18 -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
ABond 1ec015410d digital_ocean_sshkey doc refinement and removal of unused import (#28960)
Updated doc examples and removed os import that was unused
2017-09-11 19:44:06 -04:00
Abhijeet Kasurde 6fd579b9f5 Refactor DigitalOcean modules
Fix adds refactoring of DigitalOcean modules by adding
common functionality to module_utils.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-08-18 00:23:54 -07:00
Toshio Kuratomi f203ca7907 Update metadata to 1.1 2017-08-15 23:12:08 -07:00
Patrick Marques f1816bb438 Update module digital_ocean_sshkey (#18930)
* add new module do_sshkeys

* Deprecate digital_ocean_sshkey.py in favor of do_sshkeys

* Should not exit changed if name not set and key exist

* Add ansible metadata

* Return "ansible_facts" instead of "data" key

* Update documentation and remove unused import

* Remove facts module (1 module / PR)

* Fix

* Fix

* fix version_added

* Change old module status to deprecated

* Change old module status to deprecated

* Fix module deprecation

* Add support for new DO_OAUTH_TOKEN env var

* Fix python 2.6 positional index

* Update deprecation info

* Configure timeout and validate_certs for fetch_url

* rename do_sshkeys to digital_ocean_sshkeys

* Module is replaced, not deprecated anymore

* Fix module name

* Add version to new parameters

* Update module from boilerplate
2017-08-07 09:58:47 -04:00
Abhijeet Kasurde b266204afa Fix JSON parsing for Python3
Fix corrects the parsing of JSON output in Python 3
environment by using to_text API.

Fixes: #26489

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-08-02 06:47:44 -07:00
Toshio Kuratomi 1ee08c0f06 Get rid of more wildcard imports and add boilerplate to more modules
This commit cleans up the following module categories:
* messaging
* inventory
* crypto
* commands
* clustering
* cloud/webfaction
* cloud/docker
* cloud/digital_ocean
2017-07-29 07:02:12 -07:00
Patrick Marques a59684fddd Created digital_ocean_floating_ip module (#18922)
* Created digital_ocean_floating_ip module
2017-07-16 11:01:04 -07:00
Abhijeet Kasurde 785ed2cfc0 Multiple fixes in digital_ocean_tag module (#24361)
* Pep8 fixes
* Removed redundant check for name
* Check validity of api_token
* Don't report changed when tag is already present

Fixes #24265

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-07-04 08:04:49 +02:00
Abhijeet Kasurde 2425143cf2 Pep8 fixes for digital_ocean_*
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-05-08 10:53:47 +08:00
Matt Martz 3164e8b561 E501 fixes (#22879) 2017-03-22 20:50:28 -05:00
Toshio Kuratomi eb1214baad New metadata 1.0 (#22587)
Changes to the metadata format were approved here:
https://github.com/ansible/proposals/issues/54
* Update documentation to the new metadata format
* Changes to metadata-tool to account for new metadata
  * Add GPL license header
  * Add upgrade subcommand to upgrade metadata version
  * Change default metadata to the new format
  * Fix exclusion of non-modules from the metadata report
* Fix ansible-doc for new module metadata
* Exclude metadata version from ansible-doc output
* Fix website docs generation for the new metadata
* Update metadata schema in valiate-modules test
* Update the metadata in all modules to the new version
2017-03-14 09:07:22 -07:00
John R Barker e5b990a55a Fix invalid fields in module DOCUMENATION (#22297)
* fix module doc fields

* More module docs corrections

* More module docs corrections

* More module docs corrections

* More module docs corrections

* correct aliases

* Review comments

* Must quote ':'

* More authors

* Use suboptions:

* restore type: bool

* type should be in the same place

* More tidyups

* authors

* Use suboptions

* revert

* remove duplicate author

* More issues post rebase
2017-03-09 16:20:25 +00:00
ABond 47c0c71002 Minor grammar change in Digital_Ocean Module doc (#19674) 2016-12-25 00:24:54 +01:00
Andrea Tartaglia ef391a11ec Removed dict.iteritems() in modules. (#18859)
This is for py3 compatibility, addressed in #18506
2016-12-12 15:16:23 -08:00
Matt Clay c709b22e5c Fix differences with devel. 2016-12-08 11:35:21 -05:00
Toshio Kuratomi 7319104552 Refreshed metadata for core modules 2016-12-08 11:25:35 -05:00
Sam Doran 38c0769abb Examples syntax batch5 (#5622)
* Change example syntax on supervisorctl module

* Change example syntax or _ec2_ami_search module

* Change example syntax on cloudformation module

* Change example syntax on ec2 module

* Change example syntax on ec2_facts module

* Change example syntax on ec2_eip module

* Change example syntax on rds module

* Change example syntax on route53 module

* Change example syntax on s3 module

* Change example syntax on digital_ocean module

* Change example syntax on docker_service module

* Change example syntax on cloudformation module

* Change example syntax on gc_storage module

* Change example syntax on gce module

* Change example syntax on gce_mig module

* Change example syntax on _glance_image module

* Change example syntax on _keystone_user module

* Change example syntax on _nova_keypair module

* Change example syntax on _quantum_floating module

* Change example syntax on _quantum_floating_ip_associate module

* Change example syntax on _quantum_network module

* Change example syntax on _quantum_router module

* Change example syntax on _quantum_router_gateway module

* Change example syntax on _quantum_router_interface module

* Change example syntax on _quantum_subnet module

* SQUASH _quantum_subnet

* Add missing quotes
2016-12-08 11:25:31 -05:00
Toshio Kuratomi 0fe99f20d9 Emit an error message if six is not installed.
dopy 0.3.7 makes use of six but doesn't list it as a requirement.  This
means that people installing with pip won't get six installed, leading
to errors.  Upstream released dopy-0.3.7a to address that but pip thinks
that is an alpha release.  pip does not install alpha releases by
default so users aren't helped by that.

This change makes ansible emit a good error message in this case.

Fixes #4613
2016-12-08 11:25:19 -05:00
Toshio Kuratomi 064c381608 Fix exception hierarchy for digital ocean and some cleanups of pep8 style
Fixes #4613
2016-12-08 11:25:19 -05:00
Matt Clay 6cdcf09984 Remove duplicate keys from module docs. (#4920) 2016-12-08 11:25:11 -05:00
Harnek Sidhu 422edfcbd4 Created digital_ocean_block_storage module (#4469) 2016-12-08 11:25:10 -05:00
John R Barker 89529366bf digital_ocean_tag name is a required field
Spotted during final review of https://github.com/ansible/ansible-modules-core/pull/4218/files
Simple to change, so fixing post merge
2016-12-08 11:24:55 -05:00
Victor Volle 6a20e6649d Digitalocean tags (replaces #4209) (#4218)
* Fixes #4117: Add DigitalOcean Tag support

* Add GPLv3 license header and RETURN documentation

* ansible.module_utils.urls instead of "requests"
2016-12-08 11:24:55 -05:00
Matías Pizarro c1dae481e8 Use named parameters in new_droplet method call (#4483)
This mirrors the original method signature and guards against any
change in order parameter
2016-12-08 11:24:54 -05:00
nishiokay fc79615e38 Add ipv6 paramater to digital_ocean module (#4447) 2016-12-08 11:24:51 -05:00
Andrei Lukovenko 436ff356e7 Bug: repeatable invocation with state=present leads to (#3052)
[localhost]: FAILED! => {"changed": false, "failed": true, "msg":
"'Domain' object has no attribute 'id'"}

How to reproduce:

- name: create domain
  digital_ocean_domain: state=present name=DOMAIN_NAME ip=DROPLET_IP

- name: create domain
  digital_ocean_domain: state=present name=DOMAIN_NAME ip=DROPLET_IP

Problem: DigitalOcean API changed API
(https://developers.digitalocean.com/documentation/v2/#list-all-domain-records)
2016-12-08 11:24:44 -05:00
Andrei Lukovenko 85bd975238 Bug: invocation with state=absent always leads to (#3051)
[localhost]: FAILED! => {"changed": false, "failed": true, "msg":
"'Domain' object has no attribute 'id'"}

How to reproduce:

- name: create domain
  digital_ocean_domain: state=present name=DOMAIN_NAME ip=DROPLET_IP

- name: destroy domain
  digital_ocean_domain: state=absent name=DOMAIN_NAME

Problem: DigitalOcean API accepts domain name, not record ID
(https://developers.digitalocean.com/documentation/v2/#delete-a-domain)
2016-12-08 11:24:42 -05:00
@ c3aab8ddcf Fixing compile time error exception handling for python 3. (#3843) 2016-12-08 11:24:34 -05:00
Mike Caspar ea8097a821 Documentation updates to use complete YAML : syntax instead of key=val syntax. Adjusted example to use "" where appropriate to pass YAML Syntax checker per Contribution guidelines.
See Issue [# 2879](https://github.com/ansible/ansible-modules-core/issues/2879)
2016-12-08 11:24:05 -05:00
James Cammarata de082490db Fixing user_data version_added
Fixes #2634
2016-12-08 11:24:03 -05:00
Brian Coca b30438f2c8 updated docs to denote retirement of v1 api and clarify when and why auth fields have changed 2016-12-08 11:23:49 -05:00
Lippy Lee 2ce1f87bf8 Make digital_ocean_domain use API v2 2016-12-08 11:23:49 -05:00
Brian Coca 1c1c8d0854 doc updates - added version_added to new api_token - updated notes to explain API issues, option switch and versions affected. 2016-12-08 11:23:49 -05:00
Kamil Madac 08a2f01a5f Fixed bug, when MX records pointed to ORIGIN(@) caused unintentional change of random A record. 2016-12-08 11:23:29 -05:00
Greg DeKoenigsberg 18ca7aee07 Updating cloud modules with proper github author information 2016-12-08 11:23:07 -05:00
Toshio Kuratomi 5336217649 Several cleanups to many modules:
* Fix docs to specify when python2.6+ is required (due to a library
  dep).  This helps us know when it is okay to use python2.6+ syntax in
  the file.
* remove BabyJson returns.  See #1211  This commit fixes all but the
  openstack modules.
* Use if __name__ == '__main__' to only run the main part of the module
  if the module is run as a program.  This allows for the potential to
  unittest the code later.
2016-12-08 11:22:58 -05:00
Romain Dartigues cf86c9b29f Issue #1161 DigitalOcean API 2 ssh_key_ids problem
* fix documentation: show a valid syntax
* make ssh_key_ids a list and not a string
2016-12-08 11:22:55 -05:00
Tor Åke Fransson 459fd81435 Remove all reference to obsolete client_id and rename api_key to the for v2 more correct api_token 2016-12-08 11:22:52 -05:00
Tor Åke Fransson 02883a460b Make digital_ocean ssh command use API v2 2016-12-08 11:22:52 -05:00
Tor Åke Fransson 5faa882138 WIP: DigitalOcean API version 2 with user_data option 2016-12-08 11:22:52 -05:00
Achilleas Pipinellis 302c6f9b82 Add note about using version 1 of DigitalOcean API. 2016-12-08 11:22:45 -05:00