diff options
author | Nejc Habjan <nejc.habjan@siemens.com> | 2020-08-29 17:44:08 +0200 |
---|---|---|
committer | Nejc Habjan <nejc.habjan@siemens.com> | 2020-08-31 23:48:54 +0200 |
commit | 4492fc42c9f6e0031dd3f3c6c99e4c58d4f472ff (patch) | |
tree | a04dad6678dd3c9b2e14397f9b58335340d14439 /gitlab/v4/objects/variables.py | |
parent | da8af6f6be6886dca4f96390632cf3b91891954e (diff) | |
download | gitlab-4492fc42c9f6e0031dd3f3c6c99e4c58d4f472ff.tar.gz |
feat(api): add support for instance variables
Diffstat (limited to 'gitlab/v4/objects/variables.py')
-rw-r--r-- | gitlab/v4/objects/variables.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gitlab/v4/objects/variables.py b/gitlab/v4/objects/variables.py new file mode 100644 index 0000000..c8de80f --- /dev/null +++ b/gitlab/v4/objects/variables.py @@ -0,0 +1,49 @@ +""" +GitLab API: +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 * # noqa +from gitlab.mixins import * # noqa + + +class Variable(SaveMixin, ObjectDeleteMixin, RESTObject): + _id_attr = "key" + + +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")) + + +class GroupVariable(SaveMixin, ObjectDeleteMixin, RESTObject): + _id_attr = "key" + + +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")) + + +class ProjectVariable(SaveMixin, ObjectDeleteMixin, RESTObject): + _id_attr = "key" + + +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"), + ) + _update_attrs = ( + ("key", "value"), + ("protected", "variable_type", "masked", "environment_scope"), + ) |