Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
196 changes: 139 additions & 57 deletions services/iaas/src/stackit/iaas/__init__.py

Large diffs are not rendered by default.

21,158 changes: 14,514 additions & 6,644 deletions services/iaas/src/stackit/iaas/api/default_api.py

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion services/iaas/src/stackit/iaas/api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

This API allows you to create and modify IaaS resources.

The version of the OpenAPI document: 1
The version of the OpenAPI document: 2beta1
Contact: [email protected]
Generated by OpenAPI Generator (https://openapi-generator.tech)

Expand Down
9 changes: 4 additions & 5 deletions services/iaas/src/stackit/iaas/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

This API allows you to create and modify IaaS resources.

The version of the OpenAPI document: 1
The version of the OpenAPI document: 2beta1
Contact: [email protected]
Generated by OpenAPI Generator (https://openapi-generator.tech)

Expand Down Expand Up @@ -54,7 +54,7 @@ def __init__(
)
"""Constructor
"""
self._base_path = "https://iaas.api.eu01.stackit.cloud"
self._base_path = "https://iaas.api.stackit.cloud"
"""Default Base url
"""
self.server_index = 0 if server_index is None else server_index
Expand All @@ -78,13 +78,12 @@ def get_host_settings(self) -> List[HostSetting]:
"""
return [
{
"url": "https://iaas.api.{region}stackit.cloud",
"url": "https://iaas.api.stackit.cloud",
"description": "No description provided",
"variables": {
"region": {
"description": "No description provided",
"default_value": "eu01.",
"enum_values": ["eu01."],
"default_value": "global",
}
},
}
Expand Down
2 changes: 1 addition & 1 deletion services/iaas/src/stackit/iaas/exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

This API allows you to create and modify IaaS resources.

The version of the OpenAPI document: 1
The version of the OpenAPI document: 2beta1
Contact: [email protected]
Generated by OpenAPI Generator (https://openapi-generator.tech)

Expand Down
101 changes: 80 additions & 21 deletions services/iaas/src/stackit/iaas/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

This API allows you to create and modify IaaS resources.

The version of the OpenAPI document: 1
The version of the OpenAPI document: 2beta1
Contact: [email protected]
Generated by OpenAPI Generator (https://openapi-generator.tech)

Expand All @@ -15,14 +15,17 @@


# import models into model package
from stackit.iaas.models.add_routes_to_routing_table_payload import (
AddRoutesToRoutingTablePayload,
)
from stackit.iaas.models.add_routing_table_to_area_payload import (
AddRoutingTableToAreaPayload,
)
from stackit.iaas.models.add_volume_to_server_payload import AddVolumeToServerPayload
from stackit.iaas.models.affinity_group import AffinityGroup
from stackit.iaas.models.affinity_group_list_response import AffinityGroupListResponse
from stackit.iaas.models.allowed_addresses_inner import AllowedAddressesInner
from stackit.iaas.models.area import Area
from stackit.iaas.models.area_config import AreaConfig
from stackit.iaas.models.area_id import AreaId
from stackit.iaas.models.area_prefix_config_ipv4 import AreaPrefixConfigIPv4
from stackit.iaas.models.availability_zone_list_response import (
AvailabilityZoneListResponse,
)
Expand All @@ -33,21 +36,36 @@
from stackit.iaas.models.boot_volume import BootVolume
from stackit.iaas.models.boot_volume_source import BootVolumeSource
from stackit.iaas.models.create_affinity_group_payload import CreateAffinityGroupPayload
from stackit.iaas.models.create_area_address_family import CreateAreaAddressFamily
from stackit.iaas.models.create_area_ipv4 import CreateAreaIPv4
from stackit.iaas.models.create_backup_payload import CreateBackupPayload
from stackit.iaas.models.create_image_payload import CreateImagePayload
from stackit.iaas.models.create_key_pair_payload import CreateKeyPairPayload
from stackit.iaas.models.create_network_address_family import CreateNetworkAddressFamily
from stackit.iaas.models.create_management_network_payload import (
CreateManagementNetworkPayload,
)
from stackit.iaas.models.create_management_network_route_payload import (
CreateManagementNetworkRoutePayload,
)
from stackit.iaas.models.create_network_area_payload import CreateNetworkAreaPayload
from stackit.iaas.models.create_network_area_range_payload import (
CreateNetworkAreaRangePayload,
)
from stackit.iaas.models.create_network_area_route_payload import (
CreateNetworkAreaRoutePayload,
)
from stackit.iaas.models.create_network_ipv4_body import CreateNetworkIPv4Body
from stackit.iaas.models.create_network_ipv6_body import CreateNetworkIPv6Body
from stackit.iaas.models.create_network_ipv4 import CreateNetworkIPv4
from stackit.iaas.models.create_network_ipv4_with_prefix import (
CreateNetworkIPv4WithPrefix,
)
from stackit.iaas.models.create_network_ipv4_with_prefix_length import (
CreateNetworkIPv4WithPrefixLength,
)
from stackit.iaas.models.create_network_ipv6 import CreateNetworkIPv6
from stackit.iaas.models.create_network_ipv6_with_prefix import (
CreateNetworkIPv6WithPrefix,
)
from stackit.iaas.models.create_network_ipv6_with_prefix_length import (
CreateNetworkIPv6WithPrefixLength,
)
from stackit.iaas.models.create_network_payload import CreateNetworkPayload
from stackit.iaas.models.create_nic_payload import CreateNicPayload
from stackit.iaas.models.create_protocol import CreateProtocol
Expand All @@ -64,11 +82,12 @@
CreateServerNetworkingWithNics,
)
from stackit.iaas.models.create_server_payload import CreateServerPayload
from stackit.iaas.models.create_server_payload_networking import (
CreateServerPayloadNetworking,
from stackit.iaas.models.create_server_payload_all_of_networking import (
CreateServerPayloadAllOfNetworking,
)
from stackit.iaas.models.create_snapshot_payload import CreateSnapshotPayload
from stackit.iaas.models.create_volume_payload import CreateVolumePayload
from stackit.iaas.models.destination_cidrv4 import DestinationCIDRv4
from stackit.iaas.models.destination_cidrv6 import DestinationCIDRv6
from stackit.iaas.models.error import Error
from stackit.iaas.models.get_server_log200_response import GetServerLog200Response
from stackit.iaas.models.icmp_parameters import ICMPParameters
Expand All @@ -84,13 +103,24 @@
from stackit.iaas.models.keypair import Keypair
from stackit.iaas.models.machine_type import MachineType
from stackit.iaas.models.machine_type_list_response import MachineTypeListResponse
from stackit.iaas.models.management_route import ManagementRoute
from stackit.iaas.models.management_route_destination import ManagementRouteDestination
from stackit.iaas.models.management_route_list_response import (
ManagementRouteListResponse,
)
from stackit.iaas.models.management_route_nexthop import ManagementRouteNexthop
from stackit.iaas.models.network import Network
from stackit.iaas.models.network_area import NetworkArea
from stackit.iaas.models.network_area_ipv4 import NetworkAreaIPv4
from stackit.iaas.models.network_area_list_response import NetworkAreaListResponse
from stackit.iaas.models.network_ipv4 import NetworkIPv4
from stackit.iaas.models.network_ipv6 import NetworkIPv6
from stackit.iaas.models.network_list_response import NetworkListResponse
from stackit.iaas.models.network_range import NetworkRange
from stackit.iaas.models.network_range_list_response import NetworkRangeListResponse
from stackit.iaas.models.nexthop_blackhole import NexthopBlackhole
from stackit.iaas.models.nexthop_internet import NexthopInternet
from stackit.iaas.models.nexthop_ipv4 import NexthopIPv4
from stackit.iaas.models.nexthop_ipv6 import NexthopIPv6
from stackit.iaas.models.nic import NIC
from stackit.iaas.models.nic_list_response import NICListResponse
from stackit.iaas.models.partial_update_network_area_payload import (
Expand All @@ -110,13 +140,20 @@
from stackit.iaas.models.quota import Quota
from stackit.iaas.models.quota_list import QuotaList
from stackit.iaas.models.quota_list_response import QuotaListResponse
from stackit.iaas.models.regional_area import RegionalArea
from stackit.iaas.models.regional_area_ipv4 import RegionalAreaIPv4
from stackit.iaas.models.regional_area_list_response import RegionalAreaListResponse
from stackit.iaas.models.request import Request
from stackit.iaas.models.request_resource import RequestResource
from stackit.iaas.models.rescue_server_payload import RescueServerPayload
from stackit.iaas.models.resize_server_payload import ResizeServerPayload
from stackit.iaas.models.resize_volume_payload import ResizeVolumePayload
from stackit.iaas.models.route import Route
from stackit.iaas.models.route_destination import RouteDestination
from stackit.iaas.models.route_list_response import RouteListResponse
from stackit.iaas.models.route_nexthop import RouteNexthop
from stackit.iaas.models.routing_table import RoutingTable
from stackit.iaas.models.routing_table_list_response import RoutingTableListResponse
from stackit.iaas.models.security_group import SecurityGroup
from stackit.iaas.models.security_group_list_response import SecurityGroupListResponse
from stackit.iaas.models.security_group_rule import SecurityGroupRule
Expand All @@ -125,38 +162,60 @@
)
from stackit.iaas.models.security_group_rule_protocol import SecurityGroupRuleProtocol
from stackit.iaas.models.server import Server
from stackit.iaas.models.server_agent import ServerAgent
from stackit.iaas.models.server_console_url import ServerConsoleUrl
from stackit.iaas.models.server_list_response import ServerListResponse
from stackit.iaas.models.server_maintenance import ServerMaintenance
from stackit.iaas.models.server_network import ServerNetwork
from stackit.iaas.models.server_networking import ServerNetworking
from stackit.iaas.models.service_account_mail_list_response import (
ServiceAccountMailListResponse,
)
from stackit.iaas.models.set_image_share_payload import SetImageSharePayload
from stackit.iaas.models.snapshot import Snapshot
from stackit.iaas.models.snapshot_list_response import SnapshotListResponse
from stackit.iaas.models.static_area_id import StaticAreaID
from stackit.iaas.models.update_area_address_family import UpdateAreaAddressFamily
from stackit.iaas.models.update_area_ipv4 import UpdateAreaIPv4
from stackit.iaas.models.update_attached_volume_payload import (
UpdateAttachedVolumePayload,
)
from stackit.iaas.models.update_backup_payload import UpdateBackupPayload
from stackit.iaas.models.update_image_payload import UpdateImagePayload
from stackit.iaas.models.update_image_share_payload import UpdateImageSharePayload
from stackit.iaas.models.update_key_pair_payload import UpdateKeyPairPayload
from stackit.iaas.models.update_network_address_family import UpdateNetworkAddressFamily
from stackit.iaas.models.update_network_area_route_payload import (
UpdateNetworkAreaRoutePayload,
from stackit.iaas.models.update_management_network_route_payload import (
UpdateManagementNetworkRoutePayload,
)
from stackit.iaas.models.update_network_ipv4_body import UpdateNetworkIPv4Body
from stackit.iaas.models.update_network_ipv6_body import UpdateNetworkIPv6Body
from stackit.iaas.models.update_nic_payload import UpdateNicPayload
from stackit.iaas.models.update_public_ip_payload import UpdatePublicIPPayload
from stackit.iaas.models.update_security_group_payload import UpdateSecurityGroupPayload
from stackit.iaas.models.update_regional_area_ipv4 import UpdateRegionalAreaIPv4
from stackit.iaas.models.update_route_of_routing_table_payload import (
UpdateRouteOfRoutingTablePayload,
)
from stackit.iaas.models.update_routing_table_of_area_payload import (
UpdateRoutingTableOfAreaPayload,
)
from stackit.iaas.models.update_server_payload import UpdateServerPayload
from stackit.iaas.models.update_snapshot_payload import UpdateSnapshotPayload
from stackit.iaas.models.update_volume_payload import UpdateVolumePayload
from stackit.iaas.models.v2beta1_configure_network_area_region_payload import (
V2beta1ConfigureNetworkAreaRegionPayload,
)
from stackit.iaas.models.v2beta1_create_snapshot_payload import (
V2beta1CreateSnapshotPayload,
)
from stackit.iaas.models.v2beta1_update_backup_payload import V2beta1UpdateBackupPayload
from stackit.iaas.models.v2beta1_update_network_area_region_payload import (
V2beta1UpdateNetworkAreaRegionPayload,
)
from stackit.iaas.models.v2beta1_update_route_of_area_payload import (
V2beta1UpdateRouteOfAreaPayload,
)
from stackit.iaas.models.v2beta1_update_security_group_payload import (
V2beta1UpdateSecurityGroupPayload,
)
from stackit.iaas.models.v2beta1_update_snapshot_payload import (
V2beta1UpdateSnapshotPayload,
)
from stackit.iaas.models.volume import Volume
from stackit.iaas.models.volume_attachment import VolumeAttachment
from stackit.iaas.models.volume_attachment_list_response import (
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# coding: utf-8

"""
IaaS-API

This API allows you to create and modify IaaS resources.

The version of the OpenAPI document: 2beta1
Contact: [email protected]
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
""" # noqa: E501

from __future__ import annotations

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

from pydantic import BaseModel, ConfigDict, Field
from typing_extensions import Self

from stackit.iaas.models.route import Route


class AddRoutesToRoutingTablePayload(BaseModel):
"""
Object represents a request to add network routes.
""" # noqa: E501

items: List[Route] = Field(description="A list of routes.")
__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 AddRoutesToRoutingTablePayload 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 AddRoutesToRoutingTablePayload from a dict"""
if obj is None:
return None

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

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