| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -22,6 +22,7 @@ API examples | |||
| 22 | 22 | gl_objects/mrs | |
| 23 | 23 | gl_objects/namespaces | |
| 24 | 24 | gl_objects/milestones | |
| 25 | + gl_objects/pagesdomains | ||
| 25 | 26 | gl_objects/projects | |
| 26 | 27 | gl_objects/runners | |
| 27 | 28 | gl_objects/settings | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,65 @@ | |||
| 1 | + ############# | ||
| 2 | + Pages domains | ||
| 3 | + ############# | ||
| 4 | + | ||
| 5 | + Admin | ||
| 6 | + ===== | ||
| 7 | + | ||
| 8 | + References | ||
| 9 | + ---------- | ||
| 10 | + | ||
| 11 | + * v4 API: | ||
| 12 | + | ||
| 13 | + + :class:`gitlab.v4.objects.PagesDomain` | ||
| 14 | + + :class:`gitlab.v4.objects.PagesDomainManager` | ||
| 15 | + + :attr:`gitlab.Gitlab.pagesdomains` | ||
| 16 | + | ||
| 17 | + * GitLab API: https://docs.gitlab.com/ce/api/pages_domains.html#list-all-pages-domains | ||
| 18 | + | ||
| 19 | + Examples | ||
| 20 | + -------- | ||
| 21 | + | ||
| 22 | + List all the existing domains (admin only):: | ||
| 23 | + | ||
| 24 | + domains = gl.pagesdomains.list() | ||
| 25 | + | ||
| 26 | + Project pages domain | ||
| 27 | + ==================== | ||
| 28 | + | ||
| 29 | + References | ||
| 30 | + ---------- | ||
| 31 | + | ||
| 32 | + * v4 API: | ||
| 33 | + | ||
| 34 | + + :class:`gitlab.v4.objects.ProjectPagesDomain` | ||
| 35 | + + :class:`gitlab.v4.objects.ProjectPagesDomainManager` | ||
| 36 | + + :attr:`gitlab.v4.objects.Project.pagesdomains` | ||
| 37 | + | ||
| 38 | + * GitLab API: https://docs.gitlab.com/ce/api/pages_domains.html#list-pages-domains | ||
| 39 | + | ||
| 40 | + Examples | ||
| 41 | + -------- | ||
| 42 | + | ||
| 43 | + List domains for a project:: | ||
| 44 | + | ||
| 45 | + domains = project.pagesdomains.list() | ||
| 46 | + | ||
| 47 | + Get a single domain:: | ||
| 48 | + | ||
| 49 | + domain = project.pagesdomains.get('d1.example.com') | ||
| 50 | + | ||
| 51 | + Create a new domain:: | ||
| 52 | + | ||
| 53 | + domain = project.pagesdomains.create({'domain': 'd2.example.com}) | ||
| 54 | + | ||
| 55 | + Update an existing domain:: | ||
| 56 | + | ||
| 57 | + domain.certificate = open('d2.crt').read() | ||
| 58 | + domain.key = open('d2.key').read() | ||
| 59 | + domain.save() | ||
| 60 | + | ||
| 61 | + Delete an existing domain:: | ||
| 62 | + | ||
| 63 | + domain.delete | ||
| 64 | + # or | ||
| 65 | + project.pagesdomains.delete('d2.example.com') | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -125,6 +125,7 @@ def __init__(self, url, private_token=None, oauth_token=None, email=None, | |||
| 125 | 125 | self.teams = objects.TeamManager(self) | |
| 126 | 126 | else: | |
| 127 | 127 | self.dockerfiles = objects.DockerfileManager(self) | |
| 128 | + self.pagesdomains = objects.PagesDomainManager(self) | ||
| 128 | 129 | self.user_activities = objects.UserActivitiesManager(self) | |
| 129 | 130 | ||
| 130 | 131 | if self._api_version == '3': | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -723,6 +723,15 @@ class NamespaceManager(GetFromListMixin, RESTManager): | |||
| 723 | 723 | _list_filters = ('search', ) | |
| 724 | 724 | ||
| 725 | 725 | ||
| 726 | + class PagesDomain(RESTObject): | ||
| 727 | + _id_attr = 'domain' | ||
| 728 | + | ||
| 729 | + | ||
| 730 | + class PagesDomainManager(ListMixin, RESTManager): | ||
| 731 | + _path = '/pages/domains' | ||
| 732 | + _obj_cls = PagesDomain | ||
| 733 | + | ||
| 734 | + | ||
| 726 | 735 | class ProjectBoardList(SaveMixin, ObjectDeleteMixin, RESTObject): | |
| 727 | 736 | pass | |
| 728 | 737 | ||
@@ -1249,6 +1258,18 @@ class ProjectNotificationSettingsManager(NotificationSettingsManager): | |||
| 1249 | 1258 | _from_parent_attrs = {'project_id': 'id'} | |
| 1250 | 1259 | ||
| 1251 | 1260 | ||
| 1261 | + class ProjectPagesDomain(SaveMixin, ObjectDeleteMixin, RESTObject): | ||
| 1262 | + _id_attr = 'domain' | ||
| 1263 | + | ||
| 1264 | + | ||
| 1265 | + class ProjectPagesDomainManager(CRUDMixin, RESTManager): | ||
| 1266 | + _path = '/projects/%(project_id)s/pages/domains' | ||
| 1267 | + _obj_cls = ProjectPagesDomain | ||
| 1268 | + _from_parent_attrs = {'project_id': 'id'} | ||
| 1269 | + _create_attrs = (('domain', ), ('certificate', 'key')) | ||
| 1270 | + _update_attrs = (tuple(), ('certificate', 'key')) | ||
| 1271 | + | ||
| 1272 | + | ||
| 1252 | 1273 | class ProjectTag(ObjectDeleteMixin, RESTObject): | |
| 1253 | 1274 | _id_attr = 'name' | |
| 1254 | 1275 | _short_print_attr = 'name' | |
@@ -2161,6 +2182,7 @@ class Project(SaveMixin, ObjectDeleteMixin, RESTObject): | |||
| 2161 | 2182 | ('milestones', 'ProjectMilestoneManager'), | |
| 2162 | 2183 | ('notes', 'ProjectNoteManager'), | |
| 2163 | 2184 | ('notificationsettings', 'ProjectNotificationSettingsManager'), | |
| 2185 | + ('pagesdomains', 'ProjectPagesDomainManager'), | ||
| 2164 | 2186 | ('pipelines', 'ProjectPipelineManager'), | |
| 2165 | 2187 | ('protectedbranches', 'ProjectProtectedBranchManager'), | |
| 2166 | 2188 | ('runners', 'ProjectRunnerManager'), | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -285,6 +285,15 @@ | |||
| 285 | 285 | assert(len(l2) == 1) | |
| 286 | 286 | assert(l1[0].id != l2[0].id) | |
| 287 | 287 | ||
| 288 | + # project pages domains | ||
| 289 | + domain = admin_project.pagesdomains.create({'domain': 'foo.domain.com'}) | ||
| 290 | + assert(len(admin_project.pagesdomains.list()) == 1) | ||
| 291 | + assert(len(gl.pagesdomains.list()) == 1) | ||
| 292 | + domain = admin_project.pagesdomains.get('foo.domain.com') | ||
| 293 | + assert(domain.domain == 'foo.domain.com') | ||
| 294 | + domain.delete() | ||
| 295 | + assert(len(admin_project.pagesdomains.list()) == 0) | ||
| 296 | + | ||
| 288 | 297 | # project content (files) | |
| 289 | 298 | admin_project.files.create({'file_path': 'README', | |
| 290 | 299 | 'branch': 'master', | |
| Back | FazBrowse Home | New Git URL |
0 commit comments