Skip to content

Commit 98688fc

Browse files
feat(account): add project customization endpoint (#911)
Co-authored-by: Laure-di <62625835+Laure-di@users.noreply.github.com>
1 parent e1246c1 commit 98688fc

File tree

8 files changed

+1100
-0
lines changed

8 files changed

+1100
-0
lines changed

scaleway-async/scaleway_async/account/v3/__init__.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,22 @@
33
from .types import ContractType
44
from .types import ListContractSignaturesRequestOrderBy
55
from .types import ListProjectsRequestOrderBy
6+
from .types import QualificationArchitectureType
7+
from .types import QualificationHostApplicationSubUseCase
8+
from .types import QualificationHostWebsiteSubUseCase
69
from .types import Contract
10+
from .types import QualificationAiMachine
11+
from .types import QualificationArchiveData
12+
from .types import QualificationContainer
13+
from .types import QualificationDeploySoftware
14+
from .types import QualificationHostApplication
15+
from .types import QualificationHostWebsite
16+
from .types import QualificationOtherUseCase
17+
from .types import QualificationSetScalewayEnvironment
18+
from .types import QualificationShareData
719
from .types import ContractSignature
820
from .types import Project
21+
from .types import Qualification
922
from .types import CheckContractSignatureResponse
1023
from .types import ContractApiCheckContractSignatureRequest
1124
from .types import ContractApiCreateContractSignatureRequest
@@ -18,17 +31,32 @@
1831
from .types import ProjectApiDeleteProjectRequest
1932
from .types import ProjectApiGetProjectRequest
2033
from .types import ProjectApiListProjectsRequest
34+
from .types import ProjectApiSetProjectQualificationRequest
2135
from .types import ProjectApiUpdateProjectRequest
36+
from .types import ProjectQualification
2237
from .api import AccountV3ContractAPI
2338
from .api import AccountV3ProjectAPI
2439

2540
__all__ = [
2641
"ContractType",
2742
"ListContractSignaturesRequestOrderBy",
2843
"ListProjectsRequestOrderBy",
44+
"QualificationArchitectureType",
45+
"QualificationHostApplicationSubUseCase",
46+
"QualificationHostWebsiteSubUseCase",
2947
"Contract",
48+
"QualificationAiMachine",
49+
"QualificationArchiveData",
50+
"QualificationContainer",
51+
"QualificationDeploySoftware",
52+
"QualificationHostApplication",
53+
"QualificationHostWebsite",
54+
"QualificationOtherUseCase",
55+
"QualificationSetScalewayEnvironment",
56+
"QualificationShareData",
3057
"ContractSignature",
3158
"Project",
59+
"Qualification",
3260
"CheckContractSignatureResponse",
3361
"ContractApiCheckContractSignatureRequest",
3462
"ContractApiCreateContractSignatureRequest",
@@ -41,7 +69,9 @@
4169
"ProjectApiDeleteProjectRequest",
4270
"ProjectApiGetProjectRequest",
4371
"ProjectApiListProjectsRequest",
72+
"ProjectApiSetProjectQualificationRequest",
4473
"ProjectApiUpdateProjectRequest",
74+
"ProjectQualification",
4575
"AccountV3ContractAPI",
4676
"AccountV3ProjectAPI",
4777
]

scaleway-async/scaleway_async/account/v3/api.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,22 @@
2525
ListProjectsResponse,
2626
Project,
2727
ProjectApiCreateProjectRequest,
28+
ProjectApiSetProjectQualificationRequest,
2829
ProjectApiUpdateProjectRequest,
30+
ProjectQualification,
31+
Qualification,
2932
)
3033
from .marshalling import (
3134
unmarshal_ContractSignature,
3235
unmarshal_Project,
3336
unmarshal_CheckContractSignatureResponse,
3437
unmarshal_ListContractSignaturesResponse,
3538
unmarshal_ListProjectsResponse,
39+
unmarshal_ProjectQualification,
3640
marshal_ContractApiCheckContractSignatureRequest,
3741
marshal_ContractApiCreateContractSignatureRequest,
3842
marshal_ProjectApiCreateProjectRequest,
43+
marshal_ProjectApiSetProjectQualificationRequest,
3944
marshal_ProjectApiUpdateProjectRequest,
4045
)
4146
from ...std.types import (
@@ -491,3 +496,41 @@ async def update_project(
491496

492497
self._throw_on_error(res)
493498
return unmarshal_Project(res.json())
499+
500+
async def set_project_qualification(
501+
self,
502+
*,
503+
project_id: Optional[str] = None,
504+
qualification: Optional[Qualification] = None,
505+
) -> ProjectQualification:
506+
"""
507+
Set project use case.
508+
Set the project use case for a new or existing Project, specified by its Project ID. You can customize the use case, sub use case, and architecture type you want to use in the Project.
509+
:param project_id: Project ID.
510+
:param qualification: Use case chosen for the Project.
511+
:return: :class:`ProjectQualification <ProjectQualification>`
512+
513+
Usage:
514+
::
515+
516+
result = await api.set_project_qualification()
517+
"""
518+
519+
param_project_id = validate_path_param(
520+
"project_id", project_id or self.client.default_project_id
521+
)
522+
523+
res = self._request(
524+
"POST",
525+
f"/account/v3/projects/{param_project_id}/project-qualification",
526+
body=marshal_ProjectApiSetProjectQualificationRequest(
527+
ProjectApiSetProjectQualificationRequest(
528+
project_id=project_id,
529+
qualification=qualification,
530+
),
531+
self.client,
532+
),
533+
)
534+
535+
self._throw_on_error(res)
536+
return unmarshal_ProjectQualification(res.json())

0 commit comments

Comments
 (0)