opal-security 2.1.2 → 2.3.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/README.md +233 -157
- package/bin/dev +6 -0
- package/bin/dev.cmd +3 -0
- package/bin/run +4 -4
- package/lib/commands/aws/identity.d.ts +2 -2
- package/lib/commands/aws/identity.js +5 -5
- package/lib/commands/curl-example.d.ts +2 -2
- package/lib/commands/curl-example.js +7 -6
- package/lib/commands/iam-roles/start.d.ts +6 -6
- package/lib/commands/iam-roles/start.js +19 -16
- package/lib/commands/kube-roles/start.d.ts +6 -6
- package/lib/commands/kube-roles/start.js +16 -13
- package/lib/commands/login.d.ts +4 -4
- package/lib/commands/login.js +28 -27
- package/lib/commands/logout.d.ts +3 -3
- package/lib/commands/logout.js +5 -5
- package/lib/commands/migrate-creds.d.ts +8 -0
- package/lib/commands/migrate-creds.js +48 -0
- package/lib/commands/postgres-instances/start.d.ts +7 -7
- package/lib/commands/postgres-instances/start.js +17 -14
- package/lib/commands/resources/get.d.ts +3 -3
- package/lib/commands/resources/get.js +8 -8
- package/lib/commands/set-custom-header.d.ts +4 -4
- package/lib/commands/set-custom-header.js +9 -9
- package/lib/commands/set-token.d.ts +3 -3
- package/lib/commands/set-token.js +10 -17
- package/lib/commands/set-url.d.ts +10 -12
- package/lib/commands/set-url.js +19 -20
- package/lib/commands/ssh/copyFrom.d.ts +7 -7
- package/lib/commands/ssh/copyFrom.js +16 -13
- package/lib/commands/ssh/copyTo.d.ts +7 -7
- package/lib/commands/ssh/copyTo.js +16 -13
- package/lib/commands/ssh/start.d.ts +5 -5
- package/lib/commands/ssh/start.js +19 -16
- package/lib/handler.d.ts +6 -5
- package/lib/handler.js +8 -6
- package/lib/index.d.ts +1 -1
- package/lib/index.js +3 -2
- package/lib/lib/apollo.d.ts +1 -1
- package/lib/lib/apollo.js +26 -19
- package/lib/lib/aws.js +10 -11
- package/lib/lib/cmd.d.ts +5 -4
- package/lib/lib/cmd.js +10 -5
- package/lib/lib/config.js +8 -5
- package/lib/lib/credentials/index.d.ts +11 -0
- package/lib/lib/credentials/index.js +52 -0
- package/lib/lib/credentials/keychain.d.ts +3 -0
- package/lib/lib/credentials/keychain.js +41 -0
- package/lib/lib/credentials/localEncryption.d.ts +3 -0
- package/lib/lib/credentials/localEncryption.js +75 -0
- package/lib/lib/flags.d.ts +5 -6
- package/lib/lib/flags.js +6 -6
- package/lib/lib/resources.d.ts +4 -4
- package/lib/lib/resources.js +14 -11
- package/lib/lib/sessions.d.ts +2 -2
- package/lib/lib/sessions.js +13 -11
- package/lib/lib/ssh.d.ts +1 -1
- package/lib/lib/ssh.js +6 -4
- package/lib/lib/util.js +8 -5
- package/lib/types.d.ts +1204 -1204
- package/lib/types.js +49 -49
- package/oclif.manifest.json +756 -1
- package/package.json +29 -24
- package/lib/lib/credentials.d.ts +0 -9
- package/lib/lib/credentials.js +0 -76
package/oclif.manifest.json
CHANGED
|
@@ -1 +1,756 @@
|
|
|
1
|
-
{"version":"2.1.2","commands":{"curl-example":{"id":"curl-example","description":"Prints out an example cURL command containing the parameters the CLI uses to query the Opal server.","pluginName":"opal-security","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"login":{"id":"login","description":"Authenticates you with the Opal server.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["$ opal login"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"email":{"name":"email","type":"option","description":"Email address to login with."}},"args":[]},"logout":{"id":"logout","description":"Clears locally stored Opal server authentication credentials.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["$ opal logout"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"set-custom-header":{"id":"set-custom-header","description":"Sets a custom HTTP header to connect to the Opal server.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["$ opal set-custom-header --header 'cf-access-token: $TOKEN'"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"header":{"name":"header","type":"option"}},"args":[]},"set-token":{"id":"set-token","description":"Sets an API token to authenticate with the Opal server - alternative auth flow for headless environments.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["$ opal set-token"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"set-url":{"id":"set-url","description":"Sets the url of the Opal server. Defaults to https://app.opal.dev.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["$ opal set-url"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"allowSelfSignedCerts":{"name":"allowSelfSignedCerts","type":"boolean","allowNo":false},"custom":{"name":"custom","type":"option","hidden":true},"prod":{"name":"prod","type":"boolean","hidden":true,"allowNo":false},"demo":{"name":"demo","type":"boolean","hidden":true,"allowNo":false},"dev":{"name":"dev","type":"boolean","hidden":true,"allowNo":false},"devLocal":{"name":"devLocal","type":"boolean","hidden":true,"allowNo":false}},"args":[{"name":"url","description":"URL of the Opal server to use. If unspecified, defaults to https://app.opal.dev","required":false}]},"aws:identity":{"id":"aws:identity","description":"Gets the current caller identity for the \"opal\" AWS profile.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["opal aws:identity"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"iam-roles:start":{"id":"iam-roles:start","description":"Starts a session to assume an IAM role.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["opal iam-roles:start","opal iam-roles:start --id 51f7176b-0464-4a6f-8369-e951e187b398","opal iam-roles:start --id 51f7176b-0464-4a6f-8369-e951e187b398 --profileName \"custom-profile\""],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"id":{"name":"id","type":"option","char":"i","description":"The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]"},"sessionId":{"name":"sessionId","type":"option","char":"s","description":"The Opal ID of the session to connect to. Uses an existing session that was created via the web flow."},"refresh":{"name":"refresh","type":"boolean","char":"r","description":"Starts a new session even if one already exists. Useful if a session is about to expire.","allowNo":false},"profileName":{"name":"profileName","type":"option","description":"Uses a custom AWS profile name for the IAM role. Default value is the role's name."}},"args":[]},"kube-roles:start":{"id":"kube-roles:start","description":"Starts a session to assume a Kubernetes cluster IAM role.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["opal kube-roles:start","opal kube-roles:start --id 51f7176b-0464-4a6f-8369-e951e187b398","opal kube-roles:start --id 51f7176b-0464-4a6f-8369-e951e187b398 --accessLevelRemoteId \"arn:aws:iam::712234975475:role/acme-eks-cluster-admin-role\""],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"id":{"name":"id","type":"option","char":"i","description":"The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]"},"accessLevelRemoteId":{"name":"accessLevelRemoteId","type":"option","char":"a","description":"The remote ID of the access level with which to access the resource."},"sessionId":{"name":"sessionId","type":"option","char":"s","description":"The Opal ID of the session to connect to. Uses an existing session that was created via the web flow."},"refresh":{"name":"refresh","type":"boolean","char":"r","description":"Starts a new session even if one already exists. Useful if a session is about to expire.","allowNo":false}},"args":[]},"postgres-instances:start":{"id":"postgres-instances:start","description":"Starts a session to connect to a Postgres database.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["opal postgres-instances:start","opal postgres-instances:start --id 51f7176b-0464-4a6f-8369-e951e187b398","opal postgres-instances:start --id 51f7176b-0464-4a6f-8369-e951e187b398 --accessLevelRemoteId fullaccess","opal postgres-instances:start --id 51f7176b-0464-4a6f-8369-e951e187b398 --accessLevelRemoteId fullaccess --action view"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"id":{"name":"id","type":"option","char":"i","description":"The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]"},"accessLevelRemoteId":{"name":"accessLevelRemoteId","type":"option","char":"a","description":"The remote ID of the access level with which to access the resource."},"sessionId":{"name":"sessionId","type":"option","char":"s","description":"The Opal ID of the session to connect to. Uses an existing session that was created via the web flow."},"refresh":{"name":"refresh","type":"boolean","char":"r","description":"Starts a new session even if one already exists. Useful if a session is about to expire.","allowNo":false},"action":{"name":"action","type":"option","description":"Method of connecting to the database.\n- open: Open external database app\n- psql: Start psql session in shell\n- view: View connection configuration details","options":["open","psql","view"]}},"args":[]},"resources:get":{"id":"resources:get","description":"Get resource info for a particular resource.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["opal resources:get --id 54052a3e-5375-4392-aeaf-0c6c44c131d4"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"id":{"name":"id","type":"option","char":"i","description":"The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]"}},"args":[]},"ssh:copyFrom":{"id":"ssh:copyFrom","description":"Use SCP to copy files from a compute instance.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["opal ssh:copyFrom --src instance/dir --dest my/dir","opal ssh:copyFrom --src instance/dir --dest my/dir --id 51f7176b-0464-4a6f-8369-e951e187b398"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"src":{"name":"src","type":"option","description":"The directory or file you would like to copy over SCP. Note we only support one file or directory at a time.","required":true},"dest":{"name":"dest","type":"option","description":"The directory you want your files to be copied to.","required":false,"default":"."},"user":{"name":"user","type":"option","description":"The user you want to run SCP over. Keep in mind not all users will have access to each other's home directory.","required":false,"default":"ssm-user"},"id":{"name":"id","type":"option","char":"i","description":"The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]"},"sessionId":{"name":"sessionId","type":"option","char":"s","description":"The Opal ID of the session to connect to. Uses an existing session that was created via the web flow."}},"args":[]},"ssh:copyTo":{"id":"ssh:copyTo","description":"Use SCP to copy files to a compute instance.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["opal ssh:copyTo --src my/dir --dest instance/dir","opal ssh:copyTo --src my/dir --dest instance/dir --id 51f7176b-0464-4a6f-8369-e951e187b398"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"src":{"name":"src","type":"option","description":"The directory or file you would like to copy over SCP. Note we only support one file or directory at a time.","required":true},"dest":{"name":"dest","type":"option","description":"The directory you want your files to be copied to.","required":false,"default":"."},"user":{"name":"user","type":"option","description":"The user you want to run SCP over. Keep in mind not all users will have access to each other's home directory.","required":false,"default":"ssm-user"},"id":{"name":"id","type":"option","char":"i","description":"The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]"},"sessionId":{"name":"sessionId","type":"option","char":"s","description":"The Opal ID of the session to connect to. Uses an existing session that was created via the web flow."}},"args":[]},"ssh:start":{"id":"ssh:start","description":"Starts an SSH session to access a compute instance.","pluginName":"opal-security","pluginType":"core","aliases":[],"examples":["opal ssh:start","opal ssh:start --id 51f7176b-0464-4a6f-8369-e951e187b398"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"id":{"name":"id","type":"option","char":"i","description":"The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]"},"sessionId":{"name":"sessionId","type":"option","char":"s","description":"The Opal ID of the session to connect to. Uses an existing session that was created via the web flow."},"refresh":{"name":"refresh","type":"boolean","char":"r","description":"Starts a new session even if one already exists. Useful if a session is about to expire.","allowNo":false}},"args":[]}}}
|
|
1
|
+
{
|
|
2
|
+
"commands": {
|
|
3
|
+
"curl-example": {
|
|
4
|
+
"aliases": [],
|
|
5
|
+
"args": {},
|
|
6
|
+
"description": "Prints out an example cURL command containing the parameters the CLI uses to query the Opal server.",
|
|
7
|
+
"flags": {
|
|
8
|
+
"help": {
|
|
9
|
+
"char": "h",
|
|
10
|
+
"description": "Show CLI help.",
|
|
11
|
+
"name": "help",
|
|
12
|
+
"allowNo": false,
|
|
13
|
+
"type": "boolean"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"hasDynamicHelp": false,
|
|
17
|
+
"hiddenAliases": [],
|
|
18
|
+
"id": "curl-example",
|
|
19
|
+
"pluginAlias": "opal-security",
|
|
20
|
+
"pluginName": "opal-security",
|
|
21
|
+
"pluginType": "core",
|
|
22
|
+
"strict": true,
|
|
23
|
+
"enableJsonFlag": false,
|
|
24
|
+
"isESM": false,
|
|
25
|
+
"relativePath": [
|
|
26
|
+
"lib",
|
|
27
|
+
"commands",
|
|
28
|
+
"curl-example.js"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"login": {
|
|
32
|
+
"aliases": [],
|
|
33
|
+
"args": {},
|
|
34
|
+
"description": "Authenticates you with the Opal server.",
|
|
35
|
+
"examples": [
|
|
36
|
+
"$ opal login"
|
|
37
|
+
],
|
|
38
|
+
"flags": {
|
|
39
|
+
"help": {
|
|
40
|
+
"char": "h",
|
|
41
|
+
"description": "Show CLI help.",
|
|
42
|
+
"name": "help",
|
|
43
|
+
"allowNo": false,
|
|
44
|
+
"type": "boolean"
|
|
45
|
+
},
|
|
46
|
+
"email": {
|
|
47
|
+
"description": "Email address to login with.",
|
|
48
|
+
"name": "email",
|
|
49
|
+
"hasDynamicHelp": false,
|
|
50
|
+
"multiple": false,
|
|
51
|
+
"type": "option"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"hasDynamicHelp": false,
|
|
55
|
+
"hiddenAliases": [],
|
|
56
|
+
"id": "login",
|
|
57
|
+
"pluginAlias": "opal-security",
|
|
58
|
+
"pluginName": "opal-security",
|
|
59
|
+
"pluginType": "core",
|
|
60
|
+
"strict": true,
|
|
61
|
+
"enableJsonFlag": false,
|
|
62
|
+
"isESM": false,
|
|
63
|
+
"relativePath": [
|
|
64
|
+
"lib",
|
|
65
|
+
"commands",
|
|
66
|
+
"login.js"
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
"logout": {
|
|
70
|
+
"aliases": [],
|
|
71
|
+
"args": {},
|
|
72
|
+
"description": "Clears locally stored Opal server authentication credentials.",
|
|
73
|
+
"examples": [
|
|
74
|
+
"$ opal logout"
|
|
75
|
+
],
|
|
76
|
+
"flags": {
|
|
77
|
+
"help": {
|
|
78
|
+
"char": "h",
|
|
79
|
+
"description": "Show CLI help.",
|
|
80
|
+
"name": "help",
|
|
81
|
+
"allowNo": false,
|
|
82
|
+
"type": "boolean"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"hasDynamicHelp": false,
|
|
86
|
+
"hiddenAliases": [],
|
|
87
|
+
"id": "logout",
|
|
88
|
+
"pluginAlias": "opal-security",
|
|
89
|
+
"pluginName": "opal-security",
|
|
90
|
+
"pluginType": "core",
|
|
91
|
+
"strict": true,
|
|
92
|
+
"enableJsonFlag": false,
|
|
93
|
+
"isESM": false,
|
|
94
|
+
"relativePath": [
|
|
95
|
+
"lib",
|
|
96
|
+
"commands",
|
|
97
|
+
"logout.js"
|
|
98
|
+
]
|
|
99
|
+
},
|
|
100
|
+
"migrate-creds": {
|
|
101
|
+
"aliases": [],
|
|
102
|
+
"args": {},
|
|
103
|
+
"description": "Migrates credentials from old keystore to new store. Should only need to be run once",
|
|
104
|
+
"flags": {
|
|
105
|
+
"help": {
|
|
106
|
+
"char": "h",
|
|
107
|
+
"description": "Show CLI help.",
|
|
108
|
+
"name": "help",
|
|
109
|
+
"allowNo": false,
|
|
110
|
+
"type": "boolean"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"hasDynamicHelp": false,
|
|
114
|
+
"hiddenAliases": [],
|
|
115
|
+
"id": "migrate-creds",
|
|
116
|
+
"pluginAlias": "opal-security",
|
|
117
|
+
"pluginName": "opal-security",
|
|
118
|
+
"pluginType": "core",
|
|
119
|
+
"strict": true,
|
|
120
|
+
"enableJsonFlag": false,
|
|
121
|
+
"isESM": false,
|
|
122
|
+
"relativePath": [
|
|
123
|
+
"lib",
|
|
124
|
+
"commands",
|
|
125
|
+
"migrate-creds.js"
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
"set-custom-header": {
|
|
129
|
+
"aliases": [],
|
|
130
|
+
"args": {},
|
|
131
|
+
"description": "Sets a custom HTTP header to connect to the Opal server.",
|
|
132
|
+
"examples": [
|
|
133
|
+
"$ opal set-custom-header --header 'cf-access-token: $TOKEN'"
|
|
134
|
+
],
|
|
135
|
+
"flags": {
|
|
136
|
+
"help": {
|
|
137
|
+
"char": "h",
|
|
138
|
+
"description": "Show CLI help.",
|
|
139
|
+
"name": "help",
|
|
140
|
+
"allowNo": false,
|
|
141
|
+
"type": "boolean"
|
|
142
|
+
},
|
|
143
|
+
"header": {
|
|
144
|
+
"name": "header",
|
|
145
|
+
"hasDynamicHelp": false,
|
|
146
|
+
"multiple": false,
|
|
147
|
+
"type": "option"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"hasDynamicHelp": false,
|
|
151
|
+
"hiddenAliases": [],
|
|
152
|
+
"id": "set-custom-header",
|
|
153
|
+
"pluginAlias": "opal-security",
|
|
154
|
+
"pluginName": "opal-security",
|
|
155
|
+
"pluginType": "core",
|
|
156
|
+
"strict": true,
|
|
157
|
+
"enableJsonFlag": false,
|
|
158
|
+
"isESM": false,
|
|
159
|
+
"relativePath": [
|
|
160
|
+
"lib",
|
|
161
|
+
"commands",
|
|
162
|
+
"set-custom-header.js"
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
"set-token": {
|
|
166
|
+
"aliases": [],
|
|
167
|
+
"args": {},
|
|
168
|
+
"description": "Sets an API token to authenticate with the Opal server - alternative auth flow for headless environments.",
|
|
169
|
+
"examples": [
|
|
170
|
+
"$ opal set-token"
|
|
171
|
+
],
|
|
172
|
+
"flags": {
|
|
173
|
+
"help": {
|
|
174
|
+
"char": "h",
|
|
175
|
+
"description": "Show CLI help.",
|
|
176
|
+
"name": "help",
|
|
177
|
+
"allowNo": false,
|
|
178
|
+
"type": "boolean"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"hasDynamicHelp": false,
|
|
182
|
+
"hiddenAliases": [],
|
|
183
|
+
"id": "set-token",
|
|
184
|
+
"pluginAlias": "opal-security",
|
|
185
|
+
"pluginName": "opal-security",
|
|
186
|
+
"pluginType": "core",
|
|
187
|
+
"strict": true,
|
|
188
|
+
"enableJsonFlag": false,
|
|
189
|
+
"isESM": false,
|
|
190
|
+
"relativePath": [
|
|
191
|
+
"lib",
|
|
192
|
+
"commands",
|
|
193
|
+
"set-token.js"
|
|
194
|
+
]
|
|
195
|
+
},
|
|
196
|
+
"set-url": {
|
|
197
|
+
"aliases": [],
|
|
198
|
+
"args": {
|
|
199
|
+
"url": {
|
|
200
|
+
"description": "URL of the Opal server to use. If unspecified, defaults to https://app.opal.dev",
|
|
201
|
+
"name": "url",
|
|
202
|
+
"required": false
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
"description": "Sets the url of the Opal server. Defaults to https://app.opal.dev.",
|
|
206
|
+
"examples": [
|
|
207
|
+
"$ opal set-url"
|
|
208
|
+
],
|
|
209
|
+
"flags": {
|
|
210
|
+
"help": {
|
|
211
|
+
"char": "h",
|
|
212
|
+
"description": "Show CLI help.",
|
|
213
|
+
"name": "help",
|
|
214
|
+
"allowNo": false,
|
|
215
|
+
"type": "boolean"
|
|
216
|
+
},
|
|
217
|
+
"allowSelfSignedCerts": {
|
|
218
|
+
"name": "allowSelfSignedCerts",
|
|
219
|
+
"allowNo": false,
|
|
220
|
+
"type": "boolean"
|
|
221
|
+
},
|
|
222
|
+
"custom": {
|
|
223
|
+
"hidden": true,
|
|
224
|
+
"name": "custom",
|
|
225
|
+
"hasDynamicHelp": false,
|
|
226
|
+
"multiple": false,
|
|
227
|
+
"type": "option"
|
|
228
|
+
},
|
|
229
|
+
"prod": {
|
|
230
|
+
"hidden": true,
|
|
231
|
+
"name": "prod",
|
|
232
|
+
"allowNo": false,
|
|
233
|
+
"type": "boolean"
|
|
234
|
+
},
|
|
235
|
+
"demo": {
|
|
236
|
+
"hidden": true,
|
|
237
|
+
"name": "demo",
|
|
238
|
+
"allowNo": false,
|
|
239
|
+
"type": "boolean"
|
|
240
|
+
},
|
|
241
|
+
"dev": {
|
|
242
|
+
"hidden": true,
|
|
243
|
+
"name": "dev",
|
|
244
|
+
"allowNo": false,
|
|
245
|
+
"type": "boolean"
|
|
246
|
+
},
|
|
247
|
+
"devLocal": {
|
|
248
|
+
"hidden": true,
|
|
249
|
+
"name": "devLocal",
|
|
250
|
+
"allowNo": false,
|
|
251
|
+
"type": "boolean"
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
"hasDynamicHelp": false,
|
|
255
|
+
"hiddenAliases": [],
|
|
256
|
+
"id": "set-url",
|
|
257
|
+
"pluginAlias": "opal-security",
|
|
258
|
+
"pluginName": "opal-security",
|
|
259
|
+
"pluginType": "core",
|
|
260
|
+
"strict": true,
|
|
261
|
+
"enableJsonFlag": false,
|
|
262
|
+
"isESM": false,
|
|
263
|
+
"relativePath": [
|
|
264
|
+
"lib",
|
|
265
|
+
"commands",
|
|
266
|
+
"set-url.js"
|
|
267
|
+
]
|
|
268
|
+
},
|
|
269
|
+
"aws:identity": {
|
|
270
|
+
"aliases": [],
|
|
271
|
+
"args": {},
|
|
272
|
+
"description": "Gets the current caller identity for the \"opal\" AWS profile.",
|
|
273
|
+
"examples": [
|
|
274
|
+
"opal aws:identity"
|
|
275
|
+
],
|
|
276
|
+
"flags": {
|
|
277
|
+
"help": {
|
|
278
|
+
"char": "h",
|
|
279
|
+
"description": "Show CLI help.",
|
|
280
|
+
"name": "help",
|
|
281
|
+
"allowNo": false,
|
|
282
|
+
"type": "boolean"
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
"hasDynamicHelp": false,
|
|
286
|
+
"hiddenAliases": [],
|
|
287
|
+
"id": "aws:identity",
|
|
288
|
+
"pluginAlias": "opal-security",
|
|
289
|
+
"pluginName": "opal-security",
|
|
290
|
+
"pluginType": "core",
|
|
291
|
+
"strict": true,
|
|
292
|
+
"enableJsonFlag": false,
|
|
293
|
+
"isESM": false,
|
|
294
|
+
"relativePath": [
|
|
295
|
+
"lib",
|
|
296
|
+
"commands",
|
|
297
|
+
"aws",
|
|
298
|
+
"identity.js"
|
|
299
|
+
]
|
|
300
|
+
},
|
|
301
|
+
"iam-roles:start": {
|
|
302
|
+
"aliases": [],
|
|
303
|
+
"args": {},
|
|
304
|
+
"description": "Starts a session to assume an IAM role.",
|
|
305
|
+
"examples": [
|
|
306
|
+
"opal iam-roles:start",
|
|
307
|
+
"opal iam-roles:start --id 51f7176b-0464-4a6f-8369-e951e187b398",
|
|
308
|
+
"opal iam-roles:start --id 51f7176b-0464-4a6f-8369-e951e187b398 --profileName \"custom-profile\""
|
|
309
|
+
],
|
|
310
|
+
"flags": {
|
|
311
|
+
"help": {
|
|
312
|
+
"char": "h",
|
|
313
|
+
"description": "Show CLI help.",
|
|
314
|
+
"name": "help",
|
|
315
|
+
"allowNo": false,
|
|
316
|
+
"type": "boolean"
|
|
317
|
+
},
|
|
318
|
+
"id": {
|
|
319
|
+
"char": "i",
|
|
320
|
+
"description": "The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]",
|
|
321
|
+
"name": "id",
|
|
322
|
+
"hasDynamicHelp": false,
|
|
323
|
+
"multiple": false,
|
|
324
|
+
"type": "option"
|
|
325
|
+
},
|
|
326
|
+
"sessionId": {
|
|
327
|
+
"char": "s",
|
|
328
|
+
"description": "The Opal ID of the session to connect to. Uses an existing session that was created via the web flow.",
|
|
329
|
+
"name": "sessionId",
|
|
330
|
+
"hasDynamicHelp": false,
|
|
331
|
+
"multiple": false,
|
|
332
|
+
"type": "option"
|
|
333
|
+
},
|
|
334
|
+
"refresh": {
|
|
335
|
+
"char": "r",
|
|
336
|
+
"description": "Starts a new session even if one already exists. Useful if a session is about to expire.",
|
|
337
|
+
"name": "refresh",
|
|
338
|
+
"allowNo": false,
|
|
339
|
+
"type": "boolean"
|
|
340
|
+
},
|
|
341
|
+
"profileName": {
|
|
342
|
+
"description": "Uses a custom AWS profile name for the IAM role. Default value is the role's name.",
|
|
343
|
+
"name": "profileName",
|
|
344
|
+
"hasDynamicHelp": false,
|
|
345
|
+
"multiple": false,
|
|
346
|
+
"type": "option"
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
"hasDynamicHelp": false,
|
|
350
|
+
"hiddenAliases": [],
|
|
351
|
+
"id": "iam-roles:start",
|
|
352
|
+
"pluginAlias": "opal-security",
|
|
353
|
+
"pluginName": "opal-security",
|
|
354
|
+
"pluginType": "core",
|
|
355
|
+
"strict": true,
|
|
356
|
+
"enableJsonFlag": false,
|
|
357
|
+
"isESM": false,
|
|
358
|
+
"relativePath": [
|
|
359
|
+
"lib",
|
|
360
|
+
"commands",
|
|
361
|
+
"iam-roles",
|
|
362
|
+
"start.js"
|
|
363
|
+
]
|
|
364
|
+
},
|
|
365
|
+
"kube-roles:start": {
|
|
366
|
+
"aliases": [],
|
|
367
|
+
"args": {},
|
|
368
|
+
"description": "Starts a session to assume a Kubernetes cluster IAM role.",
|
|
369
|
+
"examples": [
|
|
370
|
+
"opal kube-roles:start",
|
|
371
|
+
"opal kube-roles:start --id 51f7176b-0464-4a6f-8369-e951e187b398",
|
|
372
|
+
"opal kube-roles:start --id 51f7176b-0464-4a6f-8369-e951e187b398 --accessLevelRemoteId \"arn:aws:iam::712234975475:role/acme-eks-cluster-admin-role\""
|
|
373
|
+
],
|
|
374
|
+
"flags": {
|
|
375
|
+
"help": {
|
|
376
|
+
"char": "h",
|
|
377
|
+
"description": "Show CLI help.",
|
|
378
|
+
"name": "help",
|
|
379
|
+
"allowNo": false,
|
|
380
|
+
"type": "boolean"
|
|
381
|
+
},
|
|
382
|
+
"id": {
|
|
383
|
+
"char": "i",
|
|
384
|
+
"description": "The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]",
|
|
385
|
+
"name": "id",
|
|
386
|
+
"hasDynamicHelp": false,
|
|
387
|
+
"multiple": false,
|
|
388
|
+
"type": "option"
|
|
389
|
+
},
|
|
390
|
+
"accessLevelRemoteId": {
|
|
391
|
+
"char": "a",
|
|
392
|
+
"description": "The remote ID of the access level with which to access the resource.",
|
|
393
|
+
"name": "accessLevelRemoteId",
|
|
394
|
+
"hasDynamicHelp": false,
|
|
395
|
+
"multiple": false,
|
|
396
|
+
"type": "option"
|
|
397
|
+
},
|
|
398
|
+
"sessionId": {
|
|
399
|
+
"char": "s",
|
|
400
|
+
"description": "The Opal ID of the session to connect to. Uses an existing session that was created via the web flow.",
|
|
401
|
+
"name": "sessionId",
|
|
402
|
+
"hasDynamicHelp": false,
|
|
403
|
+
"multiple": false,
|
|
404
|
+
"type": "option"
|
|
405
|
+
},
|
|
406
|
+
"refresh": {
|
|
407
|
+
"char": "r",
|
|
408
|
+
"description": "Starts a new session even if one already exists. Useful if a session is about to expire.",
|
|
409
|
+
"name": "refresh",
|
|
410
|
+
"allowNo": false,
|
|
411
|
+
"type": "boolean"
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
"hasDynamicHelp": false,
|
|
415
|
+
"hiddenAliases": [],
|
|
416
|
+
"id": "kube-roles:start",
|
|
417
|
+
"pluginAlias": "opal-security",
|
|
418
|
+
"pluginName": "opal-security",
|
|
419
|
+
"pluginType": "core",
|
|
420
|
+
"strict": true,
|
|
421
|
+
"enableJsonFlag": false,
|
|
422
|
+
"isESM": false,
|
|
423
|
+
"relativePath": [
|
|
424
|
+
"lib",
|
|
425
|
+
"commands",
|
|
426
|
+
"kube-roles",
|
|
427
|
+
"start.js"
|
|
428
|
+
]
|
|
429
|
+
},
|
|
430
|
+
"postgres-instances:start": {
|
|
431
|
+
"aliases": [],
|
|
432
|
+
"args": {},
|
|
433
|
+
"description": "Starts a session to connect to a Postgres database.",
|
|
434
|
+
"examples": [
|
|
435
|
+
"opal postgres-instances:start",
|
|
436
|
+
"opal postgres-instances:start --id 51f7176b-0464-4a6f-8369-e951e187b398",
|
|
437
|
+
"opal postgres-instances:start --id 51f7176b-0464-4a6f-8369-e951e187b398 --accessLevelRemoteId fullaccess",
|
|
438
|
+
"opal postgres-instances:start --id 51f7176b-0464-4a6f-8369-e951e187b398 --accessLevelRemoteId fullaccess --action view"
|
|
439
|
+
],
|
|
440
|
+
"flags": {
|
|
441
|
+
"help": {
|
|
442
|
+
"char": "h",
|
|
443
|
+
"description": "Show CLI help.",
|
|
444
|
+
"name": "help",
|
|
445
|
+
"allowNo": false,
|
|
446
|
+
"type": "boolean"
|
|
447
|
+
},
|
|
448
|
+
"id": {
|
|
449
|
+
"char": "i",
|
|
450
|
+
"description": "The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]",
|
|
451
|
+
"name": "id",
|
|
452
|
+
"hasDynamicHelp": false,
|
|
453
|
+
"multiple": false,
|
|
454
|
+
"type": "option"
|
|
455
|
+
},
|
|
456
|
+
"accessLevelRemoteId": {
|
|
457
|
+
"char": "a",
|
|
458
|
+
"description": "The remote ID of the access level with which to access the resource.",
|
|
459
|
+
"name": "accessLevelRemoteId",
|
|
460
|
+
"hasDynamicHelp": false,
|
|
461
|
+
"multiple": false,
|
|
462
|
+
"type": "option"
|
|
463
|
+
},
|
|
464
|
+
"sessionId": {
|
|
465
|
+
"char": "s",
|
|
466
|
+
"description": "The Opal ID of the session to connect to. Uses an existing session that was created via the web flow.",
|
|
467
|
+
"name": "sessionId",
|
|
468
|
+
"hasDynamicHelp": false,
|
|
469
|
+
"multiple": false,
|
|
470
|
+
"type": "option"
|
|
471
|
+
},
|
|
472
|
+
"refresh": {
|
|
473
|
+
"char": "r",
|
|
474
|
+
"description": "Starts a new session even if one already exists. Useful if a session is about to expire.",
|
|
475
|
+
"name": "refresh",
|
|
476
|
+
"allowNo": false,
|
|
477
|
+
"type": "boolean"
|
|
478
|
+
},
|
|
479
|
+
"action": {
|
|
480
|
+
"description": "Method of connecting to the database.\n- open: Open external database app\n- psql: Start psql session in shell\n- view: View connection configuration details",
|
|
481
|
+
"name": "action",
|
|
482
|
+
"hasDynamicHelp": false,
|
|
483
|
+
"multiple": false,
|
|
484
|
+
"options": [
|
|
485
|
+
"open",
|
|
486
|
+
"psql",
|
|
487
|
+
"view"
|
|
488
|
+
],
|
|
489
|
+
"type": "option"
|
|
490
|
+
}
|
|
491
|
+
},
|
|
492
|
+
"hasDynamicHelp": false,
|
|
493
|
+
"hiddenAliases": [],
|
|
494
|
+
"id": "postgres-instances:start",
|
|
495
|
+
"pluginAlias": "opal-security",
|
|
496
|
+
"pluginName": "opal-security",
|
|
497
|
+
"pluginType": "core",
|
|
498
|
+
"strict": true,
|
|
499
|
+
"enableJsonFlag": false,
|
|
500
|
+
"isESM": false,
|
|
501
|
+
"relativePath": [
|
|
502
|
+
"lib",
|
|
503
|
+
"commands",
|
|
504
|
+
"postgres-instances",
|
|
505
|
+
"start.js"
|
|
506
|
+
]
|
|
507
|
+
},
|
|
508
|
+
"resources:get": {
|
|
509
|
+
"aliases": [],
|
|
510
|
+
"args": {},
|
|
511
|
+
"description": "Get resource info for a particular resource.",
|
|
512
|
+
"examples": [
|
|
513
|
+
"opal resources:get --id 54052a3e-5375-4392-aeaf-0c6c44c131d4"
|
|
514
|
+
],
|
|
515
|
+
"flags": {
|
|
516
|
+
"help": {
|
|
517
|
+
"char": "h",
|
|
518
|
+
"description": "Show CLI help.",
|
|
519
|
+
"name": "help",
|
|
520
|
+
"allowNo": false,
|
|
521
|
+
"type": "boolean"
|
|
522
|
+
},
|
|
523
|
+
"id": {
|
|
524
|
+
"char": "i",
|
|
525
|
+
"description": "The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]",
|
|
526
|
+
"name": "id",
|
|
527
|
+
"hasDynamicHelp": false,
|
|
528
|
+
"multiple": false,
|
|
529
|
+
"type": "option"
|
|
530
|
+
}
|
|
531
|
+
},
|
|
532
|
+
"hasDynamicHelp": false,
|
|
533
|
+
"hiddenAliases": [],
|
|
534
|
+
"id": "resources:get",
|
|
535
|
+
"pluginAlias": "opal-security",
|
|
536
|
+
"pluginName": "opal-security",
|
|
537
|
+
"pluginType": "core",
|
|
538
|
+
"strict": true,
|
|
539
|
+
"enableJsonFlag": false,
|
|
540
|
+
"isESM": false,
|
|
541
|
+
"relativePath": [
|
|
542
|
+
"lib",
|
|
543
|
+
"commands",
|
|
544
|
+
"resources",
|
|
545
|
+
"get.js"
|
|
546
|
+
]
|
|
547
|
+
},
|
|
548
|
+
"ssh:copyFrom": {
|
|
549
|
+
"aliases": [],
|
|
550
|
+
"args": {},
|
|
551
|
+
"description": "Use SCP to copy files from a compute instance.",
|
|
552
|
+
"examples": [
|
|
553
|
+
"opal ssh:copyFrom --src instance/dir --dest my/dir",
|
|
554
|
+
"opal ssh:copyFrom --src instance/dir --dest my/dir --id 51f7176b-0464-4a6f-8369-e951e187b398"
|
|
555
|
+
],
|
|
556
|
+
"flags": {
|
|
557
|
+
"help": {
|
|
558
|
+
"char": "h",
|
|
559
|
+
"description": "Show CLI help.",
|
|
560
|
+
"name": "help",
|
|
561
|
+
"allowNo": false,
|
|
562
|
+
"type": "boolean"
|
|
563
|
+
},
|
|
564
|
+
"src": {
|
|
565
|
+
"description": "The directory or file you would like to copy over SCP. Note we only support one file or directory at a time.",
|
|
566
|
+
"name": "src",
|
|
567
|
+
"required": true,
|
|
568
|
+
"hasDynamicHelp": false,
|
|
569
|
+
"multiple": false,
|
|
570
|
+
"type": "option"
|
|
571
|
+
},
|
|
572
|
+
"dest": {
|
|
573
|
+
"description": "The directory you want your files to be copied to.",
|
|
574
|
+
"name": "dest",
|
|
575
|
+
"required": false,
|
|
576
|
+
"default": ".",
|
|
577
|
+
"hasDynamicHelp": false,
|
|
578
|
+
"multiple": false,
|
|
579
|
+
"type": "option"
|
|
580
|
+
},
|
|
581
|
+
"user": {
|
|
582
|
+
"description": "The user you want to run SCP over. Keep in mind not all users will have access to each other's home directory.",
|
|
583
|
+
"name": "user",
|
|
584
|
+
"required": false,
|
|
585
|
+
"default": "ssm-user",
|
|
586
|
+
"hasDynamicHelp": false,
|
|
587
|
+
"multiple": false,
|
|
588
|
+
"type": "option"
|
|
589
|
+
},
|
|
590
|
+
"id": {
|
|
591
|
+
"char": "i",
|
|
592
|
+
"description": "The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]",
|
|
593
|
+
"name": "id",
|
|
594
|
+
"hasDynamicHelp": false,
|
|
595
|
+
"multiple": false,
|
|
596
|
+
"type": "option"
|
|
597
|
+
},
|
|
598
|
+
"sessionId": {
|
|
599
|
+
"char": "s",
|
|
600
|
+
"description": "The Opal ID of the session to connect to. Uses an existing session that was created via the web flow.",
|
|
601
|
+
"name": "sessionId",
|
|
602
|
+
"hasDynamicHelp": false,
|
|
603
|
+
"multiple": false,
|
|
604
|
+
"type": "option"
|
|
605
|
+
}
|
|
606
|
+
},
|
|
607
|
+
"hasDynamicHelp": false,
|
|
608
|
+
"hiddenAliases": [],
|
|
609
|
+
"id": "ssh:copyFrom",
|
|
610
|
+
"pluginAlias": "opal-security",
|
|
611
|
+
"pluginName": "opal-security",
|
|
612
|
+
"pluginType": "core",
|
|
613
|
+
"strict": true,
|
|
614
|
+
"enableJsonFlag": false,
|
|
615
|
+
"isESM": false,
|
|
616
|
+
"relativePath": [
|
|
617
|
+
"lib",
|
|
618
|
+
"commands",
|
|
619
|
+
"ssh",
|
|
620
|
+
"copyFrom.js"
|
|
621
|
+
]
|
|
622
|
+
},
|
|
623
|
+
"ssh:copyTo": {
|
|
624
|
+
"aliases": [],
|
|
625
|
+
"args": {},
|
|
626
|
+
"description": "Use SCP to copy files to a compute instance.",
|
|
627
|
+
"examples": [
|
|
628
|
+
"opal ssh:copyTo --src my/dir --dest instance/dir",
|
|
629
|
+
"opal ssh:copyTo --src my/dir --dest instance/dir --id 51f7176b-0464-4a6f-8369-e951e187b398"
|
|
630
|
+
],
|
|
631
|
+
"flags": {
|
|
632
|
+
"help": {
|
|
633
|
+
"char": "h",
|
|
634
|
+
"description": "Show CLI help.",
|
|
635
|
+
"name": "help",
|
|
636
|
+
"allowNo": false,
|
|
637
|
+
"type": "boolean"
|
|
638
|
+
},
|
|
639
|
+
"src": {
|
|
640
|
+
"description": "The directory or file you would like to copy over SCP. Note we only support one file or directory at a time.",
|
|
641
|
+
"name": "src",
|
|
642
|
+
"required": true,
|
|
643
|
+
"hasDynamicHelp": false,
|
|
644
|
+
"multiple": false,
|
|
645
|
+
"type": "option"
|
|
646
|
+
},
|
|
647
|
+
"dest": {
|
|
648
|
+
"description": "The directory you want your files to be copied to.",
|
|
649
|
+
"name": "dest",
|
|
650
|
+
"required": false,
|
|
651
|
+
"default": ".",
|
|
652
|
+
"hasDynamicHelp": false,
|
|
653
|
+
"multiple": false,
|
|
654
|
+
"type": "option"
|
|
655
|
+
},
|
|
656
|
+
"user": {
|
|
657
|
+
"description": "The user you want to run SCP over. Keep in mind not all users will have access to each other's home directory.",
|
|
658
|
+
"name": "user",
|
|
659
|
+
"required": false,
|
|
660
|
+
"default": "ssm-user",
|
|
661
|
+
"hasDynamicHelp": false,
|
|
662
|
+
"multiple": false,
|
|
663
|
+
"type": "option"
|
|
664
|
+
},
|
|
665
|
+
"id": {
|
|
666
|
+
"char": "i",
|
|
667
|
+
"description": "The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]",
|
|
668
|
+
"name": "id",
|
|
669
|
+
"hasDynamicHelp": false,
|
|
670
|
+
"multiple": false,
|
|
671
|
+
"type": "option"
|
|
672
|
+
},
|
|
673
|
+
"sessionId": {
|
|
674
|
+
"char": "s",
|
|
675
|
+
"description": "The Opal ID of the session to connect to. Uses an existing session that was created via the web flow.",
|
|
676
|
+
"name": "sessionId",
|
|
677
|
+
"hasDynamicHelp": false,
|
|
678
|
+
"multiple": false,
|
|
679
|
+
"type": "option"
|
|
680
|
+
}
|
|
681
|
+
},
|
|
682
|
+
"hasDynamicHelp": false,
|
|
683
|
+
"hiddenAliases": [],
|
|
684
|
+
"id": "ssh:copyTo",
|
|
685
|
+
"pluginAlias": "opal-security",
|
|
686
|
+
"pluginName": "opal-security",
|
|
687
|
+
"pluginType": "core",
|
|
688
|
+
"strict": true,
|
|
689
|
+
"enableJsonFlag": false,
|
|
690
|
+
"isESM": false,
|
|
691
|
+
"relativePath": [
|
|
692
|
+
"lib",
|
|
693
|
+
"commands",
|
|
694
|
+
"ssh",
|
|
695
|
+
"copyTo.js"
|
|
696
|
+
]
|
|
697
|
+
},
|
|
698
|
+
"ssh:start": {
|
|
699
|
+
"aliases": [],
|
|
700
|
+
"args": {},
|
|
701
|
+
"description": "Starts an SSH session to access a compute instance.",
|
|
702
|
+
"examples": [
|
|
703
|
+
"opal ssh:start",
|
|
704
|
+
"opal ssh:start --id 51f7176b-0464-4a6f-8369-e951e187b398"
|
|
705
|
+
],
|
|
706
|
+
"flags": {
|
|
707
|
+
"help": {
|
|
708
|
+
"char": "h",
|
|
709
|
+
"description": "Show CLI help.",
|
|
710
|
+
"name": "help",
|
|
711
|
+
"allowNo": false,
|
|
712
|
+
"type": "boolean"
|
|
713
|
+
},
|
|
714
|
+
"id": {
|
|
715
|
+
"char": "i",
|
|
716
|
+
"description": "The Opal ID of the resource. You can find this from the URL, e.g. https://opal.dev/resources/[ID]",
|
|
717
|
+
"name": "id",
|
|
718
|
+
"hasDynamicHelp": false,
|
|
719
|
+
"multiple": false,
|
|
720
|
+
"type": "option"
|
|
721
|
+
},
|
|
722
|
+
"sessionId": {
|
|
723
|
+
"char": "s",
|
|
724
|
+
"description": "The Opal ID of the session to connect to. Uses an existing session that was created via the web flow.",
|
|
725
|
+
"name": "sessionId",
|
|
726
|
+
"hasDynamicHelp": false,
|
|
727
|
+
"multiple": false,
|
|
728
|
+
"type": "option"
|
|
729
|
+
},
|
|
730
|
+
"refresh": {
|
|
731
|
+
"char": "r",
|
|
732
|
+
"description": "Starts a new session even if one already exists. Useful if a session is about to expire.",
|
|
733
|
+
"name": "refresh",
|
|
734
|
+
"allowNo": false,
|
|
735
|
+
"type": "boolean"
|
|
736
|
+
}
|
|
737
|
+
},
|
|
738
|
+
"hasDynamicHelp": false,
|
|
739
|
+
"hiddenAliases": [],
|
|
740
|
+
"id": "ssh:start",
|
|
741
|
+
"pluginAlias": "opal-security",
|
|
742
|
+
"pluginName": "opal-security",
|
|
743
|
+
"pluginType": "core",
|
|
744
|
+
"strict": true,
|
|
745
|
+
"enableJsonFlag": false,
|
|
746
|
+
"isESM": false,
|
|
747
|
+
"relativePath": [
|
|
748
|
+
"lib",
|
|
749
|
+
"commands",
|
|
750
|
+
"ssh",
|
|
751
|
+
"start.js"
|
|
752
|
+
]
|
|
753
|
+
}
|
|
754
|
+
},
|
|
755
|
+
"version": "2.3.0"
|
|
756
|
+
}
|