Skip to content

Commit c7566e4

Browse files
authored
feat(cockpit): add update datasource method (#585)
1 parent 5a2a82a commit c7566e4

File tree

8 files changed

+166
-0
lines changed

8 files changed

+166
-0
lines changed

scaleway-async/scaleway_async/cockpit/v1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
from .types import RegionalApiListManagedAlertsRequest
6060
from .types import RegionalApiListTokensRequest
6161
from .types import RegionalApiTriggerTestAlertRequest
62+
from .types import RegionalApiUpdateDataSourceRequest
6263
from .types import UsageOverview
6364
from .api import CockpitV1GlobalAPI
6465
from .api import CockpitV1RegionalAPI
@@ -123,6 +124,7 @@
123124
"RegionalApiListManagedAlertsRequest",
124125
"RegionalApiListTokensRequest",
125126
"RegionalApiTriggerTestAlertRequest",
127+
"RegionalApiUpdateDataSourceRequest",
126128
"UsageOverview",
127129
"CockpitV1GlobalAPI",
128130
"CockpitV1RegionalAPI",

scaleway-async/scaleway_async/cockpit/v1/api.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
RegionalApiEnableAlertManagerRequest,
5252
RegionalApiEnableManagedAlertsRequest,
5353
RegionalApiTriggerTestAlertRequest,
54+
RegionalApiUpdateDataSourceRequest,
5455
Token,
5556
UsageOverview,
5657
)
@@ -84,6 +85,7 @@
8485
marshal_RegionalApiEnableAlertManagerRequest,
8586
marshal_RegionalApiEnableManagedAlertsRequest,
8687
marshal_RegionalApiTriggerTestAlertRequest,
88+
marshal_RegionalApiUpdateDataSourceRequest,
8789
)
8890

8991

@@ -784,6 +786,50 @@ async def list_data_sources_all(
784786
},
785787
)
786788

789+
async def update_data_source(
790+
self,
791+
*,
792+
data_source_id: str,
793+
region: Optional[Region] = None,
794+
name: Optional[str] = None,
795+
) -> DataSource:
796+
"""
797+
Update a data source.
798+
Update a given data source name, specified by the data source ID.
799+
:param data_source_id: ID of the data source to update.
800+
:param region: Region to target. If none is passed will use default region from the config.
801+
:param name: Updated name of the data source.
802+
:return: :class:`DataSource <DataSource>`
803+
804+
Usage:
805+
::
806+
807+
result = await api.update_data_source(
808+
data_source_id="example",
809+
)
810+
"""
811+
812+
param_region = validate_path_param(
813+
"region", region or self.client.default_region
814+
)
815+
param_data_source_id = validate_path_param("data_source_id", data_source_id)
816+
817+
res = self._request(
818+
"PATCH",
819+
f"/cockpit/v1/regions/{param_region}/data-sources/{param_data_source_id}",
820+
body=marshal_RegionalApiUpdateDataSourceRequest(
821+
RegionalApiUpdateDataSourceRequest(
822+
data_source_id=data_source_id,
823+
region=region,
824+
name=name,
825+
),
826+
self.client,
827+
),
828+
)
829+
830+
self._throw_on_error(res)
831+
return unmarshal_DataSource(res.json())
832+
787833
async def get_usage_overview(
788834
self,
789835
*,

scaleway-async/scaleway_async/cockpit/v1/marshalling.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
RegionalApiEnableAlertManagerRequest,
4444
RegionalApiEnableManagedAlertsRequest,
4545
RegionalApiTriggerTestAlertRequest,
46+
RegionalApiUpdateDataSourceRequest,
4647
)
4748

4849

@@ -818,3 +819,15 @@ def marshal_RegionalApiTriggerTestAlertRequest(
818819
output["project_id"] = request.project_id or defaults.default_project_id
819820

820821
return output
822+
823+
824+
def marshal_RegionalApiUpdateDataSourceRequest(
825+
request: RegionalApiUpdateDataSourceRequest,
826+
defaults: ProfileDefaults,
827+
) -> Dict[str, Any]:
828+
output: Dict[str, Any] = {}
829+
830+
if request.name is not None:
831+
output["name"] = request.name
832+
833+
return output

scaleway-async/scaleway_async/cockpit/v1/types.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1196,6 +1196,28 @@ class RegionalApiTriggerTestAlertRequest:
11961196
"""
11971197

11981198

1199+
@dataclass
1200+
class RegionalApiUpdateDataSourceRequest:
1201+
"""
1202+
Update a data source name.
1203+
"""
1204+
1205+
data_source_id: str
1206+
"""
1207+
ID of the data source to update.
1208+
"""
1209+
1210+
region: Optional[Region]
1211+
"""
1212+
Region to target. If none is passed will use default region from the config.
1213+
"""
1214+
1215+
name: Optional[str]
1216+
"""
1217+
Updated name of the data source.
1218+
"""
1219+
1220+
11991221
@dataclass
12001222
class UsageOverview:
12011223
scaleway_metrics_usage: Optional[Usage]

scaleway/scaleway/cockpit/v1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
from .types import RegionalApiListManagedAlertsRequest
6060
from .types import RegionalApiListTokensRequest
6161
from .types import RegionalApiTriggerTestAlertRequest
62+
from .types import RegionalApiUpdateDataSourceRequest
6263
from .types import UsageOverview
6364
from .api import CockpitV1GlobalAPI
6465
from .api import CockpitV1RegionalAPI
@@ -123,6 +124,7 @@
123124
"RegionalApiListManagedAlertsRequest",
124125
"RegionalApiListTokensRequest",
125126
"RegionalApiTriggerTestAlertRequest",
127+
"RegionalApiUpdateDataSourceRequest",
126128
"UsageOverview",
127129
"CockpitV1GlobalAPI",
128130
"CockpitV1RegionalAPI",

scaleway/scaleway/cockpit/v1/api.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
RegionalApiEnableAlertManagerRequest,
5252
RegionalApiEnableManagedAlertsRequest,
5353
RegionalApiTriggerTestAlertRequest,
54+
RegionalApiUpdateDataSourceRequest,
5455
Token,
5556
UsageOverview,
5657
)
@@ -84,6 +85,7 @@
8485
marshal_RegionalApiEnableAlertManagerRequest,
8586
marshal_RegionalApiEnableManagedAlertsRequest,
8687
marshal_RegionalApiTriggerTestAlertRequest,
88+
marshal_RegionalApiUpdateDataSourceRequest,
8789
)
8890

8991

@@ -784,6 +786,50 @@ def list_data_sources_all(
784786
},
785787
)
786788

789+
def update_data_source(
790+
self,
791+
*,
792+
data_source_id: str,
793+
region: Optional[Region] = None,
794+
name: Optional[str] = None,
795+
) -> DataSource:
796+
"""
797+
Update a data source.
798+
Update a given data source name, specified by the data source ID.
799+
:param data_source_id: ID of the data source to update.
800+
:param region: Region to target. If none is passed will use default region from the config.
801+
:param name: Updated name of the data source.
802+
:return: :class:`DataSource <DataSource>`
803+
804+
Usage:
805+
::
806+
807+
result = api.update_data_source(
808+
data_source_id="example",
809+
)
810+
"""
811+
812+
param_region = validate_path_param(
813+
"region", region or self.client.default_region
814+
)
815+
param_data_source_id = validate_path_param("data_source_id", data_source_id)
816+
817+
res = self._request(
818+
"PATCH",
819+
f"/cockpit/v1/regions/{param_region}/data-sources/{param_data_source_id}",
820+
body=marshal_RegionalApiUpdateDataSourceRequest(
821+
RegionalApiUpdateDataSourceRequest(
822+
data_source_id=data_source_id,
823+
region=region,
824+
name=name,
825+
),
826+
self.client,
827+
),
828+
)
829+
830+
self._throw_on_error(res)
831+
return unmarshal_DataSource(res.json())
832+
787833
def get_usage_overview(
788834
self,
789835
*,

scaleway/scaleway/cockpit/v1/marshalling.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
RegionalApiEnableAlertManagerRequest,
4444
RegionalApiEnableManagedAlertsRequest,
4545
RegionalApiTriggerTestAlertRequest,
46+
RegionalApiUpdateDataSourceRequest,
4647
)
4748

4849

@@ -818,3 +819,15 @@ def marshal_RegionalApiTriggerTestAlertRequest(
818819
output["project_id"] = request.project_id or defaults.default_project_id
819820

820821
return output
822+
823+
824+
def marshal_RegionalApiUpdateDataSourceRequest(
825+
request: RegionalApiUpdateDataSourceRequest,
826+
defaults: ProfileDefaults,
827+
) -> Dict[str, Any]:
828+
output: Dict[str, Any] = {}
829+
830+
if request.name is not None:
831+
output["name"] = request.name
832+
833+
return output

scaleway/scaleway/cockpit/v1/types.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1196,6 +1196,28 @@ class RegionalApiTriggerTestAlertRequest:
11961196
"""
11971197

11981198

1199+
@dataclass
1200+
class RegionalApiUpdateDataSourceRequest:
1201+
"""
1202+
Update a data source name.
1203+
"""
1204+
1205+
data_source_id: str
1206+
"""
1207+
ID of the data source to update.
1208+
"""
1209+
1210+
region: Optional[Region]
1211+
"""
1212+
Region to target. If none is passed will use default region from the config.
1213+
"""
1214+
1215+
name: Optional[str]
1216+
"""
1217+
Updated name of the data source.
1218+
"""
1219+
1220+
11991221
@dataclass
12001222
class UsageOverview:
12011223
scaleway_metrics_usage: Optional[Usage]

0 commit comments

Comments
 (0)