1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Fix gitlab_project container_expiration_policy for project create (#8790)

* Fix gitlab_project container_expiration_policy for project create

* Check for container_expiration_policy presence before renaming it

* Add missing links to changelog fragment

* Fix changelog grammar
This commit is contained in:
Veikko Virrankoski 2024-08-25 18:01:05 +03:00 committed by GitHub
parent 4598758419
commit 573a7b97c6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 2 deletions

View file

@ -0,0 +1,3 @@
bugfixes:
- gitlab_project - fix crash caused by old Gitlab projects not having a ``container_expiration_policy`` attribute (https://github.com/ansible-collections/community.general/pull/8790).
- gitlab_project - fix ``container_expiration_policy`` not being applied when creating a new project (https://github.com/ansible-collections/community.general/pull/8790).

View file

@ -521,6 +521,8 @@ class GitLabProject(object):
return True
arguments['namespace_id'] = namespace.id
if 'container_expiration_policy' in arguments:
arguments['container_expiration_policy_attributes'] = arguments['container_expiration_policy']
try:
project = self._gitlab.projects.create(arguments)
except (gitlab.exceptions.GitlabCreateError) as e:
@ -548,9 +550,9 @@ class GitLabProject(object):
for arg_key, arg_value in arguments.items():
if arguments[arg_key] is not None:
if getattr(project, arg_key) != arguments[arg_key]:
if getattr(project, arg_key, None) != arguments[arg_key]:
if arg_key == 'container_expiration_policy':
old_val = getattr(project, arg_key)
old_val = getattr(project, arg_key, {})
final_val = {key: value for key, value in arg_value.items() if value is not None}
if final_val.get('older_than') == '0d':