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
69 changes: 69 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,73 @@
## Release (2025-11-14)
- `iaas`: [v1.0.0](services/iaas/CHANGELOG.md#v100)
- **Breaking Change:** Add required `region` parameter to most API methods in `DefaultApi` class.
- **Breaking Change:** Removal of API methods from `DefaultApi` class: `list_snapshots`, `update_image_scope_local`, `update_image_scope_public`.
- **Feature:** Add new API methods to `DefaultApi` class:
- `add_routes_to_routing_table`
- `add_routing_table_to_area`
- `create_network_area_region`
- `delete_network_area_region`
- `delete_route_from_routing_table`
- `delete_routing_table_from_area`
- `get_network_area_region`
- `get_route_of_routing_table`
- `get_routing_table_of_area`
- `image_from_volume`
- `list_network_area_regions`
- `list_routes_of_routing_table`
- `list_routing_tables_of_area`
- `list_snapshots_in_project`
- `update_network_area_region`
- `update_route_of_routing_table`
- `update_routing_table_of_area`
- Update of regex validators for model class attributes
- Update regex validators for `ip` attribute in `PublicIp`, `UpdatePublicIPPayload`, `CreatePublicIPPayload` model classes
- Update regex validators for `gateway` attribute in `UpdateNetworkIPv4Body`, `UpdateNetworkIPv6Body` model classes
- **Feature:** New model classes
- Network area:
- `RegionalArea`, `RegionalAreaListResponse`
- `CreateNetworkAreaRegionPayload`
- `RegionalAreaIPv4`, `UpdateRegionalAreaIPv4`
- Routing tables:
- `RoutingTable`, `RoutingTableListResponse`
- `AddRoutesToRoutingTablePayload`
- `AddRoutingTableToAreaPayload`
- `UpdateRouteOfRoutingTablePayload`, `UpdateRoutingTableOfAreaPayload`
- Routes:
- `RouteDestination`, `DestinationCIDRv4`, `DestinationCIDRv6`
- `RouteNexthop`, `NexthopInternet`, `NexthopIPv4`, `NexthopIPv6`, `NexthopBlackhole`
- Network (IPv4): `NetworkIPv4`, `CreateNetworkIPv4`, `CreateNetworkIPv4WithPrefix`, `CreateNetworkIPv4WithPrefixLength`
- Network (IPv6): `NetworkIPv6`, `CreateNetworkIPv6`, `CreateNetworkIPv6WithPrefix`, `CreateNetworkIPv6WithPrefixLength`
- other: `CreateServerPayloadAllOfNetworking`, `ImageFromVolumePayload`, `UpdateNetworkAreaRegionPayload`, `ServerNetworking`
- **Feature:** New attributes in model classes
- Add `region` attribute to `PublicNetwork` model class
- Add `destination` attribute to `Route` model class
- Add `import_progress` attribute to model classes `CreateImagePayload`, `Image`
- Add `encrypted` attribute to model class `Backup`
- Add `ipv4`, `ipv6`, `routing_table_id` attributes to model class `CreateNetworkPayload`, `PartialUpdateNetworkPayload`
- Add `ipv4`, `ipv6` `routing_table_id` attributes to model class `Network`
- Add `items` attribute to `CreateNetworkAreaRoutePayload` model class
- **Breaking Change:**: Removal of model classes
- Network area: `Area`, `AreaConfig`, `CreateAreaAddressFamily`, `UpdateAreaAddressFamily`, `AreaPrefixConfigIPv4`, `CreateAreaIPv4`, `UpdateAreaIPv4`
- Server: `CreateServerPayloadNetworking`
- Network: `CreateNetworkIPv4Body`, `NetworkAreaIPv4`, `CreateNetworkAddressFamily`, `UpdateNetworkAddressFamily`, `CreateNetworkIPv6Body`
- **Breaking Change:** Renaming of ID attributes in model classes
- Renaming of attribute `network_range_id` to `id` in `NetworkRange` model class
- Renaming of attribute `route_id` to `id` in `Route` model class
- Renaming of attribute `network_id` to `id` in `Network` model class
- Renaming of attribute `area_id` to `id` in `NetworkArea` model class
- Renaming of attribute `project_id` to `id` in `Project` model class
- **Breaking Change:** Renaming of `state` attribute to `status` in model classes `Network`, `NetworkArea`, `Project`
- **Breaking Change:** Type changes of attributes of model classes
- Change type of `networking` attribute from `CreateServerPayloadNetworking` to `ServerNetworking` in `Server` model class
- Change type of `networking` attribute from `CreateServerPayloadNetworking` to `CreateServerPayloadAllOfNetworking` in `CreateServerPayload` model class
- Change type of `nexthop` attribute from string to `RouteNexthop` in `Route` model class
- **Breaking Change:**
- Remove attribute `prefix` from `Route` model class
- Remove attribute `ipv4` from `NetworkArea`, `CreateNetworkAreaRoutePayload` model classes
- Remove attribute `address_family` from `CreateNetworkAreaPayload`, `CreateNetworkPayload`, `PartialUpdateNetworkAreaPayload`, `PartialUpdateNetworkPayload` model classes
- Remove attributes `gateway`, `gatewayv6`, `nameservers`, `nameservers_v6`, `prefixes`, `prefixes_v6`, `public_ip` from `Network` model class
- Remove attribute `openstack_project_id` from `Project` model class
- `cdn`:
- [v2.1.0](services/cdn/CHANGELOG.md#v210)
- **Breaking change:** Remove unused model classes: `GetLogsSearchFiltersResponse`, `PatchLokiLogSink`
Expand Down
33 changes: 18 additions & 15 deletions examples/iaas/create_network_area.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import os

from stackit.iaas.models import RegionalAreaIPv4
from stackit.iaas.models import CreateNetworkAreaRegionPayload
from stackit.iaas.api.default_api import DefaultApi
from stackit.iaas.models.create_network_area_payload import CreateNetworkAreaPayload
from stackit.iaas.models.create_area_address_family import CreateAreaAddressFamily
from stackit.iaas.models.create_area_ipv4 import CreateAreaIPv4
from stackit.iaas.models.network_range import NetworkRange
from stackit.core.configuration import Configuration

Expand All @@ -13,20 +13,23 @@
config = Configuration()
client = DefaultApi(config)


# Create new network area
create_network_area_payload = CreateNetworkAreaPayload(
name="example-network-area",
addressFamily=CreateAreaAddressFamily(
ipv4=CreateAreaIPv4(
defaultPrefixLen=25,
maxPrefixLen=29,
minPrefixLen=24,
networkRanges=[
NetworkRange(prefix="192.168.0.0/24"),
],
transferNetwork="192.160.0.0/24",
)
),
)
print(client.create_network_area(organization_id, create_network_area_payload))
network_area = client.create_network_area(organization_id, create_network_area_payload)
print(network_area)

# Create a new network area region
payload = CreateNetworkAreaRegionPayload(
ipv4=RegionalAreaIPv4(
defaultPrefixLen=25,
maxPrefixLen=29,
minPrefixLen=24,
networkRanges=[
NetworkRange(prefix="192.168.0.0/24"),
],
transferNetwork="192.160.0.0/24",
)
)
print(client.create_network_area_region(organization_id, network_area.id, "eu01", payload))
18 changes: 16 additions & 2 deletions examples/iaas/delete_network_area.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,27 @@
import os
import time

from stackit.iaas.api.default_api import DefaultApi
from stackit.core.configuration import Configuration

organization_id = os.getenv("ORGANIZATION_ID")
network_id = "NETWORK_ID"
network_area_id = os.getenv("NETWORK_AREA_ID")

# Create a new API client, that uses default authentication and configuration
config = Configuration()
client = DefaultApi(config)

client.delete_network_area(organization_id, network_id)
# Delete all configured network area regions first
list_regions_resp = client.list_network_area_regions(organization_id, network_area_id)
for region_id in list_regions_resp.regions:
client.delete_network_area_region(organization_id, network_area_id, region_id)

# wait for all network area regions to be deleted
while True:
list_regions_resp = client.list_network_area_regions(organization_id, network_area_id)
if len(list_regions_resp.regions) < 1:
break
time.sleep(3)

# Delete the network area
client.delete_network_area(organization_id, network_area_id)
70 changes: 70 additions & 0 deletions services/iaas/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,73 @@
## v1.0.0
- **Breaking Change:** Add required `region` parameter to most API methods in `DefaultApi` class.
- **Breaking Change:** Removal of API methods from `DefaultApi` class: `list_snapshots`, `update_image_scope_local`, `update_image_scope_public`.
- **Feature:** Add new API methods to `DefaultApi` class:
- `add_routes_to_routing_table`
- `add_routing_table_to_area`
- `create_network_area_region`
- `delete_network_area_region`
- `delete_route_from_routing_table`
- `delete_routing_table_from_area`
- `get_network_area_region`
- `get_route_of_routing_table`
- `get_routing_table_of_area`
- `image_from_volume`
- `list_network_area_regions`
- `list_routes_of_routing_table`
- `list_routing_tables_of_area`
- `list_snapshots_in_project`
- `update_network_area_region`
- `update_route_of_routing_table`
- `update_routing_table_of_area`
- Update of regex validators for model class attributes
- Update regex validators for `ip` attribute in `PublicIp`, `UpdatePublicIPPayload`, `CreatePublicIPPayload` model classes
- Update regex validators for `gateway` attribute in `UpdateNetworkIPv4Body`, `UpdateNetworkIPv6Body` model classes
- **Feature:** New model classes
- Network area:
- `RegionalArea`, `RegionalAreaListResponse`
- `CreateNetworkAreaRegionPayload`
- `RegionalAreaIPv4`, `UpdateRegionalAreaIPv4`
- Routing tables:
- `RoutingTable`, `RoutingTableListResponse`
- `AddRoutesToRoutingTablePayload`
- `AddRoutingTableToAreaPayload`
- `UpdateRouteOfRoutingTablePayload`, `UpdateRoutingTableOfAreaPayload`
- Routes:
- `RouteDestination`, `DestinationCIDRv4`, `DestinationCIDRv6`
- `RouteNexthop`, `NexthopInternet`, `NexthopIPv4`, `NexthopIPv6`, `NexthopBlackhole`
- Network (IPv4): `NetworkIPv4`, `CreateNetworkIPv4`, `CreateNetworkIPv4WithPrefix`, `CreateNetworkIPv4WithPrefixLength`
- Network (IPv6): `NetworkIPv6`, `CreateNetworkIPv6`, `CreateNetworkIPv6WithPrefix`, `CreateNetworkIPv6WithPrefixLength`
- other: `CreateServerPayloadAllOfNetworking`, `ImageFromVolumePayload`, `UpdateNetworkAreaRegionPayload`, `ServerNetworking`
- **Feature:** New attributes in model classes
- Add `region` attribute to `PublicNetwork` model class
- Add `destination` attribute to `Route` model class
- Add `import_progress` attribute to model classes `CreateImagePayload`, `Image`
- Add `encrypted` attribute to model class `Backup`
- Add `ipv4`, `ipv6`, `routing_table_id` attributes to model class `CreateNetworkPayload`, `PartialUpdateNetworkPayload`
- Add `ipv4`, `ipv6` `routing_table_id` attributes to model class `Network`
- Add `items` attribute to `CreateNetworkAreaRoutePayload` model class
- **Breaking Change:**: Removal of model classes
- Network area: `Area`, `AreaConfig`, `CreateAreaAddressFamily`, `UpdateAreaAddressFamily`, `AreaPrefixConfigIPv4`, `CreateAreaIPv4`, `UpdateAreaIPv4`
- Server: `CreateServerPayloadNetworking`
- Network: `CreateNetworkIPv4Body`, `NetworkAreaIPv4`, `CreateNetworkAddressFamily`, `UpdateNetworkAddressFamily`, `CreateNetworkIPv6Body`
- **Breaking Change:** Renaming of ID attributes in model classes
- Renaming of attribute `network_range_id` to `id` in `NetworkRange` model class
- Renaming of attribute `route_id` to `id` in `Route` model class
- Renaming of attribute `network_id` to `id` in `Network` model class
- Renaming of attribute `area_id` to `id` in `NetworkArea` model class
- Renaming of attribute `project_id` to `id` in `Project` model class
- **Breaking Change:** Renaming of `state` attribute to `status` in model classes `Network`, `NetworkArea`, `Project`
- **Breaking Change:** Type changes of attributes of model classes
- Change type of `networking` attribute from `CreateServerPayloadNetworking` to `ServerNetworking` in `Server` model class
- Change type of `networking` attribute from `CreateServerPayloadNetworking` to `CreateServerPayloadAllOfNetworking` in `CreateServerPayload` model class
- Change type of `nexthop` attribute from string to `RouteNexthop` in `Route` model class
- **Breaking Change:**
- Remove attribute `prefix` from `Route` model class
- Remove attribute `ipv4` from `NetworkArea`, `CreateNetworkAreaRoutePayload` model classes
- Remove attribute `address_family` from `CreateNetworkAreaPayload`, `CreateNetworkPayload`, `PartialUpdateNetworkAreaPayload`, `PartialUpdateNetworkPayload` model classes
- Remove attributes `gateway`, `gatewayv6`, `nameservers`, `nameservers_v6`, `prefixes`, `prefixes_v6`, `public_ip` from `Network` model class
- Remove attribute `openstack_project_id` from `Project` model class

## v0.9.0
- Add `created_at` and `updated_at` attribute to `SecurityGroupRule`, `BaseSecurityGroupRule` and `CreateSecurityGroupRulePayload` model classes
- Add `description` attribute to `NIC`, `CreateNicPayload` and `UpdateNicPayload` model classes
Expand Down
2 changes: 1 addition & 1 deletion services/iaas/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "stackit-iaas"

[tool.poetry]
name = "stackit-iaas"
version = "v0.9.0"
version = "v1.0.0"
authors = [
"STACKIT Developer Tools <developer-tools@stackit.cloud>",
]
Expand Down
Loading