summaryrefslogtreecommitdiffstats
path: root/third_party/python/taskcluster/taskcluster/generated/index.py
blob: 627d16a150601ea60230c493c60ccc3850b5f436 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
# coding=utf-8
#####################################################
# THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT #
#####################################################
# noqa: E128,E201
from ..client import BaseClient
from ..client import createApiClient
from ..client import config
from ..client import createTemporaryCredentials
from ..client import createSession
_defaultConfig = config


class Index(BaseClient):
    """
    The index service is responsible for indexing tasks. The service ensures that
    tasks can be located by user-defined names.

    As described in the service documentation, tasks are typically indexed via Pulse
    messages, so the most common use of API methods is to read from the index.

    Slashes (`/`) aren't allowed in index paths.
    """

    classOptions = {
    }
    serviceName = 'index'
    apiVersion = 'v1'

    def ping(self, *args, **kwargs):
        """
        Ping Server

        Respond without doing anything.
        This endpoint is used to check that the service is up.

        This method is ``stable``
        """

        return self._makeApiCall(self.funcinfo["ping"], *args, **kwargs)

    def findTask(self, *args, **kwargs):
        """
        Find Indexed Task

        Find a task by index path, returning the highest-rank task with that path. If no
        task exists for the given path, this API end-point will respond with a 404 status.

        This method is ``stable``
        """

        return self._makeApiCall(self.funcinfo["findTask"], *args, **kwargs)

    def listNamespaces(self, *args, **kwargs):
        """
        List Namespaces

        List the namespaces immediately under a given namespace.

        This endpoint
        lists up to 1000 namespaces. If more namespaces are present, a
        `continuationToken` will be returned, which can be given in the next
        request. For the initial request, the payload should be an empty JSON
        object.

        This method is ``stable``
        """

        return self._makeApiCall(self.funcinfo["listNamespaces"], *args, **kwargs)

    def listTasks(self, *args, **kwargs):
        """
        List Tasks

        List the tasks immediately under a given namespace.

        This endpoint
        lists up to 1000 tasks. If more tasks are present, a
        `continuationToken` will be returned, which can be given in the next
        request. For the initial request, the payload should be an empty JSON
        object.

        **Remark**, this end-point is designed for humans browsing for tasks, not
        services, as that makes little sense.

        This method is ``stable``
        """

        return self._makeApiCall(self.funcinfo["listTasks"], *args, **kwargs)

    def insertTask(self, *args, **kwargs):
        """
        Insert Task into Index

        Insert a task into the index.  If the new rank is less than the existing rank
        at the given index path, the task is not indexed but the response is still 200 OK.

        Please see the introduction above for information
        about indexing successfully completed tasks automatically using custom routes.

        This method is ``stable``
        """

        return self._makeApiCall(self.funcinfo["insertTask"], *args, **kwargs)

    def deleteTask(self, *args, **kwargs):
        """
        Remove Task from Index

        Remove a task from the index.  This is intended for administrative use,
        where an index entry is no longer appropriate.  The parent namespace is
        not automatically deleted.  Index entries with lower rank that were
        previously inserted will not re-appear, as they were never stored.

        This method is ``stable``
        """

        return self._makeApiCall(self.funcinfo["deleteTask"], *args, **kwargs)

    def findArtifactFromTask(self, *args, **kwargs):
        """
        Get Artifact From Indexed Task

        Find a task by index path and redirect to the artifact on the most recent
        run with the given `name`.

        Note that multiple calls to this endpoint may return artifacts from differen tasks
        if a new task is inserted into the index between calls. Avoid using this method as
        a stable link to multiple, connected files if the index path does not contain a
        unique identifier.  For example, the following two links may return unrelated files:
        * https://tc.example.com/api/index/v1/task/some-app.win64.latest.installer/artifacts/public/installer.exe`
        * https://tc.example.com/api/index/v1/task/some-app.win64.latest.installer/artifacts/public/debug-symbols.zip`

        This problem be remedied by including the revision in the index path or by bundling both
        installer and debug symbols into a single artifact.

        If no task exists for the given index path, this API end-point responds with 404.

        This method is ``stable``
        """

        return self._makeApiCall(self.funcinfo["findArtifactFromTask"], *args, **kwargs)

    funcinfo = {
        "deleteTask": {
            'args': ['namespace'],
            'method': 'delete',
            'name': 'deleteTask',
            'route': '/task/<namespace>',
            'stability': 'stable',
        },
        "findArtifactFromTask": {
            'args': ['indexPath', 'name'],
            'method': 'get',
            'name': 'findArtifactFromTask',
            'route': '/task/<indexPath>/artifacts/<name>',
            'stability': 'stable',
        },
        "findTask": {
            'args': ['indexPath'],
            'method': 'get',
            'name': 'findTask',
            'output': 'v1/indexed-task-response.json#',
            'route': '/task/<indexPath>',
            'stability': 'stable',
        },
        "insertTask": {
            'args': ['namespace'],
            'input': 'v1/insert-task-request.json#',
            'method': 'put',
            'name': 'insertTask',
            'output': 'v1/indexed-task-response.json#',
            'route': '/task/<namespace>',
            'stability': 'stable',
        },
        "listNamespaces": {
            'args': ['namespace'],
            'method': 'get',
            'name': 'listNamespaces',
            'output': 'v1/list-namespaces-response.json#',
            'query': ['continuationToken', 'limit'],
            'route': '/namespaces/<namespace>',
            'stability': 'stable',
        },
        "listTasks": {
            'args': ['namespace'],
            'method': 'get',
            'name': 'listTasks',
            'output': 'v1/list-tasks-response.json#',
            'query': ['continuationToken', 'limit'],
            'route': '/tasks/<namespace>',
            'stability': 'stable',
        },
        "ping": {
            'args': [],
            'method': 'get',
            'name': 'ping',
            'route': '/ping',
            'stability': 'stable',
        },
    }


__all__ = ['createTemporaryCredentials', 'config', '_defaultConfig', 'createApiClient', 'createSession', 'Index']