stackit-dns 0.8.0__tar.gz → 0.10.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/PKG-INFO +2 -2
  2. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/pyproject.toml +1 -1
  3. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/__init__.py +4 -0
  4. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/api/default_api.py +88 -36
  5. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/__init__.py +1 -0
  6. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/create_label_payload.py +1 -1
  7. stackit_dns-0.10.0/src/stackit/dns/models/create_move_code_payload.py +86 -0
  8. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/create_zone_payload.py +7 -0
  9. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/domain_observability_extension.py +11 -1
  10. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/label.py +1 -1
  11. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/partial_update_zone_payload.py +10 -3
  12. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/zone.py +5 -0
  13. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/zone_observability_extension.py +2 -5
  14. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/.gitignore +0 -0
  15. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/LICENSE.md +0 -0
  16. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/NOTICE.txt +0 -0
  17. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/README.md +0 -0
  18. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/api/__init__.py +0 -0
  19. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/api_client.py +0 -0
  20. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/api_response.py +0 -0
  21. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/configuration.py +0 -0
  22. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/exceptions.py +0 -0
  23. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/clone_zone_payload.py +0 -0
  24. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/create_label_response.py +0 -0
  25. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/create_record_set_payload.py +0 -0
  26. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/delete_label_response.py +0 -0
  27. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/domain_extensions.py +0 -0
  28. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/error_message.py +0 -0
  29. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/export_record_sets_payload.py +0 -0
  30. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/import_record_sets_payload.py +0 -0
  31. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/import_record_sets_response.py +0 -0
  32. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/import_summary.py +0 -0
  33. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/list_labels_response.py +0 -0
  34. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/list_record_sets_response.py +0 -0
  35. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/list_zones_response.py +0 -0
  36. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/message.py +0 -0
  37. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/move_code_response.py +0 -0
  38. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/move_zone_payload.py +0 -0
  39. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/partial_update_record_payload.py +0 -0
  40. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/partial_update_record_set_payload.py +0 -0
  41. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/record.py +0 -0
  42. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/record_data_exchange.py +0 -0
  43. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/record_payload.py +0 -0
  44. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/record_set.py +0 -0
  45. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/record_set_response.py +0 -0
  46. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/validate_move_code_payload.py +0 -0
  47. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/zone_data_exchange.py +0 -0
  48. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/zone_extensions.py +0 -0
  49. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/zone_models_import_record_model.py +0 -0
  50. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/zone_models_import_zone_json.py +0 -0
  51. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/models/zone_response.py +0 -0
  52. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/py.typed +0 -0
  53. {stackit_dns-0.8.0 → stackit_dns-0.10.0}/src/stackit/dns/rest.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: stackit-dns
3
- Version: 0.8.0
3
+ Version: v0.10.0
4
4
  Summary: STACKIT DNS API
5
5
  Project-URL: Homepage, https://github.com/stackitcloud/stackit-sdk-python
6
6
  Project-URL: Issues, https://github.com/stackitcloud/stackit-sdk-python/issues
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stackit-dns"
3
- version = "v0.8.0"
3
+ version = "v0.10.0"
4
4
  description = "STACKIT DNS API"
5
5
  authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
6
6
  requires-python = ">=3.10,<4.0"
@@ -31,6 +31,7 @@ __all__ = [
31
31
  "CloneZonePayload",
32
32
  "CreateLabelPayload",
33
33
  "CreateLabelResponse",
34
+ "CreateMoveCodePayload",
34
35
  "CreateRecordSetPayload",
35
36
  "CreateZonePayload",
36
37
  "DeleteLabelResponse",
@@ -88,6 +89,9 @@ from stackit.dns.models.create_label_payload import (
88
89
  from stackit.dns.models.create_label_response import (
89
90
  CreateLabelResponse as CreateLabelResponse,
90
91
  )
92
+ from stackit.dns.models.create_move_code_payload import (
93
+ CreateMoveCodePayload as CreateMoveCodePayload,
94
+ )
91
95
  from stackit.dns.models.create_record_set_payload import (
92
96
  CreateRecordSetPayload as CreateRecordSetPayload,
93
97
  )
@@ -12,6 +12,7 @@ Generated by OpenAPI Generator (https://openapi-generator.tech)
12
12
  Do not edit the class manually.
13
13
  """ # noqa: E501
14
14
 
15
+ import warnings
15
16
  from typing import Any, Dict, List, Optional, Tuple, Union
16
17
 
17
18
  from pydantic import (
@@ -30,6 +31,7 @@ from stackit.dns.api_response import ApiResponse
30
31
  from stackit.dns.models.clone_zone_payload import CloneZonePayload
31
32
  from stackit.dns.models.create_label_payload import CreateLabelPayload
32
33
  from stackit.dns.models.create_label_response import CreateLabelResponse
34
+ from stackit.dns.models.create_move_code_payload import CreateMoveCodePayload
33
35
  from stackit.dns.models.create_record_set_payload import CreateRecordSetPayload
34
36
  from stackit.dns.models.create_zone_payload import CreateZonePayload
35
37
  from stackit.dns.models.delete_label_response import DeleteLabelResponse
@@ -362,9 +364,9 @@ class DefaultApi:
362
364
  _headers: Optional[Dict[StrictStr, Any]] = None,
363
365
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
364
366
  ) -> CreateLabelResponse:
365
- """Create or update label
367
+ """(Deprecated) Create or update label [DEPRECATED]
366
368
 
367
- Create or update label
369
+ Create or update label DEPRECATED: Scheduled for sunset on 2027-10-01. Use the labelsMap field in the Zone resource instead.
368
370
 
369
371
  :param project_id: project id (required)
370
372
  :type project_id: str
@@ -393,6 +395,7 @@ class DefaultApi:
393
395
  :type _host_index: int, optional
394
396
  :return: Returns the result object.
395
397
  """ # noqa: E501
398
+ warnings.warn("PUT /v1/projects/{projectId}/zones/{zoneId}/labels is deprecated.", DeprecationWarning)
396
399
 
397
400
  _param = self._create_label_serialize(
398
401
  project_id=project_id,
@@ -434,9 +437,9 @@ class DefaultApi:
434
437
  _headers: Optional[Dict[StrictStr, Any]] = None,
435
438
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
436
439
  ) -> ApiResponse[CreateLabelResponse]:
437
- """Create or update label
440
+ """(Deprecated) Create or update label [DEPRECATED]
438
441
 
439
- Create or update label
442
+ Create or update label DEPRECATED: Scheduled for sunset on 2027-10-01. Use the labelsMap field in the Zone resource instead.
440
443
 
441
444
  :param project_id: project id (required)
442
445
  :type project_id: str
@@ -465,6 +468,7 @@ class DefaultApi:
465
468
  :type _host_index: int, optional
466
469
  :return: Returns the result object.
467
470
  """ # noqa: E501
471
+ warnings.warn("PUT /v1/projects/{projectId}/zones/{zoneId}/labels is deprecated.", DeprecationWarning)
468
472
 
469
473
  _param = self._create_label_serialize(
470
474
  project_id=project_id,
@@ -506,9 +510,9 @@ class DefaultApi:
506
510
  _headers: Optional[Dict[StrictStr, Any]] = None,
507
511
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
508
512
  ) -> RESTResponseType:
509
- """Create or update label
513
+ """(Deprecated) Create or update label [DEPRECATED]
510
514
 
511
- Create or update label
515
+ Create or update label DEPRECATED: Scheduled for sunset on 2027-10-01. Use the labelsMap field in the Zone resource instead.
512
516
 
513
517
  :param project_id: project id (required)
514
518
  :type project_id: str
@@ -537,6 +541,7 @@ class DefaultApi:
537
541
  :type _host_index: int, optional
538
542
  :return: Returns the result object.
539
543
  """ # noqa: E501
544
+ warnings.warn("PUT /v1/projects/{projectId}/zones/{zoneId}/labels is deprecated.", DeprecationWarning)
540
545
 
541
546
  _param = self._create_label_serialize(
542
547
  project_id=project_id,
@@ -627,6 +632,9 @@ class DefaultApi:
627
632
  self,
628
633
  project_id: Annotated[StrictStr, Field(description="project id")],
629
634
  zone_id: Annotated[StrictStr, Field(description="zone id")],
635
+ create_move_code_payload: Annotated[
636
+ Optional[CreateMoveCodePayload], Field(description="information about the movecode")
637
+ ] = None,
630
638
  _request_timeout: Union[
631
639
  None,
632
640
  Annotated[StrictFloat, Field(gt=0)],
@@ -645,6 +653,8 @@ class DefaultApi:
645
653
  :type project_id: str
646
654
  :param zone_id: zone id (required)
647
655
  :type zone_id: str
656
+ :param create_move_code_payload: information about the movecode
657
+ :type create_move_code_payload: CreateMoveCodePayload
648
658
  :param _request_timeout: timeout setting for this request. If one
649
659
  number provided, it will be total request
650
660
  timeout. It can also be a pair (tuple) of
@@ -670,6 +680,7 @@ class DefaultApi:
670
680
  _param = self._create_move_code_serialize(
671
681
  project_id=project_id,
672
682
  zone_id=zone_id,
683
+ create_move_code_payload=create_move_code_payload,
673
684
  _request_auth=_request_auth,
674
685
  _content_type=_content_type,
675
686
  _headers=_headers,
@@ -695,6 +706,9 @@ class DefaultApi:
695
706
  self,
696
707
  project_id: Annotated[StrictStr, Field(description="project id")],
697
708
  zone_id: Annotated[StrictStr, Field(description="zone id")],
709
+ create_move_code_payload: Annotated[
710
+ Optional[CreateMoveCodePayload], Field(description="information about the movecode")
711
+ ] = None,
698
712
  _request_timeout: Union[
699
713
  None,
700
714
  Annotated[StrictFloat, Field(gt=0)],
@@ -713,6 +727,8 @@ class DefaultApi:
713
727
  :type project_id: str
714
728
  :param zone_id: zone id (required)
715
729
  :type zone_id: str
730
+ :param create_move_code_payload: information about the movecode
731
+ :type create_move_code_payload: CreateMoveCodePayload
716
732
  :param _request_timeout: timeout setting for this request. If one
717
733
  number provided, it will be total request
718
734
  timeout. It can also be a pair (tuple) of
@@ -738,6 +754,7 @@ class DefaultApi:
738
754
  _param = self._create_move_code_serialize(
739
755
  project_id=project_id,
740
756
  zone_id=zone_id,
757
+ create_move_code_payload=create_move_code_payload,
741
758
  _request_auth=_request_auth,
742
759
  _content_type=_content_type,
743
760
  _headers=_headers,
@@ -763,6 +780,9 @@ class DefaultApi:
763
780
  self,
764
781
  project_id: Annotated[StrictStr, Field(description="project id")],
765
782
  zone_id: Annotated[StrictStr, Field(description="zone id")],
783
+ create_move_code_payload: Annotated[
784
+ Optional[CreateMoveCodePayload], Field(description="information about the movecode")
785
+ ] = None,
766
786
  _request_timeout: Union[
767
787
  None,
768
788
  Annotated[StrictFloat, Field(gt=0)],
@@ -781,6 +801,8 @@ class DefaultApi:
781
801
  :type project_id: str
782
802
  :param zone_id: zone id (required)
783
803
  :type zone_id: str
804
+ :param create_move_code_payload: information about the movecode
805
+ :type create_move_code_payload: CreateMoveCodePayload
784
806
  :param _request_timeout: timeout setting for this request. If one
785
807
  number provided, it will be total request
786
808
  timeout. It can also be a pair (tuple) of
@@ -806,6 +828,7 @@ class DefaultApi:
806
828
  _param = self._create_move_code_serialize(
807
829
  project_id=project_id,
808
830
  zone_id=zone_id,
831
+ create_move_code_payload=create_move_code_payload,
809
832
  _request_auth=_request_auth,
810
833
  _content_type=_content_type,
811
834
  _headers=_headers,
@@ -826,6 +849,7 @@ class DefaultApi:
826
849
  self,
827
850
  project_id,
828
851
  zone_id,
852
+ create_move_code_payload,
829
853
  _request_auth,
830
854
  _content_type,
831
855
  _headers,
@@ -852,11 +876,21 @@ class DefaultApi:
852
876
  # process the header parameters
853
877
  # process the form parameters
854
878
  # process the body parameter
879
+ if create_move_code_payload is not None:
880
+ _body_params = create_move_code_payload
855
881
 
856
882
  # set the HTTP header `Accept`
857
883
  if "Accept" not in _header_params:
858
884
  _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
859
885
 
886
+ # set the HTTP header `Content-Type`
887
+ if _content_type:
888
+ _header_params["Content-Type"] = _content_type
889
+ else:
890
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
891
+ if _default_content_type is not None:
892
+ _header_params["Content-Type"] = _default_content_type
893
+
860
894
  # authentication setting
861
895
  _auth_settings: List[str] = []
862
896
 
@@ -1434,9 +1468,9 @@ class DefaultApi:
1434
1468
  _headers: Optional[Dict[StrictStr, Any]] = None,
1435
1469
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1436
1470
  ) -> DeleteLabelResponse:
1437
- """Delete a label
1471
+ """(Deprecated) Delete a label [DEPRECATED]
1438
1472
 
1439
- Delete a label
1473
+ Delete a label DEPRECATED: Scheduled for sunset on 2027-10-01. Use the labelsMap field in the Zone resource instead.
1440
1474
 
1441
1475
  :param project_id: project id (required)
1442
1476
  :type project_id: str
@@ -1465,6 +1499,7 @@ class DefaultApi:
1465
1499
  :type _host_index: int, optional
1466
1500
  :return: Returns the result object.
1467
1501
  """ # noqa: E501
1502
+ warnings.warn("DELETE /v1/projects/{projectId}/zones/{zoneId}/labels/{key} is deprecated.", DeprecationWarning)
1468
1503
 
1469
1504
  _param = self._delete_label_serialize(
1470
1505
  project_id=project_id,
@@ -1507,9 +1542,9 @@ class DefaultApi:
1507
1542
  _headers: Optional[Dict[StrictStr, Any]] = None,
1508
1543
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1509
1544
  ) -> ApiResponse[DeleteLabelResponse]:
1510
- """Delete a label
1545
+ """(Deprecated) Delete a label [DEPRECATED]
1511
1546
 
1512
- Delete a label
1547
+ Delete a label DEPRECATED: Scheduled for sunset on 2027-10-01. Use the labelsMap field in the Zone resource instead.
1513
1548
 
1514
1549
  :param project_id: project id (required)
1515
1550
  :type project_id: str
@@ -1538,6 +1573,7 @@ class DefaultApi:
1538
1573
  :type _host_index: int, optional
1539
1574
  :return: Returns the result object.
1540
1575
  """ # noqa: E501
1576
+ warnings.warn("DELETE /v1/projects/{projectId}/zones/{zoneId}/labels/{key} is deprecated.", DeprecationWarning)
1541
1577
 
1542
1578
  _param = self._delete_label_serialize(
1543
1579
  project_id=project_id,
@@ -1580,9 +1616,9 @@ class DefaultApi:
1580
1616
  _headers: Optional[Dict[StrictStr, Any]] = None,
1581
1617
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1582
1618
  ) -> RESTResponseType:
1583
- """Delete a label
1619
+ """(Deprecated) Delete a label [DEPRECATED]
1584
1620
 
1585
- Delete a label
1621
+ Delete a label DEPRECATED: Scheduled for sunset on 2027-10-01. Use the labelsMap field in the Zone resource instead.
1586
1622
 
1587
1623
  :param project_id: project id (required)
1588
1624
  :type project_id: str
@@ -1611,6 +1647,7 @@ class DefaultApi:
1611
1647
  :type _host_index: int, optional
1612
1648
  :return: Returns the result object.
1613
1649
  """ # noqa: E501
1650
+ warnings.warn("DELETE /v1/projects/{projectId}/zones/{zoneId}/labels/{key} is deprecated.", DeprecationWarning)
1614
1651
 
1615
1652
  _param = self._delete_label_serialize(
1616
1653
  project_id=project_id,
@@ -3592,9 +3629,9 @@ class DefaultApi:
3592
3629
  _headers: Optional[Dict[StrictStr, Any]] = None,
3593
3630
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3594
3631
  ) -> ListLabelsResponse:
3595
- """Get all labels
3632
+ """(Deprecated) Get all labels [DEPRECATED]
3596
3633
 
3597
- All Labels
3634
+ All Labels DEPRECATED: Scheduled for sunset on 2027-10-01. Use the labelsMap field in the Zone resource instead.
3598
3635
 
3599
3636
  :param project_id: project id (required)
3600
3637
  :type project_id: str
@@ -3621,6 +3658,7 @@ class DefaultApi:
3621
3658
  :type _host_index: int, optional
3622
3659
  :return: Returns the result object.
3623
3660
  """ # noqa: E501
3661
+ warnings.warn("GET /v1/projects/{projectId}/zones/{zoneId}/labels is deprecated.", DeprecationWarning)
3624
3662
 
3625
3663
  _param = self._list_labels_serialize(
3626
3664
  project_id=project_id,
@@ -3661,9 +3699,9 @@ class DefaultApi:
3661
3699
  _headers: Optional[Dict[StrictStr, Any]] = None,
3662
3700
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3663
3701
  ) -> ApiResponse[ListLabelsResponse]:
3664
- """Get all labels
3702
+ """(Deprecated) Get all labels [DEPRECATED]
3665
3703
 
3666
- All Labels
3704
+ All Labels DEPRECATED: Scheduled for sunset on 2027-10-01. Use the labelsMap field in the Zone resource instead.
3667
3705
 
3668
3706
  :param project_id: project id (required)
3669
3707
  :type project_id: str
@@ -3690,6 +3728,7 @@ class DefaultApi:
3690
3728
  :type _host_index: int, optional
3691
3729
  :return: Returns the result object.
3692
3730
  """ # noqa: E501
3731
+ warnings.warn("GET /v1/projects/{projectId}/zones/{zoneId}/labels is deprecated.", DeprecationWarning)
3693
3732
 
3694
3733
  _param = self._list_labels_serialize(
3695
3734
  project_id=project_id,
@@ -3730,9 +3769,9 @@ class DefaultApi:
3730
3769
  _headers: Optional[Dict[StrictStr, Any]] = None,
3731
3770
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3732
3771
  ) -> RESTResponseType:
3733
- """Get all labels
3772
+ """(Deprecated) Get all labels [DEPRECATED]
3734
3773
 
3735
- All Labels
3774
+ All Labels DEPRECATED: Scheduled for sunset on 2027-10-01. Use the labelsMap field in the Zone resource instead.
3736
3775
 
3737
3776
  :param project_id: project id (required)
3738
3777
  :type project_id: str
@@ -3759,6 +3798,7 @@ class DefaultApi:
3759
3798
  :type _host_index: int, optional
3760
3799
  :return: Returns the result object.
3761
3800
  """ # noqa: E501
3801
+ warnings.warn("GET /v1/projects/{projectId}/zones/{zoneId}/labels is deprecated.", DeprecationWarning)
3762
3802
 
3763
3803
  _param = self._list_labels_serialize(
3764
3804
  project_id=project_id,
@@ -3845,7 +3885,9 @@ class DefaultApi:
3845
3885
  name_eq: Annotated[Optional[StrictStr], Field(description="filter name equal")] = None,
3846
3886
  name_like: Annotated[Optional[StrictStr], Field(description="filter name like")] = None,
3847
3887
  type_eq: Annotated[Optional[StrictStr], Field(description="filter type")] = None,
3848
- state_eq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
3888
+ state_eq: Annotated[
3889
+ Optional[StrictStr], Field(description="filter state (DELETE_SUCCEEDED is excluded by default)")
3890
+ ] = None,
3849
3891
  state_neq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
3850
3892
  active_eq: Annotated[Optional[StrictBool], Field(description="filter active equal")] = None,
3851
3893
  creation_started_gt: Annotated[
@@ -3918,7 +3960,7 @@ class DefaultApi:
3918
3960
  ) -> ListRecordSetsResponse:
3919
3961
  """All get selected RRSets
3920
3962
 
3921
- All RRSet
3963
+ Retrieve all RRSets. By default, records in the 'DELETE_SUCCEEDED' state are excluded. To retrieve them, explicitly specify 'state[eq]=DELETE_SUCCEEDED' in the query parameters.
3922
3964
 
3923
3965
  :param project_id: project id (required)
3924
3966
  :type project_id: str
@@ -3934,7 +3976,7 @@ class DefaultApi:
3934
3976
  :type name_like: str
3935
3977
  :param type_eq: filter type
3936
3978
  :type type_eq: str
3937
- :param state_eq: filter state
3979
+ :param state_eq: filter state (DELETE_SUCCEEDED is excluded by default)
3938
3980
  :type state_eq: str
3939
3981
  :param state_neq: filter state
3940
3982
  :type state_neq: str
@@ -4077,7 +4119,9 @@ class DefaultApi:
4077
4119
  name_eq: Annotated[Optional[StrictStr], Field(description="filter name equal")] = None,
4078
4120
  name_like: Annotated[Optional[StrictStr], Field(description="filter name like")] = None,
4079
4121
  type_eq: Annotated[Optional[StrictStr], Field(description="filter type")] = None,
4080
- state_eq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
4122
+ state_eq: Annotated[
4123
+ Optional[StrictStr], Field(description="filter state (DELETE_SUCCEEDED is excluded by default)")
4124
+ ] = None,
4081
4125
  state_neq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
4082
4126
  active_eq: Annotated[Optional[StrictBool], Field(description="filter active equal")] = None,
4083
4127
  creation_started_gt: Annotated[
@@ -4150,7 +4194,7 @@ class DefaultApi:
4150
4194
  ) -> ApiResponse[ListRecordSetsResponse]:
4151
4195
  """All get selected RRSets
4152
4196
 
4153
- All RRSet
4197
+ Retrieve all RRSets. By default, records in the 'DELETE_SUCCEEDED' state are excluded. To retrieve them, explicitly specify 'state[eq]=DELETE_SUCCEEDED' in the query parameters.
4154
4198
 
4155
4199
  :param project_id: project id (required)
4156
4200
  :type project_id: str
@@ -4166,7 +4210,7 @@ class DefaultApi:
4166
4210
  :type name_like: str
4167
4211
  :param type_eq: filter type
4168
4212
  :type type_eq: str
4169
- :param state_eq: filter state
4213
+ :param state_eq: filter state (DELETE_SUCCEEDED is excluded by default)
4170
4214
  :type state_eq: str
4171
4215
  :param state_neq: filter state
4172
4216
  :type state_neq: str
@@ -4309,7 +4353,9 @@ class DefaultApi:
4309
4353
  name_eq: Annotated[Optional[StrictStr], Field(description="filter name equal")] = None,
4310
4354
  name_like: Annotated[Optional[StrictStr], Field(description="filter name like")] = None,
4311
4355
  type_eq: Annotated[Optional[StrictStr], Field(description="filter type")] = None,
4312
- state_eq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
4356
+ state_eq: Annotated[
4357
+ Optional[StrictStr], Field(description="filter state (DELETE_SUCCEEDED is excluded by default)")
4358
+ ] = None,
4313
4359
  state_neq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
4314
4360
  active_eq: Annotated[Optional[StrictBool], Field(description="filter active equal")] = None,
4315
4361
  creation_started_gt: Annotated[
@@ -4382,7 +4428,7 @@ class DefaultApi:
4382
4428
  ) -> RESTResponseType:
4383
4429
  """All get selected RRSets
4384
4430
 
4385
- All RRSet
4431
+ Retrieve all RRSets. By default, records in the 'DELETE_SUCCEEDED' state are excluded. To retrieve them, explicitly specify 'state[eq]=DELETE_SUCCEEDED' in the query parameters.
4386
4432
 
4387
4433
  :param project_id: project id (required)
4388
4434
  :type project_id: str
@@ -4398,7 +4444,7 @@ class DefaultApi:
4398
4444
  :type name_like: str
4399
4445
  :param type_eq: filter type
4400
4446
  :type type_eq: str
4401
- :param state_eq: filter state
4447
+ :param state_eq: filter state (DELETE_SUCCEEDED is excluded by default)
4402
4448
  :type state_eq: str
4403
4449
  :param state_neq: filter state
4404
4450
  :type state_neq: str
@@ -4755,7 +4801,9 @@ class DefaultApi:
4755
4801
  description_eq: Annotated[Optional[StrictStr], Field(description="filter description equal")] = None,
4756
4802
  description_neq: Annotated[Optional[StrictStr], Field(description="filter description not equal")] = None,
4757
4803
  description_like: Annotated[Optional[StrictStr], Field(description="filter description like")] = None,
4758
- state_eq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
4804
+ state_eq: Annotated[
4805
+ Optional[StrictStr], Field(description="filter state (DELETE_SUCCEEDED is excluded by default)")
4806
+ ] = None,
4759
4807
  state_neq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
4760
4808
  primary_name_server_eq: Annotated[
4761
4809
  Optional[StrictStr], Field(description="filter primary name server equal")
@@ -4842,7 +4890,7 @@ class DefaultApi:
4842
4890
  ) -> ListZonesResponse:
4843
4891
  """All get selected zones
4844
4892
 
4845
- All zone
4893
+ Retrieve all zones. By default, zones in the 'DELETE_SUCCEEDED' state are excluded. To retrieve them, explicitly specify 'state[eq]=DELETE_SUCCEEDED' in the query parameters.
4846
4894
 
4847
4895
  :param project_id: project id (required)
4848
4896
  :type project_id: str
@@ -4868,7 +4916,7 @@ class DefaultApi:
4868
4916
  :type description_neq: str
4869
4917
  :param description_like: filter description like
4870
4918
  :type description_like: str
4871
- :param state_eq: filter state
4919
+ :param state_eq: filter state (DELETE_SUCCEEDED is excluded by default)
4872
4920
  :type state_eq: str
4873
4921
  :param state_neq: filter state
4874
4922
  :type state_neq: str
@@ -5039,7 +5087,9 @@ class DefaultApi:
5039
5087
  description_eq: Annotated[Optional[StrictStr], Field(description="filter description equal")] = None,
5040
5088
  description_neq: Annotated[Optional[StrictStr], Field(description="filter description not equal")] = None,
5041
5089
  description_like: Annotated[Optional[StrictStr], Field(description="filter description like")] = None,
5042
- state_eq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
5090
+ state_eq: Annotated[
5091
+ Optional[StrictStr], Field(description="filter state (DELETE_SUCCEEDED is excluded by default)")
5092
+ ] = None,
5043
5093
  state_neq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
5044
5094
  primary_name_server_eq: Annotated[
5045
5095
  Optional[StrictStr], Field(description="filter primary name server equal")
@@ -5126,7 +5176,7 @@ class DefaultApi:
5126
5176
  ) -> ApiResponse[ListZonesResponse]:
5127
5177
  """All get selected zones
5128
5178
 
5129
- All zone
5179
+ Retrieve all zones. By default, zones in the 'DELETE_SUCCEEDED' state are excluded. To retrieve them, explicitly specify 'state[eq]=DELETE_SUCCEEDED' in the query parameters.
5130
5180
 
5131
5181
  :param project_id: project id (required)
5132
5182
  :type project_id: str
@@ -5152,7 +5202,7 @@ class DefaultApi:
5152
5202
  :type description_neq: str
5153
5203
  :param description_like: filter description like
5154
5204
  :type description_like: str
5155
- :param state_eq: filter state
5205
+ :param state_eq: filter state (DELETE_SUCCEEDED is excluded by default)
5156
5206
  :type state_eq: str
5157
5207
  :param state_neq: filter state
5158
5208
  :type state_neq: str
@@ -5323,7 +5373,9 @@ class DefaultApi:
5323
5373
  description_eq: Annotated[Optional[StrictStr], Field(description="filter description equal")] = None,
5324
5374
  description_neq: Annotated[Optional[StrictStr], Field(description="filter description not equal")] = None,
5325
5375
  description_like: Annotated[Optional[StrictStr], Field(description="filter description like")] = None,
5326
- state_eq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
5376
+ state_eq: Annotated[
5377
+ Optional[StrictStr], Field(description="filter state (DELETE_SUCCEEDED is excluded by default)")
5378
+ ] = None,
5327
5379
  state_neq: Annotated[Optional[StrictStr], Field(description="filter state")] = None,
5328
5380
  primary_name_server_eq: Annotated[
5329
5381
  Optional[StrictStr], Field(description="filter primary name server equal")
@@ -5410,7 +5462,7 @@ class DefaultApi:
5410
5462
  ) -> RESTResponseType:
5411
5463
  """All get selected zones
5412
5464
 
5413
- All zone
5465
+ Retrieve all zones. By default, zones in the 'DELETE_SUCCEEDED' state are excluded. To retrieve them, explicitly specify 'state[eq]=DELETE_SUCCEEDED' in the query parameters.
5414
5466
 
5415
5467
  :param project_id: project id (required)
5416
5468
  :type project_id: str
@@ -5436,7 +5488,7 @@ class DefaultApi:
5436
5488
  :type description_neq: str
5437
5489
  :param description_like: filter description like
5438
5490
  :type description_like: str
5439
- :param state_eq: filter state
5491
+ :param state_eq: filter state (DELETE_SUCCEEDED is excluded by default)
5440
5492
  :type state_eq: str
5441
5493
  :param state_neq: filter state
5442
5494
  :type state_neq: str
@@ -17,6 +17,7 @@ Do not edit the class manually.
17
17
  from stackit.dns.models.clone_zone_payload import CloneZonePayload
18
18
  from stackit.dns.models.create_label_payload import CreateLabelPayload
19
19
  from stackit.dns.models.create_label_response import CreateLabelResponse
20
+ from stackit.dns.models.create_move_code_payload import CreateMoveCodePayload
20
21
  from stackit.dns.models.create_record_set_payload import CreateRecordSetPayload
21
22
  from stackit.dns.models.create_zone_payload import CreateZonePayload
22
23
  from stackit.dns.models.delete_label_response import DeleteLabelResponse
@@ -28,7 +28,7 @@ class CreateLabelPayload(BaseModel):
28
28
  CreateLabelPayload
29
29
  """ # noqa: E501
30
30
 
31
- key: Annotated[str, Field(min_length=1, strict=True, max_length=63)]
31
+ key: Annotated[str, Field(min_length=1, strict=True, max_length=314)]
32
32
  value: Optional[Annotated[str, Field(strict=True, max_length=63)]] = None
33
33
  __properties: ClassVar[List[str]] = ["key", "value"]
34
34
 
@@ -0,0 +1,86 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ STACKIT DNS API
5
+
6
+ This api provides dns
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: dns@stackit.cloud
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+ from __future__ import annotations
16
+
17
+ import json
18
+ import pprint
19
+ from typing import Any, ClassVar, Dict, List, Optional, Set
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field
22
+ from pydantic_core import to_jsonable_python
23
+ from typing_extensions import Annotated, Self
24
+
25
+
26
+ class CreateMoveCodePayload(BaseModel):
27
+ """
28
+ options for generating a move code.
29
+ """ # noqa: E501
30
+
31
+ ttl: Optional[Annotated[int, Field(le=2592000, strict=True, ge=1)]] = Field(
32
+ default=None,
33
+ description="TTL is the duration for which the move code is valid, represented as seconds. Min: 1, Max: 2592000 (30 days).",
34
+ )
35
+ __properties: ClassVar[List[str]] = ["ttl"]
36
+
37
+ model_config = ConfigDict(
38
+ validate_by_name=True,
39
+ validate_by_alias=True,
40
+ validate_assignment=True,
41
+ protected_namespaces=(),
42
+ )
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ return json.dumps(to_jsonable_python(self.to_dict()))
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of CreateMoveCodePayload from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of CreateMoveCodePayload from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate({"ttl": obj.get("ttl")})
86
+ return _obj
@@ -60,6 +60,11 @@ class CreateZonePayload(BaseModel):
60
60
  is_reverse_zone: Optional[StrictBool] = Field(
61
61
  default=False, description="if the zone is a reverse zone or not", alias="isReverseZone"
62
62
  )
63
+ labels_map: Optional[Dict[str, StrictStr]] = Field(
64
+ default=None,
65
+ description="labels for the zone - max 64 items. Keys: 1-314 chars (up to 250 prefix, 1 for slash, 1-63 the actual key). Values: 0-63 chars.",
66
+ alias="labelsMap",
67
+ )
63
68
  name: Annotated[str, Field(min_length=1, strict=True, max_length=63)] = Field(description="user given name")
64
69
  negative_cache: Optional[Annotated[int, Field(strict=True, ge=60)]] = Field(
65
70
  default=None, description="negative caching", alias="negativeCache"
@@ -81,6 +86,7 @@ class CreateZonePayload(BaseModel):
81
86
  "expireTime",
82
87
  "extensions",
83
88
  "isReverseZone",
89
+ "labelsMap",
84
90
  "name",
85
91
  "negativeCache",
86
92
  "primaries",
@@ -164,6 +170,7 @@ class CreateZonePayload(BaseModel):
164
170
  ZoneExtensions.from_dict(obj["extensions"]) if obj.get("extensions") is not None else None
165
171
  ),
166
172
  "isReverseZone": obj.get("isReverseZone") if obj.get("isReverseZone") is not None else False,
173
+ "labelsMap": obj.get("labelsMap"),
167
174
  "name": obj.get("name"),
168
175
  "negativeCache": obj.get("negativeCache"),
169
176
  "primaries": obj.get("primaries"),
@@ -18,7 +18,7 @@ import json
18
18
  import pprint
19
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
20
20
 
21
- from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
22
  from pydantic_core import to_jsonable_python
23
23
  from typing_extensions import Self
24
24
 
@@ -32,6 +32,16 @@ class DomainObservabilityExtension(BaseModel):
32
32
  state: Optional[StrictStr] = None
33
33
  __properties: ClassVar[List[str]] = ["observabilityInstanceId", "state"]
34
34
 
35
+ @field_validator("state")
36
+ def state_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value is None:
39
+ return value
40
+
41
+ if value not in set(["CREATING", "CREATE_SUCCEEDED", "ERROR"]):
42
+ raise ValueError("must be one of enum values ('CREATING', 'CREATE_SUCCEEDED', 'ERROR')")
43
+ return value
44
+
35
45
  model_config = ConfigDict(
36
46
  validate_by_name=True,
37
47
  validate_by_alias=True,
@@ -28,7 +28,7 @@ class Label(BaseModel):
28
28
  Label
29
29
  """ # noqa: E501
30
30
 
31
- key: Annotated[str, Field(min_length=1, strict=True, max_length=63)]
31
+ key: Annotated[str, Field(min_length=1, strict=True, max_length=314)]
32
32
  value: Optional[Annotated[str, Field(strict=True, max_length=63)]] = None
33
33
  __properties: ClassVar[List[str]] = ["key", "value"]
34
34
 
@@ -22,7 +22,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
22
  from pydantic_core import to_jsonable_python
23
23
  from typing_extensions import Annotated, Self
24
24
 
25
- from stackit.dns.models.zone_extensions import ZoneExtensions
25
+ from stackit.dns.models.domain_extensions import DomainExtensions
26
26
 
27
27
 
28
28
  class PartialUpdateZonePayload(BaseModel):
@@ -46,7 +46,12 @@ class PartialUpdateZonePayload(BaseModel):
46
46
  expire_time: Optional[Annotated[int, Field(strict=True, ge=60)]] = Field(
47
47
  default=1209600, description="expire time", alias="expireTime"
48
48
  )
49
- extensions: Optional[ZoneExtensions] = Field(default=None, description="optional extensions")
49
+ extensions: Optional[DomainExtensions] = Field(default=None, description="optional extensions")
50
+ labels_map: Optional[Dict[str, StrictStr]] = Field(
51
+ default=None,
52
+ description="labels for the zone - max 64 items. Keys: 1-314 chars (up to 250 prefix, 1 for slash, 1-63 the actual key). Values: 0-63 chars.",
53
+ alias="labelsMap",
54
+ )
50
55
  name: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=63)]] = Field(
51
56
  default=None, description="user given name"
52
57
  )
@@ -67,6 +72,7 @@ class PartialUpdateZonePayload(BaseModel):
67
72
  "description",
68
73
  "expireTime",
69
74
  "extensions",
75
+ "labelsMap",
70
76
  "name",
71
77
  "negativeCache",
72
78
  "primaries",
@@ -135,8 +141,9 @@ class PartialUpdateZonePayload(BaseModel):
135
141
  "description": obj.get("description"),
136
142
  "expireTime": obj.get("expireTime") if obj.get("expireTime") is not None else 1209600,
137
143
  "extensions": (
138
- ZoneExtensions.from_dict(obj["extensions"]) if obj.get("extensions") is not None else None
144
+ DomainExtensions.from_dict(obj["extensions"]) if obj.get("extensions") is not None else None
139
145
  ),
146
+ "labelsMap": obj.get("labelsMap"),
140
147
  "name": obj.get("name"),
141
148
  "negativeCache": obj.get("negativeCache"),
142
149
  "primaries": obj.get("primaries"),
@@ -67,6 +67,9 @@ class Zone(BaseModel):
67
67
  default=None, description="if the zone is a reverse zone or not", alias="isReverseZone"
68
68
  )
69
69
  labels: Optional[List[Label]] = None
70
+ labels_map: Optional[Dict[str, StrictStr]] = Field(
71
+ default=None, description="labels for the zone", alias="labelsMap"
72
+ )
70
73
  name: Annotated[str, Field(min_length=1, strict=True, max_length=63)] = Field(description="user given name")
71
74
  negative_cache: Annotated[int, Field(le=99999999, strict=True, ge=60)] = Field(
72
75
  description="negative caching", alias="negativeCache"
@@ -105,6 +108,7 @@ class Zone(BaseModel):
105
108
  "id",
106
109
  "isReverseZone",
107
110
  "labels",
111
+ "labelsMap",
108
112
  "name",
109
113
  "negativeCache",
110
114
  "primaries",
@@ -233,6 +237,7 @@ class Zone(BaseModel):
233
237
  "labels": (
234
238
  [Label.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None
235
239
  ),
240
+ "labelsMap": obj.get("labelsMap"),
236
241
  "name": obj.get("name"),
237
242
  "negativeCache": obj.get("negativeCache"),
238
243
  "primaries": obj.get("primaries"),
@@ -29,8 +29,7 @@ class ZoneObservabilityExtension(BaseModel):
29
29
  """ # noqa: E501
30
30
 
31
31
  observability_instance_id: StrictStr = Field(alias="observabilityInstanceId")
32
- state: Optional[StrictStr] = None
33
- __properties: ClassVar[List[str]] = ["observabilityInstanceId", "state"]
32
+ __properties: ClassVar[List[str]] = ["observabilityInstanceId"]
34
33
 
35
34
  model_config = ConfigDict(
36
35
  validate_by_name=True,
@@ -80,7 +79,5 @@ class ZoneObservabilityExtension(BaseModel):
80
79
  if not isinstance(obj, dict):
81
80
  return cls.model_validate(obj)
82
81
 
83
- _obj = cls.model_validate(
84
- {"observabilityInstanceId": obj.get("observabilityInstanceId"), "state": obj.get("state")}
85
- )
82
+ _obj = cls.model_validate({"observabilityInstanceId": obj.get("observabilityInstanceId")})
86
83
  return _obj
File without changes
File without changes
File without changes
File without changes