Skip to content

Commit e2f9bdc

Browse files
authored
feat(edge_services): add search waf stage method (#950)
1 parent 17474eb commit e2f9bdc

File tree

6 files changed

+206
-88
lines changed

6 files changed

+206
-88
lines changed

scaleway-async/scaleway_async/edge_services/v1beta1/__init__.py

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from .types import RuleHttpMatchMethodFilter
2424
from .types import RuleHttpMatchPathFilterPathFilterType
2525
from .types import SearchBackendStagesRequestOrderBy
26+
from .types import SearchWafStagesRequestOrderBy
2627
from .types import WafStageMode
2728
from .types import ScalewayLb
2829
from .types import RuleHttpMatchPathFilter
@@ -112,6 +113,7 @@
112113
from .types import ListWafStagesResponse
113114
from .types import Plan
114115
from .types import SearchBackendStagesRequest
116+
from .types import SearchWafStagesRequest
115117
from .types import SelectPlanRequest
116118
from .types import SetHeadStageRequest
117119
from .types import SetRouteRulesRequest
@@ -149,6 +151,7 @@
149151
"RuleHttpMatchMethodFilter",
150152
"RuleHttpMatchPathFilterPathFilterType",
151153
"SearchBackendStagesRequestOrderBy",
154+
"SearchWafStagesRequestOrderBy",
152155
"WafStageMode",
153156
"ScalewayLb",
154157
"RuleHttpMatchPathFilter",
@@ -238,6 +241,7 @@
238241
"ListWafStagesResponse",
239242
"Plan",
240243
"SearchBackendStagesRequest",
244+
"SearchWafStagesRequest",
241245
"SelectPlanRequest",
242246
"SetHeadStageRequest",
243247
"SetRouteRulesRequest",

scaleway-async/scaleway_async/edge_services/v1beta1/api.py

+80-44
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
ListWafStagesRequestOrderBy,
2323
PlanName,
2424
SearchBackendStagesRequestOrderBy,
25+
SearchWafStagesRequestOrderBy,
2526
WafStageMode,
2627
AddRouteRulesRequest,
2728
AddRouteRulesResponse,
@@ -1584,6 +1585,50 @@ async def delete_backend_stage(
15841585

15851586
self._throw_on_error(res)
15861587

1588+
async def search_backend_stages(
1589+
self,
1590+
*,
1591+
order_by: Optional[SearchBackendStagesRequestOrderBy] = None,
1592+
page: Optional[int] = None,
1593+
page_size: Optional[int] = None,
1594+
project_id: Optional[str] = None,
1595+
bucket_name: Optional[str] = None,
1596+
bucket_region: Optional[str] = None,
1597+
lb_id: Optional[str] = None,
1598+
) -> ListBackendStagesResponse:
1599+
"""
1600+
:param order_by:
1601+
:param page:
1602+
:param page_size:
1603+
:param project_id:
1604+
:param bucket_name:
1605+
:param bucket_region:
1606+
:param lb_id:
1607+
:return: :class:`ListBackendStagesResponse <ListBackendStagesResponse>`
1608+
1609+
Usage:
1610+
::
1611+
1612+
result = await api.search_backend_stages()
1613+
"""
1614+
1615+
res = self._request(
1616+
"GET",
1617+
"/edge-services/v1beta1/search-backend-stages",
1618+
params={
1619+
"bucket_name": bucket_name,
1620+
"bucket_region": bucket_region,
1621+
"lb_id": lb_id,
1622+
"order_by": order_by,
1623+
"page": page,
1624+
"page_size": page_size or self.client.default_page_size,
1625+
"project_id": project_id or self.client.default_project_id,
1626+
},
1627+
)
1628+
1629+
self._throw_on_error(res)
1630+
return unmarshal_ListBackendStagesResponse(res.json())
1631+
15871632
async def list_waf_stages(
15881633
self,
15891634
*,
@@ -1808,6 +1853,41 @@ async def delete_waf_stage(
18081853

18091854
self._throw_on_error(res)
18101855

1856+
async def search_waf_stages(
1857+
self,
1858+
*,
1859+
order_by: Optional[SearchWafStagesRequestOrderBy] = None,
1860+
page: Optional[int] = None,
1861+
page_size: Optional[int] = None,
1862+
project_id: Optional[str] = None,
1863+
) -> ListWafStagesResponse:
1864+
"""
1865+
:param order_by:
1866+
:param page:
1867+
:param page_size:
1868+
:param project_id:
1869+
:return: :class:`ListWafStagesResponse <ListWafStagesResponse>`
1870+
1871+
Usage:
1872+
::
1873+
1874+
result = await api.search_waf_stages()
1875+
"""
1876+
1877+
res = self._request(
1878+
"GET",
1879+
"/edge-services/v1beta1/search-waf-stages",
1880+
params={
1881+
"order_by": order_by,
1882+
"page": page,
1883+
"page_size": page_size or self.client.default_page_size,
1884+
"project_id": project_id or self.client.default_project_id,
1885+
},
1886+
)
1887+
1888+
self._throw_on_error(res)
1889+
return unmarshal_ListWafStagesResponse(res.json())
1890+
18111891
async def list_route_stages(
18121892
self,
18131893
*,
@@ -2212,50 +2292,6 @@ async def check_pem_chain(
22122292
self._throw_on_error(res)
22132293
return unmarshal_CheckPEMChainResponse(res.json())
22142294

2215-
async def search_backend_stages(
2216-
self,
2217-
*,
2218-
order_by: Optional[SearchBackendStagesRequestOrderBy] = None,
2219-
page: Optional[int] = None,
2220-
page_size: Optional[int] = None,
2221-
project_id: Optional[str] = None,
2222-
bucket_name: Optional[str] = None,
2223-
bucket_region: Optional[str] = None,
2224-
lb_id: Optional[str] = None,
2225-
) -> ListBackendStagesResponse:
2226-
"""
2227-
:param order_by:
2228-
:param page:
2229-
:param page_size:
2230-
:param project_id:
2231-
:param bucket_name:
2232-
:param bucket_region:
2233-
:param lb_id:
2234-
:return: :class:`ListBackendStagesResponse <ListBackendStagesResponse>`
2235-
2236-
Usage:
2237-
::
2238-
2239-
result = await api.search_backend_stages()
2240-
"""
2241-
2242-
res = self._request(
2243-
"GET",
2244-
"/edge-services/v1beta1/search-backend-stages",
2245-
params={
2246-
"bucket_name": bucket_name,
2247-
"bucket_region": bucket_region,
2248-
"lb_id": lb_id,
2249-
"order_by": order_by,
2250-
"page": page,
2251-
"page_size": page_size or self.client.default_page_size,
2252-
"project_id": project_id or self.client.default_project_id,
2253-
},
2254-
)
2255-
2256-
self._throw_on_error(res)
2257-
return unmarshal_ListBackendStagesResponse(res.json())
2258-
22592295
async def list_purge_requests(
22602296
self,
22612297
*,

scaleway-async/scaleway_async/edge_services/v1beta1/types.py

+19
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,14 @@ def __str__(self) -> str:
239239
return str(self.value)
240240

241241

242+
class SearchWafStagesRequestOrderBy(str, Enum, metaclass=StrEnumMeta):
243+
CREATED_AT_ASC = "created_at_asc"
244+
CREATED_AT_DESC = "created_at_desc"
245+
246+
def __str__(self) -> str:
247+
return str(self.value)
248+
249+
242250
class WafStageMode(str, Enum, metaclass=StrEnumMeta):
243251
UNKNOWN_MODE = "unknown_mode"
244252
DISABLE = "disable"
@@ -1610,6 +1618,17 @@ class SearchBackendStagesRequest:
16101618
lb_id: Optional[str]
16111619

16121620

1621+
@dataclass
1622+
class SearchWafStagesRequest:
1623+
order_by: Optional[SearchWafStagesRequestOrderBy]
1624+
1625+
page: Optional[int]
1626+
1627+
page_size: Optional[int]
1628+
1629+
project_id: Optional[str]
1630+
1631+
16131632
@dataclass
16141633
class SelectPlanRequest:
16151634
project_id: Optional[str]

scaleway/scaleway/edge_services/v1beta1/__init__.py

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from .types import RuleHttpMatchMethodFilter
2424
from .types import RuleHttpMatchPathFilterPathFilterType
2525
from .types import SearchBackendStagesRequestOrderBy
26+
from .types import SearchWafStagesRequestOrderBy
2627
from .types import WafStageMode
2728
from .types import ScalewayLb
2829
from .types import RuleHttpMatchPathFilter
@@ -112,6 +113,7 @@
112113
from .types import ListWafStagesResponse
113114
from .types import Plan
114115
from .types import SearchBackendStagesRequest
116+
from .types import SearchWafStagesRequest
115117
from .types import SelectPlanRequest
116118
from .types import SetHeadStageRequest
117119
from .types import SetRouteRulesRequest
@@ -149,6 +151,7 @@
149151
"RuleHttpMatchMethodFilter",
150152
"RuleHttpMatchPathFilterPathFilterType",
151153
"SearchBackendStagesRequestOrderBy",
154+
"SearchWafStagesRequestOrderBy",
152155
"WafStageMode",
153156
"ScalewayLb",
154157
"RuleHttpMatchPathFilter",
@@ -238,6 +241,7 @@
238241
"ListWafStagesResponse",
239242
"Plan",
240243
"SearchBackendStagesRequest",
244+
"SearchWafStagesRequest",
241245
"SelectPlanRequest",
242246
"SetHeadStageRequest",
243247
"SetRouteRulesRequest",

0 commit comments

Comments
 (0)