From 61086eed3adcbdce0584fc89094542b99fc856f5 Mon Sep 17 00:00:00 2001
From: Francesco Lombardo <francesco.lombardo@garr.it>
Date: Fri, 29 Apr 2022 10:42:41 +0200
Subject: [PATCH] Add 'parent_id' to project module

This allows you to specify the 'parent_id' of the project being created

Signed-off-by: Francesco Lombardo <francesco.lombardo@garr.it>
Change-Id: I9fc91a9fa52c19a8d635c5faaa06a99934100229
---
 plugins/modules/project.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/plugins/modules/project.py b/plugins/modules/project.py
index 53a0b2d..46652c5 100644
--- a/plugins/modules/project.py
+++ b/plugins/modules/project.py
@@ -31,6 +31,11 @@ options:
          domains.
     aliases: ['domain_id']
     type: str
+  parent_id:
+    description:
+       - Name or ID of the parent project
+    aliases: ['parent']
+    type: str
   is_enabled:
     description:
       - Is the project enabled
@@ -65,6 +70,7 @@ EXAMPLES = '''
     name: demoproject
     description: demodescription
     domain: demoid
+    parent_id: demoproject_parent_id
     is_enabled: True
     properties:
       internal_alias: demo_project
@@ -126,6 +132,7 @@ class IdentityProjectModule(OpenStackModule):
         name=dict(required=True),
         description=dict(),
         domain=dict(aliases=['domain_id']),
+        parent_id=dict(required=False, aliases=['parent']),
         is_enabled=dict(default=True, type='bool', aliases=['enabled']),
         properties=dict(type='dict', min_ver='0.45.1'),
         state=dict(default='present', choices=['absent', 'present'])
@@ -171,6 +178,7 @@ class IdentityProjectModule(OpenStackModule):
         properties = self.params['properties']
         enabled = self.params['is_enabled']
         description = self.params['description']
+        parent_id = self.params['parent_id']
 
         find_project_kwargs = {}
         domain_id = None
@@ -188,6 +196,7 @@ class IdentityProjectModule(OpenStackModule):
             'description': description,
             'is_enabled': enabled,
             'domain_id': domain_id,
+            'parent_id': parent_id
         }
         project_attrs = {k: v for k, v in project_attrs.items()
                          if v is not None}
-- 
GitLab