-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathregistration.d.ts
75 lines (69 loc) · 2.03 KB
/
registration.d.ts
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
interface OAuthCredentials {
clientId: string;
clientSecret: string;
}
interface ServiceUrl {
url: string;
authenticated: boolean;
}
interface ViewerMap {
[viwerId: string]: { name: string; serviceId: string };
}
export interface ProviderRegistration {
/**
* The name of your Cloud Provider
*/
name: string;
/**
* Optional description
*/
description?: string;
/**
* An optional icon which will show in the openEQUELLA cloud provider list.
*/
iconUrl?: string;
/**
* The vendor id should be a short string which is globally unique.
* For example it could be the name of your organization. It is referenced
* in a few places, most notably as part of cloud wizard control registration.
*/
vendorId: String;
/**
* A base URL which can be referenced from your service URL map.
*/
baseUrl: string;
/**
* The OAuth client credentials with which openEQUELLA can use to authenticate
* requests to your cloud provider.
*/
providerAuth: OAuthCredentials;
/**
* The service URL map.
* This map contains template strings for generating URLs to
* your cloud provider service, some of which are predefined
* services which openEQUELLA will use to query for
* extensions (such as wizard controls). You can also list URLs
* to authenticated private services which openEQUELLA can call in
* a secure manner.
*/
serviceUrls: { [serviceId: string]: ServiceUrl };
/**
* The attachment viewer map.
* Cloud providers can extend openEQUELLA with their own
* custom attachment type(s). In order to support viewing these attachments,
* you must provide an entry in this map which lists at least a default viewer
* service for your attachment.
*/
viewers: { [attachmentType: string]: ViewerMap };
}
interface ProviderRegistrationInstance extends ProviderRegistration {
id: string;
oeqAuth: OAuthCredentials;
}
interface ProviderRegistrationResponse {
instance: ProviderRegistrationInstance;
forwardUrl: string;
}
interface ProviderRefreshRequest {
id: string;
}