Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitebd053e

Browse files
author
alex lundberg
committed
feat: add project and group clusters
1 parentc937338 commitebd053e

File tree

3 files changed

+133
-0
lines changed

3 files changed

+133
-0
lines changed

‎docs/api-objects.rst‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ API examples
99
gl_objects/emojis
1010
gl_objects/badges
1111
gl_objects/branches
12+
gl_objects/clusters
1213
gl_objects/messages
1314
gl_objects/commits
1415
gl_objects/deploy_keys

‎gitlab/v4/objects.py‎

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,6 +743,51 @@ class GroupBoardManager(CRUDMixin, RESTManager):
743743
_create_attrs= (("name",),tuple())
744744

745745

746+
classGroupCluster(SaveMixin,ObjectDeleteMixin,RESTObject):
747+
pass
748+
749+
750+
classGroupClusterManager(CRUDMixin,RESTManager):
751+
_path="/groups/%(group_id)s/clusters"
752+
_obj_cls=GroupCluster
753+
_from_parent_attrs= {"group_id":"id"}
754+
_create_attrs= (
755+
("name","platform_kubernetes_attributes",),
756+
("domain","enabled","managed","environment_scope",),
757+
)
758+
_update_attrs= (
759+
tuple(),
760+
(
761+
"name",
762+
"domain",
763+
"management_project_id",
764+
"platform_kubernetes_attributes",
765+
"environment_scope",
766+
),
767+
)
768+
769+
@exc.on_http_error(exc.GitlabStopError)
770+
defcreate(self,data,**kwargs):
771+
"""Create a new object.
772+
773+
Args:
774+
data (dict): Parameters to send to the server to create the
775+
resource
776+
**kwargs: Extra options to send to the server (e.g. sudo or
777+
'ref_name', 'stage', 'name', 'all')
778+
779+
Raises:
780+
GitlabAuthenticationError: If authentication is not correct
781+
GitlabCreateError: If the server cannot perform the request
782+
783+
Returns:
784+
RESTObject: A new instance of the manage object class build with
785+
the data sent by the server
786+
"""
787+
path="%s/user"% (self.path)
788+
returnCreateMixin.create(self,data,path=path,**kwargs)
789+
790+
746791
classGroupCustomAttribute(ObjectDeleteMixin,RESTObject):
747792
_id_attr="key"
748793

@@ -1150,6 +1195,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
11501195
("projects","GroupProjectManager"),
11511196
("subgroups","GroupSubgroupManager"),
11521197
("variables","GroupVariableManager"),
1198+
("clusters","GroupClusterManager"),
11531199
)
11541200

11551201
@cli.register_custom_action("Group", ("to_project_id",))
@@ -1599,6 +1645,51 @@ class ProjectBranchManager(NoUpdateMixin, RESTManager):
15991645
_create_attrs= (("branch","ref"),tuple())
16001646

16011647

1648+
classProjectCluster(SaveMixin,ObjectDeleteMixin,RESTObject):
1649+
pass
1650+
1651+
1652+
classProjectClusterManager(CRUDMixin,RESTManager):
1653+
_path="/projects/%(project_id)s/clusters"
1654+
_obj_cls=ProjectCluster
1655+
_from_parent_attrs= {"project_id":"id"}
1656+
_create_attrs= (
1657+
("name","platform_kubernetes_attributes",),
1658+
("domain","enabled","managed","environment_scope",),
1659+
)
1660+
_update_attrs= (
1661+
tuple(),
1662+
(
1663+
"name",
1664+
"domain",
1665+
"management_project_id",
1666+
"platform_kubernetes_attributes",
1667+
"environment_scope",
1668+
),
1669+
)
1670+
1671+
@exc.on_http_error(exc.GitlabStopError)
1672+
defcreate(self,data,**kwargs):
1673+
"""Create a new object.
1674+
1675+
Args:
1676+
data (dict): Parameters to send to the server to create the
1677+
resource
1678+
**kwargs: Extra options to send to the server (e.g. sudo or
1679+
'ref_name', 'stage', 'name', 'all')
1680+
1681+
Raises:
1682+
GitlabAuthenticationError: If authentication is not correct
1683+
GitlabCreateError: If the server cannot perform the request
1684+
1685+
Returns:
1686+
RESTObject: A new instance of the manage object class build with
1687+
the data sent by the server
1688+
"""
1689+
path="%s/user"% (self.path)
1690+
returnCreateMixin.create(self,data,path=path,**kwargs)
1691+
1692+
16021693
classProjectCustomAttribute(ObjectDeleteMixin,RESTObject):
16031694
_id_attr="key"
16041695

@@ -3943,6 +4034,7 @@ class Project(SaveMixin, ObjectDeleteMixin, RESTObject):
39434034
("triggers","ProjectTriggerManager"),
39444035
("variables","ProjectVariableManager"),
39454036
("wikis","ProjectWikiManager"),
4037+
("clusters","ProjectClusterManager"),
39464038
)
39474039

39484040
@cli.register_custom_action("Project", ("submodule","branch","commit_sha"))

‎tools/python_test_v4.py‎

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -503,6 +503,46 @@
503503
env.delete()
504504
assertlen(admin_project.environments.list())==0
505505

506+
# Project clusters
507+
admin_project.clusters.create(
508+
{
509+
"name":"cluster1",
510+
"platform_kubernetes_attributes": {
511+
"api_url":"http://url",
512+
"token":"tokenval",
513+
},
514+
}
515+
)
516+
clusters=admin_project.clusters.list()
517+
assertlen(clusters)==1
518+
cluster=clusters[0]
519+
cluster.platform_kubernetes_attributes= {"api_url":"http://newurl"}
520+
cluster.save()
521+
cluster=admin_project.clusters.list()[0]
522+
assertcluster.platform_kubernetes["api_url"]=="http://newurl"
523+
cluster.delete()
524+
assertlen(admin_project.clusters.list())==0
525+
526+
# Group clusters
527+
group1.clusters.create(
528+
{
529+
"name":"cluster1",
530+
"platform_kubernetes_attributes": {
531+
"api_url":"http://url",
532+
"token":"tokenval",
533+
},
534+
}
535+
)
536+
clusters=group1.clusters.list()
537+
assertlen(clusters)==1
538+
cluster=clusters[0]
539+
cluster.platform_kubernetes_attributes= {"api_url":"http://newurl"}
540+
cluster.save()
541+
cluster=group1.clusters.list()[0]
542+
assertcluster.platform_kubernetes["api_url"]=="http://newurl"
543+
cluster.delete()
544+
assertlen(group1.clusters.list())==0
545+
506546
# project events
507547
admin_project.events.list()
508548

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp