forked from aziontech/azionapi-openapi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwaf.yaml
185 lines (184 loc) · 4.62 KB
/
waf.yaml
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
openapi: 3.0.0
info:
description: "Azion Web Application Firewall API"
version: 3.0.0
title: WAF
servers:
- url: https://api.azionapi.net
- url: https://stage-api.azionapi.net
tags:
- name: WAF
description: WAF Product
paths:
/waf/{wafId}/domains:
get:
tags:
- WAF
summary: Find domains attached to a WAF
operationId: getWAFDomains
parameters:
- in: path
name: wafId
description: ID of WAF to return
required: true
schema:
format: int64
type: integer
- in: query
name: name
description: searches WAF for name
required: false
schema:
type: string
security:
- JWT: []
responses:
"200":
description: successful operation
content:
application/json; version=3:
schema:
$ref: '#/components/schemas/WAFDomains200'
/waf/{wafId}/waf_events:
get:
tags:
- WAF
summary: Find WAF log events
operationId: getWAFEvents
parameters:
- in: path
name: wafId
description: ID of WAF to return
required: true
schema:
format: int64
type: integer
- in: query
name: hour_range
description: Last log hours since now (it must be a integer number ranging between 1 and 72)
required: true
schema:
format: int64
type: integer
- name: network_list_id
in: query
description: Id of a network list
required: false
schema:
format: int64
type: integer
- name: domains_ids
in: query
description: Multiple domain's id (they must be separated by comma like 1233,1234)
required: true
schema:
type: string
security:
- JWT: []
responses:
"200":
description: successful operation
content:
application/json; version=3:
schema:
$ref: '#/components/schemas/WAFEvents200'
"400":
description: Bad request
content:
application/json; version=3:
schema:
$ref: '#/components/schemas/WAFEvents400'
"404":
description: data not found
content:
application/json; version=3:
schema:
$ref: '#/components/schemas/WAFEvents404'
"401":
description: unauthorized operation
content:
application/json; version=3:
schema:
$ref: '#/components/schemas/WAFEvents401'
components:
schemas:
WAFDomains200:
type: object
properties:
results:
type: array
items:
type: object
example:
id: 28852
name: Domain Name
domain: 28852f.ha.azioncdn.net
cnames:
- www.example2.io
- www.example.com
properties: {}
schema_version:
type: integer
example: 3
WAFEvents400:
type: object
properties:
errors:
type: array
items:
type: object
example:
message: Bad Request
error: bad_request
properties: {}
schema_version:
type: integer
example: 3
WAFEvents404:
type: object
properties:
errors:
type: array
items:
type: object
example:
message: Network List not found
error: not_found
properties: {}
schema_version:
type: integer
example: 3
WAFEvents200:
type: object
properties:
results:
type: array
items:
type: object
example:
hit_count: 9290
rule_id: 1005
ip_count: 217
match_zone: cookies
path_count: 798
matches_on: value
rule_description: 'Possible SQL Injection attack: MySQL keyword (|) found in Cookies'
properties: {}
schema_version:
type: integer
example: 3
WAFEvents401:
type: object
properties:
detail:
type: string
example:
"Authentication credentials were not provided."
securitySchemes:
JWT:
description: |
You must inform a token to auth.
Usage format: `Token <TOKEN>`
in: header
name: Authorization
type: apiKey