Setup micro-service of multivim broker
[multicloud/framework.git] / multivimbroker / multivimbroker / swagger / multivim.limit.swagger.json
1 {
2     "swagger": "2.0",
3     "info": {
4         "version": "1.0.0",
5         "title": "MultiVIM Service rest API"
6     },
7     "basePath": "/openoapi/multivim/v1/",
8     "tags": [
9         {
10             "name": "MultiVIM broker"
11         }
12     ],
13     "paths": {
14         "/{vimid}/{tenantid}/limits": {
15             "get": {
16                 "tags": [
17                     "vim limits"
18                 ],
19                 "summary": "query vim limits list",
20                 "description": "query vim limits list",
21                 "operationId": "query_vim_limits",
22                 "consumes": [
23                     "application/json"
24                 ],
25                 "produces": [
26                     "application/json"
27                 ],
28                 "parameters": [
29                     {
30                         "name": "vimid",
31                         "in": "path",
32                         "description": "vim instance id",
33                         "required": true,
34                         "type": "string"
35                     },
36                     {
37                         "name": "tenantid",
38                         "in": "path",
39                         "description": "tenant UUID",
40                         "required": true,
41                         "type": "string"
42                     }
43                 ],
44                 "responses": {
45                     "200": {
46                         "description": "successful operation",
47                         "schema": {
48                             "$ref": "#/definitions/VimLimitsInfo"
49                         }
50                     },
51                     "404": {
52                         "description": "the vim id or tenant UUID is wrong"
53                     },
54                     "500": {
55                         "description": "the vim limits is not accessable"
56                     }
57                 }
58             }
59         }
60     },
61     "definitions": {
62         "VimLimitsInfo": {
63             "type": "object",
64             "required": [
65                 "vimId",
66                 "tenantId"
67             ],
68             "properties": {
69                 "vimId": {
70                     "type": "string"
71                 },
72                 "vimName": {
73                     "type": "string"
74                 },
75                 "tenantId": {
76                     "type": "string",
77                     "description": "tenant UUID"
78                 },
79                 "maxPersonality": {
80                     "type": "integer",
81                     "description": "The number of allowed injected files for each tenant"
82                 },
83                 "maxPersonalitySize": {
84                     "type": "integer",
85                     "description": "The number of allowed bytes of content for each injected file"
86                 },
87                 "maxServerGroupMembers": {
88                     "type": "integer",
89                     "description": "The number of allowed members for each server group"
90                 },
91                 "maxServerGroups": {
92                     "type": "integer",
93                     "description": "The number of allowed server groups for each tenant"
94                 },
95                 "maxServerMeta": {
96                     "type": "integer",
97                     "description": "The number of allowed metadata items for each instance"
98                 },
99                 "maxTotalCores": {
100                     "type": "integer",
101                     "description": "The number of allowed instance cores for each tenant"
102                 },
103                 "maxTotalInstances": {
104                     "type": "integer",
105                     "description": "The number of allowed instances for each tenant"
106                 },
107                 "maxTotalKeypairs": {
108                     "type": "integer",
109                     "description": "The number of allowed key pairs for each user"
110                 },
111                 "maxTotalRAMSize": {
112                     "type": "integer",
113                     "description": "The amount of allowed instance RAM, in MB, for each tenant"
114                 },
115                 "maxTotalVolumeGigabytes": {
116                     "type": "integer",
117                     "description": "The maximum total amount of volumes, in gibibytes (GiB)."
118                 },
119                 "maxTotalVolumes": {
120                     "type": "integer",
121                     "description": "The maximum number of volumes"
122                 },
123                 "totalGigabytesUsed": {
124                     "type": "integer",
125                     "description": "The total number of gibibytes (GiB) used"
126                 },
127                 "network": {
128                     "type": "integer",
129                     "description": "The number of networks allowed for each project"
130                 },
131                 "subnet": {
132                     "type": "integer",
133                     "description": "The number of subnets allowed for each project"
134                 },
135                 "subnetpool": {
136                     "type": "integer",
137                     "description": "The number of subnet pools allowed for each project"
138                 },
139                 "security_group_rule": {
140                     "type": "integer",
141                     "description": "The number of security group rules allowed for each project"
142                 },
143                 "security_group": {
144                     "type": "integer",
145                     "description": "The number of security groups allowed for each project"
146                 },
147                 "router": {
148                     "type": "integer",
149                     "description": "The number of routers allowed for each project"
150                 },
151                 "port": {
152                     "type": "integer",
153                     "description": "The number of ports allowed for each project"
154                 }
155             }
156         }
157     }
158 }