FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
stackmate/utils/docs.rb at master · stackmate/stackmate · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
This repository was archived by the owner on Oct 6, 2020. It is now read-only.
stackmate
/
stackmate
Public archive
Notifications
You must be signed in to change notification settings
Fork
12
Star
21
Code
Issues
2
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
stackmate
/
utils
/
docs.rb
Copy path
More file actions
More file actions
Latest commit
History
History
History
67 lines (67 loc) · 2.45 KB
Breadcrumbs
stackmate
/
utils
/
docs.rb
Copy path
File metadata and controls
67 lines (67 loc) · 2.45 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
require
'json'
begin
#apis = JSON.parse(File.read('apis_user.json'))
apis
=
JSON
.
parse
(
File
.
read
(
ARGV
[
0
]
)
)
apis
=
apis
[
'api'
]
lookup
=
{
}
lookup
[
'create'
]
=
'delete'
lookup
[
'attach'
]
=
'detach'
lookup
[
'add'
]
=
'remove'
lookup
[
'authorize'
]
=
'revoke'
lookup
[
'enable'
]
=
'disable'
lookup
[
'deploy'
]
=
'destroy'
lookup
[
'start'
]
=
'stop'
lookup
[
'assign'
]
=
'remove'
lookup
[
'associate'
]
=
'disassociate'
docs
=
{
}
docs
[
'Resources'
]
=
[
]
apis
.
each
do
|
a
|
lookup
.
keys
.
each
do
|
k
|
#will start with only one of them.
#chuck the inefficiency
if
a
[
'name'
]
.
start_with?
(
k
)
and
!
a
[
'name'
]
.
include?
(
"Account"
)
required
=
{
}
optional
=
{
}
a
[
'params'
]
.
each
do
|
param
|
if
param
[
'required'
]
==
true
required
[
param
[
'name'
]
]
=
{
"Required"
=>
"Yes"
,
"Type"
=>
param
[
'type'
]
,
"Description"
=>
param
[
'description'
]
}
else
#optional.push(param['name'])
optional
[
param
[
'name'
]
]
=
{
"Required"
=>
"No"
,
"Type"
=>
param
[
'type'
]
,
"Description"
=>
param
[
'description'
]
}
end
end
delete_tag
=
'id'
#support only single delte id right now. only couple of APIs have multiple required for delete - like id
resource
=
a
[
'name'
]
.
sub
(
k
,
""
)
delete_api_name
=
lookup
[
k
]
+
resource
delete_api_name
.
sub!
(
"To"
,
"From"
)
delete_api_name
.
sub!
(
"SnapshotPolicy"
,
"SnapshotPolicies"
)
delete_api
=
""
apis
.
each
do
|
del
|
if
del
[
'name'
]
.
eql?
(
delete_api_name
)
delete_api
=
del
end
end
delete_api
[
'params'
]
.
each
do
|
del_param
|
if
del_param
[
'required'
]
==
true
delete_tag
=
del_param
[
'name'
]
end
end
#StackMate::CloudStackFactory.print_class(resource,k,required,optional,a['isasync'],lookup[k],delete_tag,delete_api['isasync'])
resource
=
"VirtualMachineOps"
if
(
resource
.
eql?
(
"VirtualMachine"
)
&&
k
.
eql?
(
"start"
)
)
resource
=
"VolumeOps"
if
(
resource
.
eql?
(
"Volume"
)
&&
k
.
eql?
(
"attach"
)
)
docs
[
'Resources'
]
.
push
(
{
"Name"
=>
resource
,
"CloudStack API Name"
=>
a
[
'name'
]
,
"Description"
=>
a
[
'description'
]
,
"StackMate Type"
=>
"CloudStack::"
+
resource
,
"Parameters"
=>
required
.
merge
(
optional
)
}
)
#puts a['related']
end
end
end
#p docs.to_json
File
.
open
(
"docs/docs.json"
,
"w"
)
{
|
file
|
file
.
write
(
JSON
.
pretty_generate
(
docs
)
)
}
rescue
=>
e
p
"Unable to generate docs "
+
e
.
message
end
Back
|
FazBrowse Home
|
New Git URL