@taskcluster/client-web 100.4.0 → 100.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +12 -20
- package/src/Client.js +24 -62
- package/src/clients/Auth.js +36 -106
- package/src/clients/AuthEvents.js +6 -18
- package/src/clients/Github.js +12 -36
- package/src/clients/GithubEvents.js +5 -15
- package/src/clients/Hooks.js +17 -49
- package/src/clients/HooksEvents.js +3 -9
- package/src/clients/Index.js +11 -33
- package/src/clients/Notify.js +11 -33
- package/src/clients/NotifyEvents.js +1 -3
- package/src/clients/Object.js +9 -27
- package/src/clients/PurgeCache.js +7 -21
- package/src/clients/Queue.js +52 -154
- package/src/clients/QueueEvents.js +11 -33
- package/src/clients/Secrets.js +8 -24
- package/src/clients/WebServer.js +6 -18
- package/src/clients/WorkerManager.js +27 -81
- package/src/clients/WorkerManagerEvents.js +10 -30
- package/src/credentials.js +1 -2
- package/src/emitter.js +3 -5
- package/src/fetch.js +6 -18
- package/src/utils.js +3 -6
package/src/clients/Index.js
CHANGED
|
@@ -10,81 +10,68 @@ export default class Index extends Client {
|
|
|
10
10
|
exchangePrefix: '',
|
|
11
11
|
...options,
|
|
12
12
|
});
|
|
13
|
-
this.ping.entry = {"args":[],"category":"Monitoring","method":"get","name":"ping","query":[],"route":"/ping","stability":"stable","type":"function"};
|
|
14
|
-
this.lbheartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"lbheartbeat","query":[],"route":"/__lbheartbeat__","stability":"stable","type":"function"};
|
|
15
|
-
this.version.entry = {"args":[],"category":"Monitoring","method":"get","name":"version","query":[],"route":"/__version__","stability":"stable","type":"function"};
|
|
16
|
-
this.findTask.entry = {"args":["indexPath"],"category":"Index Service","method":"get","name":"findTask","output":true,"query":[],"route":"/task/<indexPath>","scopes":"index:find-task:<indexPath>","stability":"stable","type":"function"};
|
|
17
|
-
this.findTasksAtIndex.entry = {"args":[],"category":"Index Service","input":true,"method":"post","name":"findTasksAtIndex","output":true,"query":["continuationToken","limit"],"route":"/tasks/indexes","scopes":{"AllOf":[{"each":"index:find-task:<indexPath>","for":"indexPath","in":"indexPaths"}]},"stability":"experimental","type":"function"};
|
|
18
|
-
this.listNamespaces.entry = {"args":["namespace"],"category":"Index Service","method":"get","name":"listNamespaces","output":true,"query":["continuationToken","limit"],"route":"/namespaces/<namespace>","scopes":"index:list-namespaces:<namespace>","stability":"stable","type":"function"};
|
|
19
|
-
this.listTasks.entry = {"args":["namespace"],"category":"Index Service","method":"get","name":"listTasks","output":true,"query":["continuationToken","limit"],"route":"/tasks/<namespace>","scopes":"index:list-tasks:<namespace>","stability":"stable","type":"function"};
|
|
20
|
-
this.insertTask.entry = {"args":["namespace"],"category":"Index Service","input":true,"method":"put","name":"insertTask","output":true,"query":[],"route":"/task/<namespace>","scopes":"index:insert-task:<namespace>","stability":"stable","type":"function"};
|
|
21
|
-
this.deleteTask.entry = {"args":["namespace"],"category":"Index Service","method":"delete","name":"deleteTask","query":[],"route":"/task/<namespace>","scopes":"index:delete-task:<namespace>","stability":"stable","type":"function"};
|
|
22
|
-
this.findArtifactFromTask.entry = {"args":["indexPath","name"],"category":"Index Service","method":"get","name":"findArtifactFromTask","query":[],"route":"/task/<indexPath>/artifacts/<name>","scopes":"queue:get-artifact:<name>","stability":"stable","type":"function"};
|
|
23
|
-
this.heartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"heartbeat","query":[],"route":"/__heartbeat__","stability":"stable","type":"function"};
|
|
13
|
+
this.ping.entry = {"args":[],"category":"Monitoring","method":"get","name":"ping","query":[],"route":"/ping","stability":"stable","type":"function"};
|
|
14
|
+
this.lbheartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"lbheartbeat","query":[],"route":"/__lbheartbeat__","stability":"stable","type":"function"};
|
|
15
|
+
this.version.entry = {"args":[],"category":"Monitoring","method":"get","name":"version","query":[],"route":"/__version__","stability":"stable","type":"function"};
|
|
16
|
+
this.findTask.entry = {"args":["indexPath"],"category":"Index Service","method":"get","name":"findTask","output":true,"query":[],"route":"/task/<indexPath>","scopes":"index:find-task:<indexPath>","stability":"stable","type":"function"};
|
|
17
|
+
this.findTasksAtIndex.entry = {"args":[],"category":"Index Service","input":true,"method":"post","name":"findTasksAtIndex","output":true,"query":["continuationToken","limit"],"route":"/tasks/indexes","scopes":{"AllOf":[{"each":"index:find-task:<indexPath>","for":"indexPath","in":"indexPaths"}]},"stability":"experimental","type":"function"};
|
|
18
|
+
this.listNamespaces.entry = {"args":["namespace"],"category":"Index Service","method":"get","name":"listNamespaces","output":true,"query":["continuationToken","limit"],"route":"/namespaces/<namespace>","scopes":"index:list-namespaces:<namespace>","stability":"stable","type":"function"};
|
|
19
|
+
this.listTasks.entry = {"args":["namespace"],"category":"Index Service","method":"get","name":"listTasks","output":true,"query":["continuationToken","limit"],"route":"/tasks/<namespace>","scopes":"index:list-tasks:<namespace>","stability":"stable","type":"function"};
|
|
20
|
+
this.insertTask.entry = {"args":["namespace"],"category":"Index Service","input":true,"method":"put","name":"insertTask","output":true,"query":[],"route":"/task/<namespace>","scopes":"index:insert-task:<namespace>","stability":"stable","type":"function"};
|
|
21
|
+
this.deleteTask.entry = {"args":["namespace"],"category":"Index Service","method":"delete","name":"deleteTask","query":[],"route":"/task/<namespace>","scopes":"index:delete-task:<namespace>","stability":"stable","type":"function"};
|
|
22
|
+
this.findArtifactFromTask.entry = {"args":["indexPath","name"],"category":"Index Service","method":"get","name":"findArtifactFromTask","query":[],"route":"/task/<indexPath>/artifacts/<name>","scopes":"queue:get-artifact:<name>","stability":"stable","type":"function"};
|
|
23
|
+
this.heartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"heartbeat","query":[],"route":"/__heartbeat__","stability":"stable","type":"function"};
|
|
24
24
|
}
|
|
25
|
-
/* eslint-disable max-len */
|
|
26
25
|
// Respond without doing anything.
|
|
27
26
|
// This endpoint is used to check that the service is up.
|
|
28
|
-
/* eslint-enable max-len */
|
|
29
27
|
ping(...args) {
|
|
30
28
|
this.validate(this.ping.entry, args);
|
|
31
29
|
|
|
32
30
|
return this.request(this.ping.entry, args);
|
|
33
31
|
}
|
|
34
|
-
/* eslint-disable max-len */
|
|
35
32
|
// Respond without doing anything.
|
|
36
33
|
// This endpoint is used to check that the service is up.
|
|
37
|
-
/* eslint-enable max-len */
|
|
38
34
|
lbheartbeat(...args) {
|
|
39
35
|
this.validate(this.lbheartbeat.entry, args);
|
|
40
36
|
|
|
41
37
|
return this.request(this.lbheartbeat.entry, args);
|
|
42
38
|
}
|
|
43
|
-
/* eslint-disable max-len */
|
|
44
39
|
// Respond with the JSON version object.
|
|
45
40
|
// https://github.com/mozilla-services/Dockerflow/blob/main/docs/version_object.md
|
|
46
|
-
/* eslint-enable max-len */
|
|
47
41
|
version(...args) {
|
|
48
42
|
this.validate(this.version.entry, args);
|
|
49
43
|
|
|
50
44
|
return this.request(this.version.entry, args);
|
|
51
45
|
}
|
|
52
|
-
/* eslint-disable max-len */
|
|
53
46
|
// Find a task by index path, returning the highest-rank task with that path. If no
|
|
54
47
|
// task exists for the given path, this API end-point will respond with a 404 status.
|
|
55
|
-
/* eslint-enable max-len */
|
|
56
48
|
findTask(...args) {
|
|
57
49
|
this.validate(this.findTask.entry, args);
|
|
58
50
|
|
|
59
51
|
return this.request(this.findTask.entry, args);
|
|
60
52
|
}
|
|
61
|
-
/* eslint-disable max-len */
|
|
62
53
|
// List the tasks given their labels
|
|
63
54
|
// This endpoint
|
|
64
55
|
// lists up to 1000 tasks. If more tasks are present, a
|
|
65
56
|
// `continuationToken` will be returned, which can be given in the next
|
|
66
57
|
// request, along with the same input data. If the input data is different
|
|
67
58
|
// the continuationToken will have no effect.
|
|
68
|
-
/* eslint-enable max-len */
|
|
69
59
|
findTasksAtIndex(...args) {
|
|
70
60
|
this.validate(this.findTasksAtIndex.entry, args);
|
|
71
61
|
|
|
72
62
|
return this.request(this.findTasksAtIndex.entry, args);
|
|
73
63
|
}
|
|
74
|
-
/* eslint-disable max-len */
|
|
75
64
|
// List the namespaces immediately under a given namespace.
|
|
76
65
|
// This endpoint
|
|
77
66
|
// lists up to 1000 namespaces. If more namespaces are present, a
|
|
78
67
|
// `continuationToken` will be returned, which can be given in the next
|
|
79
68
|
// request. For the initial request, the payload should be an empty JSON
|
|
80
69
|
// object.
|
|
81
|
-
/* eslint-enable max-len */
|
|
82
70
|
listNamespaces(...args) {
|
|
83
71
|
this.validate(this.listNamespaces.entry, args);
|
|
84
72
|
|
|
85
73
|
return this.request(this.listNamespaces.entry, args);
|
|
86
74
|
}
|
|
87
|
-
/* eslint-disable max-len */
|
|
88
75
|
// List the tasks immediately under a given namespace.
|
|
89
76
|
// This endpoint
|
|
90
77
|
// lists up to 1000 tasks. If more tasks are present, a
|
|
@@ -93,35 +80,29 @@ export default class Index extends Client {
|
|
|
93
80
|
// object.
|
|
94
81
|
// **Remark**, this end-point is designed for humans browsing for tasks, not
|
|
95
82
|
// services, as that makes little sense.
|
|
96
|
-
/* eslint-enable max-len */
|
|
97
83
|
listTasks(...args) {
|
|
98
84
|
this.validate(this.listTasks.entry, args);
|
|
99
85
|
|
|
100
86
|
return this.request(this.listTasks.entry, args);
|
|
101
87
|
}
|
|
102
|
-
/* eslint-disable max-len */
|
|
103
88
|
// Insert a task into the index. If the new rank is less than the existing rank
|
|
104
89
|
// at the given index path, the task is not indexed but the response is still 200 OK.
|
|
105
90
|
// Please see the introduction above for information
|
|
106
91
|
// about indexing successfully completed tasks automatically using custom routes.
|
|
107
|
-
/* eslint-enable max-len */
|
|
108
92
|
insertTask(...args) {
|
|
109
93
|
this.validate(this.insertTask.entry, args);
|
|
110
94
|
|
|
111
95
|
return this.request(this.insertTask.entry, args);
|
|
112
96
|
}
|
|
113
|
-
/* eslint-disable max-len */
|
|
114
97
|
// Remove a task from the index. This is intended for administrative use,
|
|
115
98
|
// where an index entry is no longer appropriate. The parent namespace is
|
|
116
99
|
// not automatically deleted. Index entries with lower rank that were
|
|
117
100
|
// previously inserted will not re-appear, as they were never stored.
|
|
118
|
-
/* eslint-enable max-len */
|
|
119
101
|
deleteTask(...args) {
|
|
120
102
|
this.validate(this.deleteTask.entry, args);
|
|
121
103
|
|
|
122
104
|
return this.request(this.deleteTask.entry, args);
|
|
123
105
|
}
|
|
124
|
-
/* eslint-disable max-len */
|
|
125
106
|
// Find a task by index path and redirect to the artifact on the most recent
|
|
126
107
|
// run with the given `name`.
|
|
127
108
|
// Note that multiple calls to this endpoint may return artifacts from differen tasks
|
|
@@ -133,17 +114,14 @@ export default class Index extends Client {
|
|
|
133
114
|
// This problem be remedied by including the revision in the index path or by bundling both
|
|
134
115
|
// installer and debug symbols into a single artifact.
|
|
135
116
|
// If no task exists for the given index path, this API end-point responds with 404.
|
|
136
|
-
/* eslint-enable max-len */
|
|
137
117
|
findArtifactFromTask(...args) {
|
|
138
118
|
this.validate(this.findArtifactFromTask.entry, args);
|
|
139
119
|
|
|
140
120
|
return this.request(this.findArtifactFromTask.entry, args);
|
|
141
121
|
}
|
|
142
|
-
/* eslint-disable max-len */
|
|
143
122
|
// Respond with a service heartbeat.
|
|
144
123
|
// This endpoint is used to check on backing services this service
|
|
145
124
|
// depends on.
|
|
146
|
-
/* eslint-enable max-len */
|
|
147
125
|
heartbeat(...args) {
|
|
148
126
|
this.validate(this.heartbeat.entry, args);
|
|
149
127
|
|
package/src/clients/Notify.js
CHANGED
|
@@ -10,68 +10,57 @@ export default class Notify extends Client {
|
|
|
10
10
|
exchangePrefix: '',
|
|
11
11
|
...options,
|
|
12
12
|
});
|
|
13
|
-
this.ping.entry = {"args":[],"category":"Monitoring","method":"get","name":"ping","query":[],"route":"/ping","stability":"stable","type":"function"};
|
|
14
|
-
this.lbheartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"lbheartbeat","query":[],"route":"/__lbheartbeat__","stability":"stable","type":"function"};
|
|
15
|
-
this.version.entry = {"args":[],"category":"Monitoring","method":"get","name":"version","query":[],"route":"/__version__","stability":"stable","type":"function"};
|
|
16
|
-
this.email.entry = {"args":[],"category":"Notifications","input":true,"method":"post","name":"email","query":[],"route":"/email","scopes":"notify:email:<address>","stability":"experimental","type":"function"};
|
|
17
|
-
this.pulse.entry = {"args":[],"category":"Notifications","input":true,"method":"post","name":"pulse","query":[],"route":"/pulse","scopes":"notify:pulse:<routingKey>","stability":"experimental","type":"function"};
|
|
18
|
-
this.matrix.entry = {"args":[],"category":"Notifications","input":true,"method":"post","name":"matrix","query":[],"route":"/matrix","scopes":"notify:matrix-room:<roomId>","stability":"experimental","type":"function"};
|
|
19
|
-
this.slack.entry = {"args":[],"category":"Notifications","input":true,"method":"post","name":"slack","query":[],"route":"/slack","scopes":"notify:slack-channel:<channelId>","stability":"experimental","type":"function"};
|
|
20
|
-
this.addDenylistAddress.entry = {"args":[],"category":"Denylist","input":true,"method":"post","name":"addDenylistAddress","query":[],"route":"/denylist/add","scopes":"notify:manage-denylist","stability":"experimental","type":"function"};
|
|
21
|
-
this.deleteDenylistAddress.entry = {"args":[],"category":"Denylist","input":true,"method":"delete","name":"deleteDenylistAddress","query":[],"route":"/denylist/delete","scopes":"notify:manage-denylist","stability":"experimental","type":"function"};
|
|
22
|
-
this.listDenylist.entry = {"args":[],"category":"Denylist","method":"get","name":"listDenylist","output":true,"query":["continuationToken","limit"],"route":"/denylist/list","scopes":"notify:manage-denylist","stability":"experimental","type":"function"};
|
|
23
|
-
this.heartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"heartbeat","query":[],"route":"/__heartbeat__","stability":"stable","type":"function"};
|
|
13
|
+
this.ping.entry = {"args":[],"category":"Monitoring","method":"get","name":"ping","query":[],"route":"/ping","stability":"stable","type":"function"};
|
|
14
|
+
this.lbheartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"lbheartbeat","query":[],"route":"/__lbheartbeat__","stability":"stable","type":"function"};
|
|
15
|
+
this.version.entry = {"args":[],"category":"Monitoring","method":"get","name":"version","query":[],"route":"/__version__","stability":"stable","type":"function"};
|
|
16
|
+
this.email.entry = {"args":[],"category":"Notifications","input":true,"method":"post","name":"email","query":[],"route":"/email","scopes":"notify:email:<address>","stability":"experimental","type":"function"};
|
|
17
|
+
this.pulse.entry = {"args":[],"category":"Notifications","input":true,"method":"post","name":"pulse","query":[],"route":"/pulse","scopes":"notify:pulse:<routingKey>","stability":"experimental","type":"function"};
|
|
18
|
+
this.matrix.entry = {"args":[],"category":"Notifications","input":true,"method":"post","name":"matrix","query":[],"route":"/matrix","scopes":"notify:matrix-room:<roomId>","stability":"experimental","type":"function"};
|
|
19
|
+
this.slack.entry = {"args":[],"category":"Notifications","input":true,"method":"post","name":"slack","query":[],"route":"/slack","scopes":"notify:slack-channel:<channelId>","stability":"experimental","type":"function"};
|
|
20
|
+
this.addDenylistAddress.entry = {"args":[],"category":"Denylist","input":true,"method":"post","name":"addDenylistAddress","query":[],"route":"/denylist/add","scopes":"notify:manage-denylist","stability":"experimental","type":"function"};
|
|
21
|
+
this.deleteDenylistAddress.entry = {"args":[],"category":"Denylist","input":true,"method":"delete","name":"deleteDenylistAddress","query":[],"route":"/denylist/delete","scopes":"notify:manage-denylist","stability":"experimental","type":"function"};
|
|
22
|
+
this.listDenylist.entry = {"args":[],"category":"Denylist","method":"get","name":"listDenylist","output":true,"query":["continuationToken","limit"],"route":"/denylist/list","scopes":"notify:manage-denylist","stability":"experimental","type":"function"};
|
|
23
|
+
this.heartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"heartbeat","query":[],"route":"/__heartbeat__","stability":"stable","type":"function"};
|
|
24
24
|
}
|
|
25
|
-
/* eslint-disable max-len */
|
|
26
25
|
// Respond without doing anything.
|
|
27
26
|
// This endpoint is used to check that the service is up.
|
|
28
|
-
/* eslint-enable max-len */
|
|
29
27
|
ping(...args) {
|
|
30
28
|
this.validate(this.ping.entry, args);
|
|
31
29
|
|
|
32
30
|
return this.request(this.ping.entry, args);
|
|
33
31
|
}
|
|
34
|
-
/* eslint-disable max-len */
|
|
35
32
|
// Respond without doing anything.
|
|
36
33
|
// This endpoint is used to check that the service is up.
|
|
37
|
-
/* eslint-enable max-len */
|
|
38
34
|
lbheartbeat(...args) {
|
|
39
35
|
this.validate(this.lbheartbeat.entry, args);
|
|
40
36
|
|
|
41
37
|
return this.request(this.lbheartbeat.entry, args);
|
|
42
38
|
}
|
|
43
|
-
/* eslint-disable max-len */
|
|
44
39
|
// Respond with the JSON version object.
|
|
45
40
|
// https://github.com/mozilla-services/Dockerflow/blob/main/docs/version_object.md
|
|
46
|
-
/* eslint-enable max-len */
|
|
47
41
|
version(...args) {
|
|
48
42
|
this.validate(this.version.entry, args);
|
|
49
43
|
|
|
50
44
|
return this.request(this.version.entry, args);
|
|
51
45
|
}
|
|
52
|
-
/* eslint-disable max-len */
|
|
53
46
|
// Send an email to `address`. The content is markdown and will be rendered
|
|
54
47
|
// to HTML, but both the HTML and raw markdown text will be sent in the
|
|
55
48
|
// email. If a link is included, it will be rendered to a nice button in the
|
|
56
49
|
// HTML version of the email
|
|
57
50
|
// In case when duplicate message has been detected and no email was sent,
|
|
58
51
|
// this endpoint will return 204 status code.
|
|
59
|
-
/* eslint-enable max-len */
|
|
60
52
|
email(...args) {
|
|
61
53
|
this.validate(this.email.entry, args);
|
|
62
54
|
|
|
63
55
|
return this.request(this.email.entry, args);
|
|
64
56
|
}
|
|
65
|
-
/* eslint-disable max-len */
|
|
66
57
|
// Publish a message on pulse with the given `routingKey`.
|
|
67
58
|
// Endpoint will return 204 when duplicate message has been detected
|
|
68
|
-
/* eslint-enable max-len */
|
|
69
59
|
pulse(...args) {
|
|
70
60
|
this.validate(this.pulse.entry, args);
|
|
71
61
|
|
|
72
62
|
return this.request(this.pulse.entry, args);
|
|
73
63
|
}
|
|
74
|
-
/* eslint-disable max-len */
|
|
75
64
|
// Post a message to a room in Matrix. Optionally includes formatted message.
|
|
76
65
|
// The `roomId` in the scopes is a fully formed `roomId` with leading `!` such
|
|
77
66
|
// as `!foo:bar.com`.
|
|
@@ -79,43 +68,35 @@ export default class Notify extends Client {
|
|
|
79
68
|
// it can post there!
|
|
80
69
|
// In case when duplicate message has been detected and no message was sent,
|
|
81
70
|
// this endpoint will return 204 status code.
|
|
82
|
-
/* eslint-enable max-len */
|
|
83
71
|
matrix(...args) {
|
|
84
72
|
this.validate(this.matrix.entry, args);
|
|
85
73
|
|
|
86
74
|
return this.request(this.matrix.entry, args);
|
|
87
75
|
}
|
|
88
|
-
/* eslint-disable max-len */
|
|
89
76
|
// Post a message to a Slack channel.
|
|
90
77
|
// The `channelId` in the scopes is a Slack channel ID, starting with a capital C.
|
|
91
78
|
// The Slack app can post into public channels by default but will need to be added
|
|
92
79
|
// to private channels before it can post messages there.
|
|
93
80
|
// In case when duplicate message has been detected and no message was sent,
|
|
94
81
|
// this endpoint will return 204 status code.
|
|
95
|
-
/* eslint-enable max-len */
|
|
96
82
|
slack(...args) {
|
|
97
83
|
this.validate(this.slack.entry, args);
|
|
98
84
|
|
|
99
85
|
return this.request(this.slack.entry, args);
|
|
100
86
|
}
|
|
101
|
-
/* eslint-disable max-len */
|
|
102
87
|
// Add the given address to the notification denylist. Addresses in the denylist will be ignored
|
|
103
88
|
// by the notification service.
|
|
104
|
-
/* eslint-enable max-len */
|
|
105
89
|
addDenylistAddress(...args) {
|
|
106
90
|
this.validate(this.addDenylistAddress.entry, args);
|
|
107
91
|
|
|
108
92
|
return this.request(this.addDenylistAddress.entry, args);
|
|
109
93
|
}
|
|
110
|
-
/* eslint-disable max-len */
|
|
111
94
|
// Delete the specified address from the notification denylist.
|
|
112
|
-
/* eslint-enable max-len */
|
|
113
95
|
deleteDenylistAddress(...args) {
|
|
114
96
|
this.validate(this.deleteDenylistAddress.entry, args);
|
|
115
97
|
|
|
116
98
|
return this.request(this.deleteDenylistAddress.entry, args);
|
|
117
99
|
}
|
|
118
|
-
/* eslint-disable max-len */
|
|
119
100
|
// Lists all the denylisted addresses.
|
|
120
101
|
// By default this end-point will try to return up to 1000 addresses in one
|
|
121
102
|
// request. But it **may return less**, even if more tasks are available.
|
|
@@ -125,17 +106,14 @@ export default class Notify extends Client {
|
|
|
125
106
|
// get a result without a `continuationToken`.
|
|
126
107
|
// If you are not interested in listing all the members at once, you may
|
|
127
108
|
// use the query-string option `limit` to return fewer.
|
|
128
|
-
/* eslint-enable max-len */
|
|
129
109
|
listDenylist(...args) {
|
|
130
110
|
this.validate(this.listDenylist.entry, args);
|
|
131
111
|
|
|
132
112
|
return this.request(this.listDenylist.entry, args);
|
|
133
113
|
}
|
|
134
|
-
/* eslint-disable max-len */
|
|
135
114
|
// Respond with a service heartbeat.
|
|
136
115
|
// This endpoint is used to check on backing services this service
|
|
137
116
|
// depends on.
|
|
138
|
-
/* eslint-enable max-len */
|
|
139
117
|
heartbeat(...args) {
|
|
140
118
|
this.validate(this.heartbeat.entry, args);
|
|
141
119
|
|
|
@@ -11,16 +11,14 @@ export default class NotifyEvents extends Client {
|
|
|
11
11
|
...options,
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
|
-
/* eslint-disable max-len */
|
|
15
14
|
// An arbitrary message that a taskcluster user
|
|
16
15
|
// can trigger if they like.
|
|
17
16
|
// The standard one that is published by us watching
|
|
18
17
|
// for the completion of tasks is just the task status
|
|
19
18
|
// data that we pull from the queue `status()` endpoint
|
|
20
19
|
// when we notice a task is complete.
|
|
21
|
-
/* eslint-enable max-len */
|
|
22
20
|
notify(pattern) {
|
|
23
|
-
const entry = {"exchange":"notification","name":"notify","routingKey":[{"constant":"primary","multipleWords":false,"name":"routingKeyKind","required":true},{"multipleWords":true,"name":"topic","required":true}],"schema":"v1/notification-message.json#","type":"topic-exchange"};
|
|
21
|
+
const entry = {"exchange":"notification","name":"notify","routingKey":[{"constant":"primary","multipleWords":false,"name":"routingKeyKind","required":true},{"multipleWords":true,"name":"topic","required":true}],"schema":"v1/notification-message.json#","type":"topic-exchange"};
|
|
24
22
|
|
|
25
23
|
return this.normalizePattern(entry, pattern);
|
|
26
24
|
}
|
package/src/clients/Object.js
CHANGED
|
@@ -10,44 +10,37 @@ export default class Object extends Client {
|
|
|
10
10
|
exchangePrefix: '',
|
|
11
11
|
...options,
|
|
12
12
|
});
|
|
13
|
-
this.ping.entry = {"args":[],"category":"Monitoring","method":"get","name":"ping","query":[],"route":"/ping","stability":"stable","type":"function"};
|
|
14
|
-
this.lbheartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"lbheartbeat","query":[],"route":"/__lbheartbeat__","stability":"stable","type":"function"};
|
|
15
|
-
this.version.entry = {"args":[],"category":"Monitoring","method":"get","name":"version","query":[],"route":"/__version__","stability":"stable","type":"function"};
|
|
16
|
-
this.createUpload.entry = {"args":["name"],"category":"Upload","input":true,"method":"put","name":"createUpload","output":true,"query":[],"route":"/upload/<name>","scopes":"object:upload:<projectId>:<name>","stability":"stable","type":"function"};
|
|
17
|
-
this.finishUpload.entry = {"args":["name"],"category":"Upload","input":true,"method":"post","name":"finishUpload","query":[],"route":"/finish-upload/<name>","scopes":"object:upload:<projectId>:<name>","stability":"stable","type":"function"};
|
|
18
|
-
this.startDownload.entry = {"args":["name"],"category":"Download","input":true,"method":"put","name":"startDownload","output":true,"query":[],"route":"/start-download/<name>","scopes":"object:download:<name>","stability":"stable","type":"function"};
|
|
19
|
-
this.object.entry = {"args":["name"],"category":"Objects","method":"get","name":"object","output":true,"query":[],"route":"/metadata/<name>","scopes":"object:download:<name>","stability":"stable","type":"function"};
|
|
20
|
-
this.download.entry = {"args":["name"],"category":"Download","method":"get","name":"download","query":[],"route":"/download/<name>","scopes":"object:download:<name>","stability":"stable","type":"function"};
|
|
21
|
-
this.heartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"heartbeat","query":[],"route":"/__heartbeat__","stability":"stable","type":"function"};
|
|
13
|
+
this.ping.entry = {"args":[],"category":"Monitoring","method":"get","name":"ping","query":[],"route":"/ping","stability":"stable","type":"function"};
|
|
14
|
+
this.lbheartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"lbheartbeat","query":[],"route":"/__lbheartbeat__","stability":"stable","type":"function"};
|
|
15
|
+
this.version.entry = {"args":[],"category":"Monitoring","method":"get","name":"version","query":[],"route":"/__version__","stability":"stable","type":"function"};
|
|
16
|
+
this.createUpload.entry = {"args":["name"],"category":"Upload","input":true,"method":"put","name":"createUpload","output":true,"query":[],"route":"/upload/<name>","scopes":"object:upload:<projectId>:<name>","stability":"stable","type":"function"};
|
|
17
|
+
this.finishUpload.entry = {"args":["name"],"category":"Upload","input":true,"method":"post","name":"finishUpload","query":[],"route":"/finish-upload/<name>","scopes":"object:upload:<projectId>:<name>","stability":"stable","type":"function"};
|
|
18
|
+
this.startDownload.entry = {"args":["name"],"category":"Download","input":true,"method":"put","name":"startDownload","output":true,"query":[],"route":"/start-download/<name>","scopes":"object:download:<name>","stability":"stable","type":"function"};
|
|
19
|
+
this.object.entry = {"args":["name"],"category":"Objects","method":"get","name":"object","output":true,"query":[],"route":"/metadata/<name>","scopes":"object:download:<name>","stability":"stable","type":"function"};
|
|
20
|
+
this.download.entry = {"args":["name"],"category":"Download","method":"get","name":"download","query":[],"route":"/download/<name>","scopes":"object:download:<name>","stability":"stable","type":"function"};
|
|
21
|
+
this.heartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"heartbeat","query":[],"route":"/__heartbeat__","stability":"stable","type":"function"};
|
|
22
22
|
}
|
|
23
|
-
/* eslint-disable max-len */
|
|
24
23
|
// Respond without doing anything.
|
|
25
24
|
// This endpoint is used to check that the service is up.
|
|
26
|
-
/* eslint-enable max-len */
|
|
27
25
|
ping(...args) {
|
|
28
26
|
this.validate(this.ping.entry, args);
|
|
29
27
|
|
|
30
28
|
return this.request(this.ping.entry, args);
|
|
31
29
|
}
|
|
32
|
-
/* eslint-disable max-len */
|
|
33
30
|
// Respond without doing anything.
|
|
34
31
|
// This endpoint is used to check that the service is up.
|
|
35
|
-
/* eslint-enable max-len */
|
|
36
32
|
lbheartbeat(...args) {
|
|
37
33
|
this.validate(this.lbheartbeat.entry, args);
|
|
38
34
|
|
|
39
35
|
return this.request(this.lbheartbeat.entry, args);
|
|
40
36
|
}
|
|
41
|
-
/* eslint-disable max-len */
|
|
42
37
|
// Respond with the JSON version object.
|
|
43
38
|
// https://github.com/mozilla-services/Dockerflow/blob/main/docs/version_object.md
|
|
44
|
-
/* eslint-enable max-len */
|
|
45
39
|
version(...args) {
|
|
46
40
|
this.validate(this.version.entry, args);
|
|
47
41
|
|
|
48
42
|
return this.request(this.version.entry, args);
|
|
49
43
|
}
|
|
50
|
-
/* eslint-disable max-len */
|
|
51
44
|
// Create a new object by initiating upload of its data.
|
|
52
45
|
// This endpoint implements negotiation of upload methods. It can be called
|
|
53
46
|
// multiple times if necessary, either to propose new upload methods or to
|
|
@@ -63,13 +56,11 @@ export default class Object extends Client {
|
|
|
63
56
|
// in" the `expiration`, `projectId`, and `uploadId` properties and any
|
|
64
57
|
// supplied hashes.
|
|
65
58
|
// Unfinished uploads expire after 1 day.
|
|
66
|
-
/* eslint-enable max-len */
|
|
67
59
|
createUpload(...args) {
|
|
68
60
|
this.validate(this.createUpload.entry, args);
|
|
69
61
|
|
|
70
62
|
return this.request(this.createUpload.entry, args);
|
|
71
63
|
}
|
|
72
|
-
/* eslint-disable max-len */
|
|
73
64
|
// This endpoint marks an upload as complete. This indicates that all data has been
|
|
74
65
|
// transmitted to the backend. After this call, no further calls to `uploadObject` are
|
|
75
66
|
// allowed, and downloads of the object may begin. This method is idempotent, but will
|
|
@@ -79,33 +70,27 @@ export default class Object extends Client {
|
|
|
79
70
|
// download an object with no hashes. The utility methods included with the
|
|
80
71
|
// client libraries always include hashes as of version 44.0.0.
|
|
81
72
|
// Note that, once `finishUpload` is complete, the object is considered immutable.
|
|
82
|
-
/* eslint-enable max-len */
|
|
83
73
|
finishUpload(...args) {
|
|
84
74
|
this.validate(this.finishUpload.entry, args);
|
|
85
75
|
|
|
86
76
|
return this.request(this.finishUpload.entry, args);
|
|
87
77
|
}
|
|
88
|
-
/* eslint-disable max-len */
|
|
89
78
|
// Start the process of downloading an object's data. Call this endpoint with a list of acceptable
|
|
90
79
|
// download methods, and the server will select a method and return the corresponding payload.
|
|
91
80
|
// Returns a 406 error if none of the given download methods are available.
|
|
92
81
|
// See [Download Methods](https://docs.taskcluster.net/docs/reference/platform/object/download-methods) for more detail.
|
|
93
|
-
/* eslint-enable max-len */
|
|
94
82
|
startDownload(...args) {
|
|
95
83
|
this.validate(this.startDownload.entry, args);
|
|
96
84
|
|
|
97
85
|
return this.request(this.startDownload.entry, args);
|
|
98
86
|
}
|
|
99
|
-
/* eslint-disable max-len */
|
|
100
87
|
// Get the metadata for the named object. This metadata is not sufficient to
|
|
101
88
|
// get the object's content; for that use `startDownload`.
|
|
102
|
-
/* eslint-enable max-len */
|
|
103
89
|
object(...args) {
|
|
104
90
|
this.validate(this.object.entry, args);
|
|
105
91
|
|
|
106
92
|
return this.request(this.object.entry, args);
|
|
107
93
|
}
|
|
108
|
-
/* eslint-disable max-len */
|
|
109
94
|
// Get the data in an object directly. This method does not return a JSON body, but
|
|
110
95
|
// redirects to a location that will serve the object content directly.
|
|
111
96
|
// URLs for this endpoint, perhaps with attached authentication (`?bewit=..`),
|
|
@@ -116,17 +101,14 @@ export default class Object extends Client {
|
|
|
116
101
|
// Situations where such functionality is required should ues the
|
|
117
102
|
// `startDownload` API endpoint.
|
|
118
103
|
// See [Simple Downloads](https://docs.taskcluster.net/docs/reference/platform/object/simple-downloads) for more detail.
|
|
119
|
-
/* eslint-enable max-len */
|
|
120
104
|
download(...args) {
|
|
121
105
|
this.validate(this.download.entry, args);
|
|
122
106
|
|
|
123
107
|
return this.request(this.download.entry, args);
|
|
124
108
|
}
|
|
125
|
-
/* eslint-disable max-len */
|
|
126
109
|
// Respond with a service heartbeat.
|
|
127
110
|
// This endpoint is used to check on backing services this service
|
|
128
111
|
// depends on.
|
|
129
|
-
/* eslint-enable max-len */
|
|
130
112
|
heartbeat(...args) {
|
|
131
113
|
this.validate(this.heartbeat.entry, args);
|
|
132
114
|
|
|
@@ -10,80 +10,66 @@ export default class PurgeCache extends Client {
|
|
|
10
10
|
exchangePrefix: '',
|
|
11
11
|
...options,
|
|
12
12
|
});
|
|
13
|
-
this.ping.entry = {"args":[],"category":"Monitoring","method":"get","name":"ping","query":[],"route":"/ping","stability":"stable","type":"function"};
|
|
14
|
-
this.lbheartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"lbheartbeat","query":[],"route":"/__lbheartbeat__","stability":"stable","type":"function"};
|
|
15
|
-
this.version.entry = {"args":[],"category":"Monitoring","method":"get","name":"version","query":[],"route":"/__version__","stability":"stable","type":"function"};
|
|
16
|
-
this.purgeCache.entry = {"args":["workerPoolId"],"category":"Purge-Cache Service","input":true,"method":"post","name":"purgeCache","query":[],"route":"/purge-cache/<workerPoolId>","scopes":"purge-cache:<workerPoolId>:<cacheName>","stability":"stable","type":"function"};
|
|
17
|
-
this.allPurgeRequests.entry = {"args":[],"category":"Purge-Cache Service","method":"get","name":"allPurgeRequests","output":true,"query":["continuationToken","limit"],"route":"/purge-cache/list","scopes":"purge-cache:all-purge-requests","stability":"stable","type":"function"};
|
|
18
|
-
this.purgeRequests.entry = {"args":["workerPoolId"],"category":"Purge-Cache Service","method":"get","name":"purgeRequests","output":true,"query":["since"],"route":"/purge-cache/<workerPoolId>","scopes":"purge-cache:purge-requests::<workerPoolId>","stability":"stable","type":"function"};
|
|
19
|
-
this.heartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"heartbeat","query":[],"route":"/__heartbeat__","stability":"stable","type":"function"};
|
|
13
|
+
this.ping.entry = {"args":[],"category":"Monitoring","method":"get","name":"ping","query":[],"route":"/ping","stability":"stable","type":"function"};
|
|
14
|
+
this.lbheartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"lbheartbeat","query":[],"route":"/__lbheartbeat__","stability":"stable","type":"function"};
|
|
15
|
+
this.version.entry = {"args":[],"category":"Monitoring","method":"get","name":"version","query":[],"route":"/__version__","stability":"stable","type":"function"};
|
|
16
|
+
this.purgeCache.entry = {"args":["workerPoolId"],"category":"Purge-Cache Service","input":true,"method":"post","name":"purgeCache","query":[],"route":"/purge-cache/<workerPoolId>","scopes":"purge-cache:<workerPoolId>:<cacheName>","stability":"stable","type":"function"};
|
|
17
|
+
this.allPurgeRequests.entry = {"args":[],"category":"Purge-Cache Service","method":"get","name":"allPurgeRequests","output":true,"query":["continuationToken","limit"],"route":"/purge-cache/list","scopes":"purge-cache:all-purge-requests","stability":"stable","type":"function"};
|
|
18
|
+
this.purgeRequests.entry = {"args":["workerPoolId"],"category":"Purge-Cache Service","method":"get","name":"purgeRequests","output":true,"query":["since"],"route":"/purge-cache/<workerPoolId>","scopes":"purge-cache:purge-requests::<workerPoolId>","stability":"stable","type":"function"};
|
|
19
|
+
this.heartbeat.entry = {"args":[],"category":"Monitoring","method":"get","name":"heartbeat","query":[],"route":"/__heartbeat__","stability":"stable","type":"function"};
|
|
20
20
|
}
|
|
21
|
-
/* eslint-disable max-len */
|
|
22
21
|
// Respond without doing anything.
|
|
23
22
|
// This endpoint is used to check that the service is up.
|
|
24
|
-
/* eslint-enable max-len */
|
|
25
23
|
ping(...args) {
|
|
26
24
|
this.validate(this.ping.entry, args);
|
|
27
25
|
|
|
28
26
|
return this.request(this.ping.entry, args);
|
|
29
27
|
}
|
|
30
|
-
/* eslint-disable max-len */
|
|
31
28
|
// Respond without doing anything.
|
|
32
29
|
// This endpoint is used to check that the service is up.
|
|
33
|
-
/* eslint-enable max-len */
|
|
34
30
|
lbheartbeat(...args) {
|
|
35
31
|
this.validate(this.lbheartbeat.entry, args);
|
|
36
32
|
|
|
37
33
|
return this.request(this.lbheartbeat.entry, args);
|
|
38
34
|
}
|
|
39
|
-
/* eslint-disable max-len */
|
|
40
35
|
// Respond with the JSON version object.
|
|
41
36
|
// https://github.com/mozilla-services/Dockerflow/blob/main/docs/version_object.md
|
|
42
|
-
/* eslint-enable max-len */
|
|
43
37
|
version(...args) {
|
|
44
38
|
this.validate(this.version.entry, args);
|
|
45
39
|
|
|
46
40
|
return this.request(this.version.entry, args);
|
|
47
41
|
}
|
|
48
|
-
/* eslint-disable max-len */
|
|
49
42
|
// Publish a request to purge caches named `cacheName` with
|
|
50
43
|
// on `workerPoolId` workers.
|
|
51
44
|
// If such a request already exists, its `before` timestamp is updated to
|
|
52
45
|
// the current time.
|
|
53
|
-
/* eslint-enable max-len */
|
|
54
46
|
purgeCache(...args) {
|
|
55
47
|
this.validate(this.purgeCache.entry, args);
|
|
56
48
|
|
|
57
49
|
return this.request(this.purgeCache.entry, args);
|
|
58
50
|
}
|
|
59
|
-
/* eslint-disable max-len */
|
|
60
51
|
// View all active purge requests.
|
|
61
52
|
// This is useful mostly for administors to view
|
|
62
53
|
// the set of open purge requests. It should not
|
|
63
54
|
// be used by workers. They should use the purgeRequests
|
|
64
55
|
// endpoint that is specific to their workerType and
|
|
65
56
|
// provisionerId.
|
|
66
|
-
/* eslint-enable max-len */
|
|
67
57
|
allPurgeRequests(...args) {
|
|
68
58
|
this.validate(this.allPurgeRequests.entry, args);
|
|
69
59
|
|
|
70
60
|
return this.request(this.allPurgeRequests.entry, args);
|
|
71
61
|
}
|
|
72
|
-
/* eslint-disable max-len */
|
|
73
62
|
// List the caches for this `workerPoolId` that should to be
|
|
74
63
|
// purged if they are from before the time given in the response.
|
|
75
64
|
// This is intended to be used by workers to determine which caches to purge.
|
|
76
|
-
/* eslint-enable max-len */
|
|
77
65
|
purgeRequests(...args) {
|
|
78
66
|
this.validate(this.purgeRequests.entry, args);
|
|
79
67
|
|
|
80
68
|
return this.request(this.purgeRequests.entry, args);
|
|
81
69
|
}
|
|
82
|
-
/* eslint-disable max-len */
|
|
83
70
|
// Respond with a service heartbeat.
|
|
84
71
|
// This endpoint is used to check on backing services this service
|
|
85
72
|
// depends on.
|
|
86
|
-
/* eslint-enable max-len */
|
|
87
73
|
heartbeat(...args) {
|
|
88
74
|
this.validate(this.heartbeat.entry, args);
|
|
89
75
|
|