mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Make digital_ocean ssh command use API v2
This commit is contained in:
parent
15235a718d
commit
02883a460b
1 changed files with 79 additions and 83 deletions
|
@ -20,89 +20,88 @@ DOCUMENTATION = '''
|
|||
module: digital_ocean
|
||||
short_description: Create/delete a droplet/SSH_key in DigitalOcean
|
||||
description:
|
||||
- Create/delete a droplet in DigitalOcean and optionally wait for it to be 'running', or deploy an SSH key.
|
||||
- Create/delete a droplet in DigitalOcean and optionally wait for it to be 'running', or deploy an SSH key.
|
||||
version_added: "1.3"
|
||||
options:
|
||||
command:
|
||||
description:
|
||||
- Which target you want to operate on.
|
||||
default: droplet
|
||||
choices: ['droplet', 'ssh']
|
||||
state:
|
||||
description:
|
||||
- Indicate desired state of the target.
|
||||
default: present
|
||||
choices: ['present', 'active', 'absent', 'deleted']
|
||||
client_id:
|
||||
description:
|
||||
- DigitalOcean manager id.
|
||||
api_key:
|
||||
description:
|
||||
- DigitalOcean api key.
|
||||
id:
|
||||
description:
|
||||
- Numeric, the droplet id you want to operate on.
|
||||
name:
|
||||
description:
|
||||
- String, this is the name of the droplet - must be formatted by hostname rules, or the name of a SSH key.
|
||||
unique_name:
|
||||
description:
|
||||
- Bool, require unique hostnames. By default, DigitalOcean allows multiple hosts with the same name. Setting this to "yes" allows only one host per name. Useful for idempotence.
|
||||
version_added: "1.4"
|
||||
default: "no"
|
||||
choices: [ "yes", "no" ]
|
||||
size_id:
|
||||
description:
|
||||
- This is the slug of the size you would like the droplet created with.
|
||||
image_id:
|
||||
description:
|
||||
- This is the slug of the image you would like the droplet created with.
|
||||
region_id:
|
||||
description:
|
||||
- This is the slug of the region you would like your server to be created in.
|
||||
ssh_key_ids:
|
||||
description:
|
||||
- Optional, array of of ssh_key_ids that you would like to be added to the server.
|
||||
virtio:
|
||||
description:
|
||||
- "Bool, turn on virtio driver in droplet for improved network and storage I/O."
|
||||
version_added: "1.4"
|
||||
default: "yes"
|
||||
choices: [ "yes", "no" ]
|
||||
private_networking:
|
||||
description:
|
||||
- "Bool, add an additional, private network interface to droplet for inter-droplet communication."
|
||||
version_added: "1.4"
|
||||
default: "no"
|
||||
choices: [ "yes", "no" ]
|
||||
backups_enabled:
|
||||
description:
|
||||
- Optional, Boolean, enables backups for your droplet.
|
||||
version_added: "1.6"
|
||||
default: "no"
|
||||
choices: [ "yes", "no" ]
|
||||
user_data:
|
||||
description:
|
||||
- opaque blob of data which is made available to the droplet
|
||||
version_added: "1.10"
|
||||
required: false
|
||||
default: None
|
||||
wait:
|
||||
description:
|
||||
- Wait for the droplet to be in state 'running' before returning. If wait is "no" an ip_address may not be returned.
|
||||
default: "yes"
|
||||
choices: [ "yes", "no" ]
|
||||
wait_timeout:
|
||||
description:
|
||||
- How long before wait gives up, in seconds.
|
||||
default: 300
|
||||
ssh_pub_key:
|
||||
description:
|
||||
- The public SSH key you want to add to your account.
|
||||
command:
|
||||
description:
|
||||
- Which target you want to operate on.
|
||||
default: droplet
|
||||
choices: ['droplet', 'ssh']
|
||||
state:
|
||||
description:
|
||||
- Indicate desired state of the target.
|
||||
default: present
|
||||
choices: ['present', 'active', 'absent', 'deleted']
|
||||
client_id:
|
||||
description:
|
||||
- DigitalOcean manager id.
|
||||
api_key:
|
||||
description:
|
||||
- DigitalOcean api key.
|
||||
id:
|
||||
description:
|
||||
- Numeric, the droplet id you want to operate on.
|
||||
name:
|
||||
description:
|
||||
- String, this is the name of the droplet - must be formatted by hostname rules, or the name of a SSH key.
|
||||
unique_name:
|
||||
description:
|
||||
- Bool, require unique hostnames. By default, DigitalOcean allows multiple hosts with the same name. Setting this to "yes" allows only one host per name. Useful for idempotence.
|
||||
version_added: "1.4"
|
||||
default: "no"
|
||||
choices: [ "yes", "no" ]
|
||||
size_id:
|
||||
description:
|
||||
- This is the slug of the size you would like the droplet created with.
|
||||
image_id:
|
||||
description:
|
||||
- This is the slug of the image you would like the droplet created with.
|
||||
region_id:
|
||||
description:
|
||||
- This is the slug of the region you would like your server to be created in.
|
||||
ssh_key_ids:
|
||||
description:
|
||||
- Optional, array of of ssh_key_ids that you would like to be added to the server.
|
||||
virtio:
|
||||
description:
|
||||
- "Bool, turn on virtio driver in droplet for improved network and storage I/O."
|
||||
version_added: "1.4"
|
||||
default: "yes"
|
||||
choices: [ "yes", "no" ]
|
||||
private_networking:
|
||||
description:
|
||||
- "Bool, add an additional, private network interface to droplet for inter-droplet communication."
|
||||
version_added: "1.4"
|
||||
default: "no"
|
||||
choices: [ "yes", "no" ]
|
||||
backups_enabled:
|
||||
description:
|
||||
- Optional, Boolean, enables backups for your droplet.
|
||||
version_added: "1.6"
|
||||
default: "no"
|
||||
choices: [ "yes", "no" ]
|
||||
user_data:
|
||||
description:
|
||||
- opaque blob of data which is made available to the droplet
|
||||
version_added: "1.10"
|
||||
required: false
|
||||
default: None
|
||||
wait:
|
||||
description:
|
||||
- Wait for the droplet to be in state 'running' before returning. If wait is "no" an ip_address may not be returned.
|
||||
default: "yes"
|
||||
choices: [ "yes", "no" ]
|
||||
wait_timeout:
|
||||
description:
|
||||
- How long before wait gives up, in seconds.
|
||||
default: 300
|
||||
ssh_pub_key:
|
||||
description:
|
||||
- The public SSH key you want to add to your account.
|
||||
|
||||
notes:
|
||||
- Two environment variables can be used, DO_CLIENT_ID and DO_API_KEY.
|
||||
- Version 1 of DigitalOcean API is used.
|
||||
- Two environment variables can be used, DO_API_KEY and DO_API_TOKEN. They both refer to the v2 token.
|
||||
requirements: [ dopy ]
|
||||
'''
|
||||
|
||||
|
@ -117,7 +116,6 @@ EXAMPLES = '''
|
|||
command=ssh
|
||||
name=my_ssh_key
|
||||
ssh_pub_key='ssh-rsa AAAA...'
|
||||
client_id=XXX
|
||||
api_key=XXX
|
||||
|
||||
# Create a new Droplet
|
||||
|
@ -145,7 +143,6 @@ EXAMPLES = '''
|
|||
command=droplet
|
||||
id=123
|
||||
name=mydroplet
|
||||
client_id=XXX
|
||||
api_key=XXX
|
||||
size_id=2gb
|
||||
region_id=ams2
|
||||
|
@ -161,7 +158,6 @@ EXAMPLES = '''
|
|||
state=present
|
||||
ssh_key_ids=[id1,id2]
|
||||
name=mydroplet
|
||||
client_id=XXX
|
||||
api_key=XXX
|
||||
size_id=2gb
|
||||
region_id=ams2
|
||||
|
@ -285,7 +281,7 @@ class SSH(JsonfyMixIn):
|
|||
|
||||
@classmethod
|
||||
def setup(cls, client_id, api_key):
|
||||
cls.manager = DoManager(client_id, api_key)
|
||||
cls.manager = DoManager(client_id, api_key, api_version=2)
|
||||
|
||||
@classmethod
|
||||
def find(cls, name):
|
||||
|
|
Loading…
Reference in a new issue