Commit 0b600fd2 authored by Jürgen Haas's avatar Jürgen Haas

Manage devop issues in host specific inventories not in company specific ones

parent 8a0adde5
......@@ -23,10 +23,18 @@ class GitLabProject(object):
self._module = module
self._gitlab = git
def exists(self, group_name, project_name):
def exists(self, group_name, project_name, host_name):
if not self.findNamespace(group_name):
return False
if host_name:
projects = self._gitlab.projects.list(search=host_name)
if len(projects) == 1:
project = projects[0]
self.pid = project.id
self.project = project
return True
project = self._gitlab.projects.get('%s/%s' % (self.namespace, project_name))
if project:
namespace = project.namespace
......@@ -127,6 +135,7 @@ def main():
login_token=dict(required=False, no_log=True),
group=dict(required=False),
name=dict(required=True),
hostname=dict(required=False),
title=dict(required=True),
append_timestamp=dict(required=False, default=False, type='bool'),
description=dict(required=False),
......@@ -150,6 +159,7 @@ def main():
login_token = module.params['login_token']
group_name = module.params['group']
project_name = module.params['name']
host_name = module.params['hostname']
title = module.params['title']
append_timestamp = module.params['append_timestamp']
description = module.params['description']
......@@ -173,6 +183,8 @@ def main():
project_name = project_name.lower()
if group_name is not None:
group_name = group_name.lower()
if host_name is not None:
host_name = host_name.lower()
# Lets make an connection to the Gitlab server_url, with either login_user and login_password
# or with login_token
......@@ -188,7 +200,7 @@ def main():
# Validate if project exists and get its ID
metaProject = GitLabProject(module, git) # type: GitLabProject
project_exists = metaProject.exists(group_name, project_name)
project_exists = metaProject.exists(group_name, project_name, host_name)
if not project_exists:
module.fail_json(msg="Gitlab project does not exist")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment