mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-23 10:51:24 -07:00
New module: heroku_collaborator (#39001)
This commit is contained in:
parent
97070c9688
commit
26ea64cdea
3 changed files with 165 additions and 0 deletions
38
lib/ansible/module_utils/heroku.py
Normal file
38
lib/ansible/module_utils/heroku.py
Normal file
|
@ -0,0 +1,38 @@
|
|||
# Copyright: (c) 2018, Ansible Project
|
||||
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
from ansible.module_utils.basic import env_fallback
|
||||
|
||||
HAS_HEROKU = False
|
||||
try:
|
||||
import heroku3
|
||||
HAS_HEROKU = True
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
|
||||
class HerokuHelper():
|
||||
def __init__(self, module):
|
||||
self.module = module
|
||||
self.check_lib()
|
||||
self.api_key = module.params["api_key"]
|
||||
|
||||
def check_lib(self):
|
||||
if not HAS_HEROKU:
|
||||
self.module.fail_json(msg='heroku3 library required for this module (pip install heroku3)')
|
||||
|
||||
@staticmethod
|
||||
def heroku_argument_spec():
|
||||
return dict(
|
||||
api_key=dict(fallback=(env_fallback, ['HEROKU_API_KEY', 'TF_VAR_HEROKU_API_KEY']), type='str', no_log=True))
|
||||
|
||||
def get_heroku_client(self):
|
||||
client = heroku3.from_key(self.api_key)
|
||||
|
||||
if not client.is_authenticated:
|
||||
self.module.fail_json(msg='Heroku authentication failure, please check your API Key')
|
||||
|
||||
return client
|
Loading…
Add table
Add a link
Reference in a new issue