summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects/variables.py
diff options
context:
space:
mode:
authorJohn L. Villalovos <john@sodarock.com>2021-03-07 11:31:23 -0800
committerNejc Habjan <hab.nejc@gmail.com>2021-04-17 17:09:41 +0200
commitaee1f496c1f414c1e30909767d53ae624fe875e7 (patch)
tree04a7fe9d8f77cffeae733bb8dd3447911995f3a1 /gitlab/v4/objects/variables.py
parent8603248f73d8c751023fbfd2a394c5b7d939af7f (diff)
downloadgitlab-aee1f496c1f414c1e30909767d53ae624fe875e7.tar.gz
chore: have _create_attrs & _update_attrs be a namedtuple
Convert _create_attrs and _update_attrs to use a NamedTuple (RequiredOptional) to help with code readability. Update all code to use the NamedTuple.
Diffstat (limited to 'gitlab/v4/objects/variables.py')
-rw-r--r--gitlab/v4/objects/variables.py30
1 files changed, 19 insertions, 11 deletions
diff --git a/gitlab/v4/objects/variables.py b/gitlab/v4/objects/variables.py
index 025e3be..54ee149 100644
--- a/gitlab/v4/objects/variables.py
+++ b/gitlab/v4/objects/variables.py
@@ -4,7 +4,7 @@ https://docs.gitlab.com/ee/api/instance_level_ci_variables.html
https://docs.gitlab.com/ee/api/project_level_variables.html
https://docs.gitlab.com/ee/api/group_level_variables.html
"""
-from gitlab.base import RESTManager, RESTObject
+from gitlab.base import RequiredOptional, RESTManager, RESTObject
from gitlab.mixins import CRUDMixin, ObjectDeleteMixin, SaveMixin
@@ -25,8 +25,12 @@ class Variable(SaveMixin, ObjectDeleteMixin, RESTObject):
class VariableManager(CRUDMixin, RESTManager):
_path = "/admin/ci/variables"
_obj_cls = Variable
- _create_attrs = (("key", "value"), ("protected", "variable_type", "masked"))
- _update_attrs = (("key", "value"), ("protected", "variable_type", "masked"))
+ _create_attrs = RequiredOptional(
+ required=("key", "value"), optional=("protected", "variable_type", "masked")
+ )
+ _update_attrs = RequiredOptional(
+ required=("key", "value"), optional=("protected", "variable_type", "masked")
+ )
class GroupVariable(SaveMixin, ObjectDeleteMixin, RESTObject):
@@ -37,8 +41,12 @@ class GroupVariableManager(CRUDMixin, RESTManager):
_path = "/groups/%(group_id)s/variables"
_obj_cls = GroupVariable
_from_parent_attrs = {"group_id": "id"}
- _create_attrs = (("key", "value"), ("protected", "variable_type", "masked"))
- _update_attrs = (("key", "value"), ("protected", "variable_type", "masked"))
+ _create_attrs = RequiredOptional(
+ required=("key", "value"), optional=("protected", "variable_type", "masked")
+ )
+ _update_attrs = RequiredOptional(
+ required=("key", "value"), optional=("protected", "variable_type", "masked")
+ )
class ProjectVariable(SaveMixin, ObjectDeleteMixin, RESTObject):
@@ -49,11 +57,11 @@ class ProjectVariableManager(CRUDMixin, RESTManager):
_path = "/projects/%(project_id)s/variables"
_obj_cls = ProjectVariable
_from_parent_attrs = {"project_id": "id"}
- _create_attrs = (
- ("key", "value"),
- ("protected", "variable_type", "masked", "environment_scope"),
+ _create_attrs = RequiredOptional(
+ required=("key", "value"),
+ optional=("protected", "variable_type", "masked", "environment_scope"),
)
- _update_attrs = (
- ("key", "value"),
- ("protected", "variable_type", "masked", "environment_scope"),
+ _update_attrs = RequiredOptional(
+ required=("key", "value"),
+ optional=("protected", "variable_type", "masked", "environment_scope"),
)