mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-22 10:21:25 -07:00
feat(gandi_livedns): support personal access tokens (#8337)
* fix(gandi_livedns): fix unsafe conditionals in tests * feat(gandi_livedns): support personal access tokens Fixes #7639
This commit is contained in:
parent
bb73f28bf5
commit
a409f8fc2f
5 changed files with 69 additions and 27 deletions
|
@ -25,11 +25,19 @@ attributes:
|
|||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
personal_access_token:
|
||||
description:
|
||||
- Scoped API token.
|
||||
- One of O(personal_access_token) and O(api_key) must be specified.
|
||||
type: str
|
||||
version_added: 9.0.0
|
||||
api_key:
|
||||
description:
|
||||
- Account API token.
|
||||
- Note that these type of keys are deprecated and might stop working at some point.
|
||||
Use personal access tokens instead.
|
||||
- One of O(personal_access_token) and O(api_key) must be specified.
|
||||
type: str
|
||||
required: true
|
||||
record:
|
||||
description:
|
||||
- Record to add.
|
||||
|
@ -73,7 +81,7 @@ EXAMPLES = r'''
|
|||
values:
|
||||
- 127.0.0.1
|
||||
ttl: 7200
|
||||
api_key: dummyapitoken
|
||||
personal_access_token: dummytoken
|
||||
register: record
|
||||
|
||||
- name: Create a mail CNAME record to www.my.com domain
|
||||
|
@ -84,7 +92,7 @@ EXAMPLES = r'''
|
|||
values:
|
||||
- www
|
||||
ttl: 7200
|
||||
api_key: dummyapitoken
|
||||
personal_access_token: dummytoken
|
||||
state: present
|
||||
|
||||
- name: Change its TTL
|
||||
|
@ -95,7 +103,7 @@ EXAMPLES = r'''
|
|||
values:
|
||||
- www
|
||||
ttl: 10800
|
||||
api_key: dummyapitoken
|
||||
personal_access_token: dummytoken
|
||||
state: present
|
||||
|
||||
- name: Delete the record
|
||||
|
@ -103,8 +111,18 @@ EXAMPLES = r'''
|
|||
domain: my.com
|
||||
type: CNAME
|
||||
record: mail
|
||||
api_key: dummyapitoken
|
||||
personal_access_token: dummytoken
|
||||
state: absent
|
||||
|
||||
- name: Use a (deprecated) API Key
|
||||
community.general.gandi_livedns:
|
||||
domain: my.com
|
||||
record: test
|
||||
type: A
|
||||
values:
|
||||
- 127.0.0.1
|
||||
ttl: 7200
|
||||
api_key: dummyapikey
|
||||
'''
|
||||
|
||||
RETURN = r'''
|
||||
|
@ -151,7 +169,8 @@ from ansible_collections.community.general.plugins.module_utils.gandi_livedns_ap
|
|||
def main():
|
||||
module = AnsibleModule(
|
||||
argument_spec=dict(
|
||||
api_key=dict(type='str', required=True, no_log=True),
|
||||
api_key=dict(type='str', no_log=True),
|
||||
personal_access_token=dict(type='str', no_log=True),
|
||||
record=dict(type='str', required=True),
|
||||
state=dict(type='str', default='present', choices=['absent', 'present']),
|
||||
ttl=dict(type='int'),
|
||||
|
@ -163,6 +182,12 @@ def main():
|
|||
required_if=[
|
||||
('state', 'present', ['values', 'ttl']),
|
||||
],
|
||||
mutually_exclusive=[
|
||||
('api_key', 'personal_access_token'),
|
||||
],
|
||||
required_one_of=[
|
||||
('api_key', 'personal_access_token'),
|
||||
],
|
||||
)
|
||||
|
||||
gandi_api = GandiLiveDNSAPI(module)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue