-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
/
bwdc.ts
215 lines (208 loc) · 5.35 KB
/
bwdc.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
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
205
206
207
208
209
210
211
212
213
214
215
const bwLogo32x32 = "https://bitwarden.com/images/icon_32x32.png";
const completionSpec: Fig.Spec = {
name: "bwdc",
description: "Bitwarden Directory Connector",
subcommands: [
{
name: "login",
icon: bwLogo32x32,
description: "Log in to Directory Connector",
args: [
{
name: "client_id",
description: "Organisation API client_id",
isOptional: true,
},
{
name: "client_secret",
description: "Organisation API client_secret",
isOptional: true,
},
],
options: [
{
name: "--help",
},
],
},
{
name: "logout",
icon: bwLogo32x32,
description: "Log out of Directory Connector",
options: [
{
name: "--help",
},
],
},
{
name: "test",
icon: bwLogo32x32,
description:
"Prints a JSON formatted array of groups and users that would be synced to your Bitwarden organization",
options: [
{
name: "--last",
description: "Test only the changes since the last successful sync",
},
{
name: "--help",
},
],
},
{
name: "sync",
icon: bwLogo32x32,
description:
"Run a live sync operation and push data to your Bitwarden organization",
options: [
{
name: "--help",
},
],
},
{
name: "last-sync",
icon: bwLogo32x32,
description:
"The last-sync command returns an ISO 8601 timestamp for the last sync operation that was performed for users or groups. You must specify either users or groups as an <object> to run the command against- Returns an empty response if no sync has been performed for the given object",
args: {
name: "Object",
description:
"You must specify either users or groups as an <object> to run the command against",
},
options: [
{
name: "--help",
},
],
},
{
name: "config",
icon: bwLogo32x32,
description:
"The config command allows you to specify your directory settings",
args: [
{
name: "setting",
description: "Specify the setting to configure",
},
{
name: "value",
description: "Specify the value assigned to the setting",
},
],
subcommands: [
{
name: "server",
description:
"URL of your self-hosted installation (e.g. https://my.url.com) or https://vault.bitwarden.eu",
args: {
name: "server-url",
description: "Specify the server URL",
},
},
{
name: "directory",
description: "Type of directory to use",
args: {
name: "directory-type",
description: `Active Directory/LDAP : 0
Azure Active Directory : 1
Google Workspace/GSuite : 2
Okta : 3
OneLogin : 4`,
suggestions: [
{ name: "0", description: "Active Directory/LDAP" },
{ name: "1", description: "Azure Active Directory" },
{ name: "2", description: "Google Workspace/GSuite" },
{ name: "3", description: "Okta" },
{ name: "4", description: "OneLogin" },
],
},
},
{
name: "ldap.password",
description: "Password for connection to the LDAP server",
args: {
name: "password",
description: "Specify the password",
},
},
{
name: "azure.key",
description: "Azure AD secret key",
args: {
name: "key",
description: "Specify the AD secret key",
},
},
{
name: "gsuite.key",
description: "Google Workspace/GSuite private key",
args: {
name: "key",
description: "Specify the Google Workspace/GSuite private key",
},
},
{
name: "okta.token",
description: "Okta token",
args: {
name: "token",
description: "Specify the Okta token",
},
},
{
name: "onelogin.secret",
description: "OneLogin client secret",
args: {
name: "secret",
description: "Specify the OneLogin client secret",
},
},
],
options: [
{
name: "--help",
},
],
},
{
name: "data-file",
icon: bwLogo32x32,
description: "Path to data.json database file",
options: [
{
name: "--help",
},
],
},
{
name: "clear-cache",
icon: bwLogo32x32,
description:
"The clear-cache command allows you to clear cached data that the application stores while performing sync operations",
options: [
{
name: "--help",
},
],
},
{
name: "update",
icon: bwLogo32x32,
description:
"The update command allows you to check if your Directory Connector CLI is up-to-date",
},
],
options: [
{
name: "--help",
description: "Show help for bwdc",
},
],
// Only uncomment if bwdc takes an argument
// args: {}
};
export default completionSpec;