mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-06-10 18:55:53 +00:00
ansible-test with ansible-2.14 is adding a lot of new tests to ensure that the documentation section and the agument spec is complete. Needed changes: DOCUMENTATION section - `suboptions` needs to be removed without arguments - `author` needs to be given with the github user also: `Name (@user)`
169 lines
5.1 KiB
Python
169 lines
5.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
# Authors:
|
|
# Thomas Woerner <twoerner@redhat.com>
|
|
#
|
|
# Copyright (C) 2022 Red Hat
|
|
# see file 'COPYING' for use and warranty information
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
from __future__ import (absolute_import, division, print_function)
|
|
|
|
__metaclass__ = type
|
|
|
|
ANSIBLE_METADATA = {
|
|
'metadata_version': '1.0',
|
|
'supported_by': 'community',
|
|
'status': ['preview'],
|
|
}
|
|
|
|
DOCUMENTATION = '''
|
|
---
|
|
module: ipasmartcard_server_get_vars
|
|
short_description:
|
|
Get variables from ipaplatform and ipaserver and python interpreter.
|
|
description:
|
|
Get variables from ipaplatform and ipaserver and python interpreter.
|
|
author:
|
|
- Thomas Woerner (@t-woerner)
|
|
'''
|
|
|
|
EXAMPLES = '''
|
|
- name: Get VARS from IPA
|
|
ipasmartcard_server_get_vars:
|
|
register: ipasmartcard_server_vars
|
|
'''
|
|
|
|
RETURN = '''
|
|
NSS_OCSP_ENABLED:
|
|
description:
|
|
Empty string for newer systems using ssl.conf and not nss.conf for
|
|
HTTP instance where OCSP_ENABLED and OCSP_DIRECTIVE are defined in
|
|
ipaserver.install.httpinstance, else NSS_OCSP_ENABLED imported from
|
|
ipaserver.install.httpinstance.
|
|
returned: always
|
|
type: str
|
|
NSS_OCSP_DIRECTIVE:
|
|
description:
|
|
Empty string for newer systems using ssl.conf and not nss.conf for
|
|
HTTP instance where OCSP_ENABLED and OCSP_DIRECTIVE are defined in
|
|
ipaserver.install.httpinstance, else NSSOCSP.
|
|
returned: always
|
|
type: str
|
|
NSS_NICKNAME_DIRECTIVE:
|
|
description:
|
|
Empty string for newer systems using ssl.conf and not nss.conf for
|
|
HTTP instance where OCSP_ENABLED and OCSP_DIRECTIVE are defined in
|
|
ipaserver.install.httpinstance, else NSSNickname
|
|
returned: always
|
|
type: str
|
|
OCSP_ENABLED:
|
|
description:
|
|
OCSP_ENABLED imported from ipaserver.install.httpinstance, if import
|
|
succeeds, else ""
|
|
returned: always
|
|
type: str
|
|
OCSP_DIRECTIVE:
|
|
description:
|
|
OCSP_DIRECTIVE imported from ipaserver.install.httpinstance, if import
|
|
succeeds, else ""
|
|
returned: always
|
|
type: str
|
|
HTTPD_SSL_CONF:
|
|
description: paths.HTTPD_SSL_CONF from ipaplatform
|
|
returned: always
|
|
type: str
|
|
HTTPD_NSS_CONF:
|
|
description: paths.HTTPD_NSS_CONF from ipaplatform
|
|
returned: always
|
|
type: str
|
|
HTTPD_ALIAS_DIR:
|
|
description: paths.HTTPD_ALIAS_DIR from ipaplatform
|
|
returned: always
|
|
type: str
|
|
allow_httpd_ifp:
|
|
description:
|
|
True if sssd_enable_ifp can be imported from ipaclient.install.client,
|
|
else false.
|
|
returned: always
|
|
type: bool
|
|
NSS_DB_DIR:
|
|
description: paths.NSS_DB_DIR from ipaplatform
|
|
returned: always
|
|
type: str
|
|
USE_AUTHSELECT:
|
|
description: True if "AUTHSELECT" is defined in paths
|
|
returned: always
|
|
type: bool
|
|
python_interpreter:
|
|
description: Python interpreter from sys.executable
|
|
returned: always
|
|
type: str
|
|
'''
|
|
|
|
import sys
|
|
from ansible.module_utils.basic import AnsibleModule
|
|
try:
|
|
from ipaplatform.paths import paths
|
|
try:
|
|
from ipaserver.install.httpinstance import OCSP_ENABLED, OCSP_DIRECTIVE
|
|
NSS_OCSP_ENABLED = ""
|
|
NSS_OCSP_DIRECTIVE = ""
|
|
NSS_NICKNAME_DIRECTIVE = ""
|
|
except ImportError:
|
|
from ipaserver.install.httpinstance import NSS_OCSP_ENABLED
|
|
NSS_OCSP_DIRECTIVE = "NSSOCSP"
|
|
NSS_NICKNAME_DIRECTIVE = "NSSNickname"
|
|
OCSP_ENABLED = ""
|
|
OCSP_DIRECTIVE = ""
|
|
try:
|
|
from ipaclient.install.client import sssd_enable_ifp
|
|
except ImportError:
|
|
sssd_enable_ifp = None
|
|
except ImportError as _err:
|
|
MODULE_IMPORT_ERROR = str(_err)
|
|
paths = None
|
|
sssd_enable_ifp = None
|
|
else:
|
|
MODULE_IMPORT_ERROR = None
|
|
|
|
|
|
def main():
|
|
ansible_module = AnsibleModule(
|
|
argument_spec={},
|
|
supports_check_mode=False,
|
|
)
|
|
|
|
if MODULE_IMPORT_ERROR is not None:
|
|
ansible_module.fail_json(msg=MODULE_IMPORT_ERROR)
|
|
|
|
ansible_module.exit_json(changed=False,
|
|
NSS_OCSP_ENABLED=NSS_OCSP_ENABLED,
|
|
NSS_OCSP_DIRECTIVE=NSS_OCSP_DIRECTIVE,
|
|
NSS_NICKNAME_DIRECTIVE=NSS_NICKNAME_DIRECTIVE,
|
|
OCSP_ENABLED=OCSP_ENABLED,
|
|
OCSP_DIRECTIVE=OCSP_DIRECTIVE,
|
|
HTTPD_SSL_CONF=paths.HTTPD_SSL_CONF,
|
|
HTTPD_NSS_CONF=paths.HTTPD_NSS_CONF,
|
|
HTTPD_ALIAS_DIR=paths.HTTPD_ALIAS_DIR,
|
|
allow_httpd_ifp=sssd_enable_ifp is not None,
|
|
NSS_DB_DIR=paths.NSS_DB_DIR,
|
|
USE_AUTHSELECT=hasattr(paths, "AUTHSELECT"),
|
|
python_interpreter=sys.executable)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|