Skip to content

Commit

Permalink
Generate serverupdate
Browse files Browse the repository at this point in the history
  • Loading branch information
stackit-pipeline committed Nov 25, 2024
1 parent f519deb commit d13d295
Show file tree
Hide file tree
Showing 5 changed files with 443 additions and 0 deletions.
4 changes: 4 additions & 0 deletions services/serverupdate/src/stackit/serverupdate/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,15 @@
from stackit.serverupdate.models.enable_service_resource_payload import (
EnableServiceResourcePayload,
)
from stackit.serverupdate.models.get_update_policies_response import (
GetUpdatePoliciesResponse,
)
from stackit.serverupdate.models.get_update_schedules_response import (
GetUpdateSchedulesResponse,
)
from stackit.serverupdate.models.get_updates_list_response import GetUpdatesListResponse
from stackit.serverupdate.models.update import Update
from stackit.serverupdate.models.update_policy import UpdatePolicy
from stackit.serverupdate.models.update_schedule import UpdateSchedule
from stackit.serverupdate.models.update_update_schedule_payload import (
UpdateUpdateSchedulePayload,
Expand Down
232 changes: 232 additions & 0 deletions services/serverupdate/src/stackit/serverupdate/api/default_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
from stackit.serverupdate.models.enable_service_resource_payload import (
EnableServiceResourcePayload,
)
from stackit.serverupdate.models.get_update_policies_response import (
GetUpdatePoliciesResponse,
)
from stackit.serverupdate.models.get_update_schedules_response import (
GetUpdateSchedulesResponse,
)
Expand Down Expand Up @@ -2420,6 +2423,235 @@ def _get_update_schedule_serialize(
_request_auth=_request_auth,
)

@validate_call
def list_update_policies(
self,
project_id: Annotated[StrictStr, Field(description="project id")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> GetUpdatePoliciesResponse:
"""get list of update policies
:param project_id: project id (required)
:type project_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501 docstring might be too long

_param = self._list_update_policies_serialize(
project_id=project_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index,
)

_response_types_map: Dict[str, Optional[str]] = {
"200": "GetUpdatePoliciesResponse",
"400": None,
"404": None,
}
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
).data

@validate_call
def list_update_policies_with_http_info(
self,
project_id: Annotated[StrictStr, Field(description="project id")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[GetUpdatePoliciesResponse]:
"""get list of update policies
:param project_id: project id (required)
:type project_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501 docstring might be too long

_param = self._list_update_policies_serialize(
project_id=project_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index,
)

_response_types_map: Dict[str, Optional[str]] = {
"200": "GetUpdatePoliciesResponse",
"400": None,
"404": None,
}
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
)

@validate_call
def list_update_policies_without_preload_content(
self,
project_id: Annotated[StrictStr, Field(description="project id")],
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""get list of update policies
:param project_id: project id (required)
:type project_id: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501 docstring might be too long

_param = self._list_update_policies_serialize(
project_id=project_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index,
)

_response_types_map: Dict[str, Optional[str]] = {
"200": "GetUpdatePoliciesResponse",
"400": None,
"404": None,
}
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
return response_data.response

def _list_update_policies_serialize(
self,
project_id,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:

_host = None

_collection_formats: Dict[str, str] = {}

_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[str, Union[str, bytes]] = {}
_body_params: Optional[bytes] = None

# process the path parameters
if project_id is not None:
_path_params["projectId"] = project_id
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter

# set the HTTP header `Accept`
if "Accept" not in _header_params:
_header_params["Accept"] = self.api_client.select_header_accept(["application/json"])

# authentication setting
_auth_settings: List[str] = []

return self.api_client.param_serialize(
method="GET",
resource_path="/v1/projects/{projectId}/update-policies",
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth,
)

@validate_call
def list_update_schedules(
self,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,15 @@
from stackit.serverupdate.models.enable_service_resource_payload import (
EnableServiceResourcePayload,
)
from stackit.serverupdate.models.get_update_policies_response import (
GetUpdatePoliciesResponse,
)
from stackit.serverupdate.models.get_update_schedules_response import (
GetUpdateSchedulesResponse,
)
from stackit.serverupdate.models.get_updates_list_response import GetUpdatesListResponse
from stackit.serverupdate.models.update import Update
from stackit.serverupdate.models.update_policy import UpdatePolicy
from stackit.serverupdate.models.update_schedule import UpdateSchedule
from stackit.serverupdate.models.update_update_schedule_payload import (
UpdateUpdateSchedulePayload,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# coding: utf-8

"""
STACKIT Server Update Management API
API endpoints for Server Update Operations on STACKIT Servers.
The version of the OpenAPI document: 1.0
Contact: [email protected]
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501 docstring might be too long

from __future__ import annotations

import json
import pprint
from typing import Any, ClassVar, Dict, List, Optional, Set

from pydantic import BaseModel, ConfigDict
from typing_extensions import Self

from stackit.serverupdate.models.update_policy import UpdatePolicy


class GetUpdatePoliciesResponse(BaseModel):
"""
GetUpdatePoliciesResponse
"""

items: Optional[List[UpdatePolicy]] = None
__properties: ClassVar[List[str]] = ["items"]

model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)

def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))

def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of GetUpdatePoliciesResponse from a JSON string"""
return cls.from_dict(json.loads(json_str))

def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([])

_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in items (list)
_items = []
if self.items:
for _item in self.items:
if _item:
_items.append(_item.to_dict())
_dict["items"] = _items
return _dict

@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of GetUpdatePoliciesResponse from a dict"""
if obj is None:
return None

if not isinstance(obj, dict):
return cls.model_validate(obj)

_obj = cls.model_validate(
{
"items": (
[UpdatePolicy.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None
)
}
)
return _obj
Loading

0 comments on commit d13d295

Please sign in to comment.