diff --git a/utils/new_module b/utils/new_module index ece1b4d7b99ee42db556472b7222c8fca2d8f64b..2b681966acf258280a66b4d9de2f8fba11138d17 100755 --- a/utils/new_module +++ b/utils/new_module @@ -26,7 +26,7 @@ topdir="$(dirname "$0")" function usage() { cat <<EOF -Usage: $prog [options] <module name> <author name> <author email address> +Usage: $prog [options] <module name> <author name> <author email address> <github_user> Create new ansible-freeipa module using templates. @@ -71,12 +71,14 @@ fi name=$1 author=$2 email=$3 +github_user=$4 year=$(date +"%Y") -if [ -z "$name" ] || [ -z "$author" ] || [ -z "$email" ]; then +if [ -z "$name" ] || [ -z "$author" ] || [ -z "$email" ] || [ -z "$github_user" ]; then [ -z "$name" ] && echo "ERROR: name is not valid" [ -z "$author" ] && echo "ERROR: author is not valid" [ -z "$email" ] && echo "ERROR: email is not valid" + [ -z "$githubuser" ] && echo "ERROR: github_user is not valid" echo usage; exit 1; @@ -143,6 +145,7 @@ function template() { -e "s/\${name^}/${name^}/g" \ -e "s/\$author/$author/g" \ -e "s/\$email/$email/" \ + -e "s/\$github/$github_user/" \ -e "s/\$year/$year/" \ "$topdir/templates/$s" > "$d" } diff --git a/utils/templates/README-module+member.md.in b/utils/templates/README-module+member.md.in index 4ed0d1d1edb9be83d736d46b5ef67a44f6eba472..6fda8f943894ab8b8ebf6c3af7a1b537c7e0e8b3 100644 --- a/utils/templates/README-module+member.md.in +++ b/utils/templates/README-module+member.md.in @@ -119,8 +119,8 @@ Variable | Description | Required `ipaapi_context` | The context in which the module will execute. Executing in a server context is preferred. If not provided context will be determined by the execution environment. Valid values are `server` and `client`. | no `ipaapi_ldap_cache` | Use LDAP cache for IPA connection. The bool setting defaults to yes. (bool) | no `name` \| `ALIAS` | The list of $name name strings. | yes -`PARAMETER1` \| `API_PARAMETER_NAME` | DESCRIPTION | BOOL -`PARAMETER2` \| `API_PARAMETER_NAME` | DESCRIPTION | BOOL +`PARAMETER1` \| `API_PARAMETER_NAME` | DESCRIPTION | TYPE +`PARAMETER2` \| `API_PARAMETER_NAME` | DESCRIPTION | TYPE `action` | Work on $name or member level. It can be on of `member` or `$name` and defaults to `$name`. | no `state` | The state to ensure. It can be one of `present`, `absent`, default: `present`. | no diff --git a/utils/templates/README-module.md.in b/utils/templates/README-module.md.in index 44f291e31a2ec3975a6c2ebb1cc609676377bc14..08faf50534078545ae571b741c13a2c3ec424820 100644 --- a/utils/templates/README-module.md.in +++ b/utils/templates/README-module.md.in @@ -84,8 +84,8 @@ Variable | Description | Required `ipaapi_context` | The context in which the module will execute. Executing in a server context is preferred. If not provided context will be determined by the execution environment. Valid values are `server` and `client`. | no `ipaapi_ldap_cache` | Use LDAP cache for IPA connection. The bool setting defaults to yes. (bool) | no `name` \| `ALIAS` | The list of $name name strings. | yes -`PARAMETER1` \| `API_PARAMETER_NAME` | DESCRIPTION | BOOL -`PARAMETER2` \| `API_PARAMETER_NAME` | DESCRIPTION | BOOL +`PARAMETER1` \| `API_PARAMETER_NAME` | DESCRIPTION | TYPE +`PARAMETER2` \| `API_PARAMETER_NAME` | DESCRIPTION | TYPE `state` | The state to ensure. It can be one of `present`, `absent`, default: `present`. | no diff --git a/utils/templates/ipamodule+member.py.in b/utils/templates/ipamodule+member.py.in index d3e2153ebb6c86884164c8f63e76417f397475ab..5ce5cf1b34beb3d0b2a9d5dae05d57eb7e8edf0f 100644 --- a/utils/templates/ipamodule+member.py.in +++ b/utils/templates/ipamodule+member.py.in @@ -41,25 +41,35 @@ options: name: description: The list of $name name strings. required: true + type: list + elements: str aliases: ["API_PARAMETER_NAME"] PARAMETER1: description: DESCRIPTION - required: REQUIRED + required: false + default: None + type: TYPE aliases: ["API_PARAMETER_NAME"] PARAMETER2: description: member DESCRIPTION - required: REQUIRED + required: false + type: list + elements: str + default: None + type: TYPE aliases: ["API_PARAMETER_NAME"] action: description: Work on $name or member level. choices: ["$name", "member"] default: $name - required: false + type: str state: description: The state to ensure. choices: ["present", "absent"] default: present - required: true + type: str +author: + - $author (@$github) """ EXAMPLES = """ @@ -139,17 +149,18 @@ def main(): ansible_module = IPAAnsibleModule( argument_spec=dict( # general - name=dict(type="list", aliases=["API_PARAMETER_NAME"], - default=None, required=True), + name=dict(type="list", elements="str", required=True + aliases=["API_PARAMETER_NAME"]), # present - PARAMETER1=dict(required=False, type='str', - aliases=["API_PARAMETER_NAME"], default=None), - PARAMETER2=dict(required=False, type='list', - aliases=["API_PARAMETER_NAME"], default=None), - action=dict(type="str", default="$name", + PARAMETER1=dict(required=False, type="str", + default=None, aliases=["API_PARAMETER_NAME"]), + PARAMETER2=dict(required=False, type='list', elements='str', + default=None, aliases=["API_PARAMETER_NAME"]), + # action + action=dict(type="str", default="$name", type="str", choices=["member", "$name"]), # state - state=dict(type="str", default="present", + state=dict(type="str", default="present", type="str", choices=["present", "absent"]), ), supports_check_mode=True, diff --git a/utils/templates/ipamodule.py.in b/utils/templates/ipamodule.py.in index 0e13fa5d5cc0e716cada0ac8c85f98a8e5494531..833d5a88a55bd286ff41dee76884c8b3c377e514 100644 --- a/utils/templates/ipamodule.py.in +++ b/utils/templates/ipamodule.py.in @@ -41,20 +41,27 @@ options: name: description: The list of $name name strings. required: true + type: list + elements: str aliases: ["API_PARAMETER_NAME"] PARAMETER1: description: DESCRIPTION required: REQUIRED + type: str aliases: ["API_PARAMETER_NAME"] PARAMETER2: description: DESCRIPTION required: REQUIRED + type: list + elements: str aliases: ["API_PARAMETER_NAME"] state: description: The state to ensure. choices: ["present", "absent"] default: present - required: true + type: str +author: + - $author (@$github) """ EXAMPLES = """ @@ -113,15 +120,15 @@ def main(): ansible_module = IPAAnsibleModule( argument_spec=dict( # general - name=dict(type="list", aliases=["API_PARAMETER_NAME"], - default=None, required=True), + name=dict(type="list", elements="str", required=True, + aliases=["API_PARAMETER_NAME"], # present PARAMETER1=dict(required=False, type='str', aliases=["API_PARAMETER_NAME"], default=None), - PARAMETER2=dict(required=False, type='list', + PARAMETER2=dict(required=False, type='list', elements='str', aliases=["API_PARAMETER_NAME"], default=None), # state - state=dict(type="str", default="present", + state=dict(type="str", default="present", type="str", choices=["present", "absent"]), ), supports_check_mode=True,