Skip to content

Commit 12a118f

Browse files
committed
v0.15.1
While the Python kubernetes client has issues with `IntOrString` data types because of their continued use of OpenAPIV2 schema validation, we move to make that type available in kuber to match the expected behavior.
1 parent f148723 commit 12a118f

File tree

440 files changed

+1741
-986
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

440 files changed

+1741
-986
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
kuber.tests.scenarios.port\_int\_or\_string package
2+
===================================================
3+
4+
Submodules
5+
----------
6+
7+
kuber.tests.scenarios.port\_int\_or\_string.test\_pod\_int\_or\_string module
8+
-----------------------------------------------------------------------------
9+
10+
.. automodule:: kuber.tests.scenarios.port_int_or_string.test_pod_int_or_string
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
Module contents
16+
---------------
17+
18+
.. automodule:: kuber.tests.scenarios.port_int_or_string
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:

docs/modules/kuber.tests.scenarios.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Subpackages
1414
kuber.tests.scenarios.get_containers_from_job
1515
kuber.tests.scenarios.metadata_owner_reference
1616
kuber.tests.scenarios.odd_api_versions
17+
kuber.tests.scenarios.port_int_or_string
1718
kuber.tests.scenarios.same_names_different_resources
1819
kuber.tests.scenarios.value_casting
1920
kuber.tests.scenarios.zero_scale_deployment

kuber/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from kuber.versioning import KubernetesVersion # noqa: F401
2323

2424
#: kuber library version.
25-
__version__ = "1.15.0"
25+
__version__ = "1.15.1"
2626

2727
#: The loader used when loading yaml via pyyaml. This can be overridden
2828
#: in cases where a different Loader is preferred.

kuber/_types.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import typing
2+
3+
4+
def integer_or_string(value: typing.Any) -> typing.Union[None, int, str]:
5+
"""Conversion for int_or_string types."""
6+
if value is None:
7+
return None
8+
9+
if isinstance(value, int):
10+
return value
11+
12+
if isinstance(value, str):
13+
return value
14+
15+
try:
16+
return int(value)
17+
except ValueError:
18+
return str(value)

kuber/definitions/_support.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import typing
22

33
from kuber.definitions import _abstracts
4+
from kuber import _types
45

56

67
def serialize_property(value: typing.Any) -> typing.Any:
@@ -51,6 +52,9 @@ def deserialize_property(value: typing.Any, data_type: tuple) -> typing.Any:
5152
if value is None:
5253
return None
5354

55+
if data_type[0] == _types.integer_or_string:
56+
return _types.integer_or_string(value)
57+
5458
if issubclass(data_type[0], _abstracts.Definition):
5559
return data_type[0]().from_dict(value)
5660

kuber/latest/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
patch="1",
1414
pre_release="",
1515
build="",
16-
created_at=_datetime.datetime(2020, 12, 31),
16+
created_at=_datetime.datetime(2021, 1, 7),
1717
commit_sha="c4d752765b3bbac2237bf87cf0b1c2e307844666",
1818
)

kuber/latest/admissionregistration_v1.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from kuber import kube_api as _kube_api # noqa: F401
55

66
from kuber import definitions as _kuber_definitions # noqa: F401
7+
from kuber import _types # noqa: F401
78
from kuber.latest.meta_v1 import LabelSelector # noqa: F401
89
from kuber.latest.meta_v1 import ListMeta # noqa: F401
910
from kuber.latest.meta_v1 import ObjectMeta # noqa: F401

kuber/latest/admissionregistration_v1beta1.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from kuber import kube_api as _kube_api # noqa: F401
55

66
from kuber import definitions as _kuber_definitions # noqa: F401
7+
from kuber import _types # noqa: F401
78
from kuber.latest.meta_v1 import LabelSelector # noqa: F401
89
from kuber.latest.meta_v1 import ListMeta # noqa: F401
910
from kuber.latest.meta_v1 import ObjectMeta # noqa: F401

kuber/latest/apiextensions_v1.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from kuber import kube_api as _kube_api # noqa: F401
66

77
from kuber import definitions as _kuber_definitions # noqa: F401
8+
from kuber import _types # noqa: F401
89
from kuber.latest.meta_v1 import ListMeta # noqa: F401
910
from kuber.latest.meta_v1 import ObjectMeta # noqa: F401
1011
from kuber.latest.meta_v1 import Status # noqa: F401

kuber/latest/apiextensions_v1beta1.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from kuber import kube_api as _kube_api # noqa: F401
66

77
from kuber import definitions as _kuber_definitions # noqa: F401
8+
from kuber import _types # noqa: F401
89
from kuber.latest.meta_v1 import ListMeta # noqa: F401
910
from kuber.latest.meta_v1 import ObjectMeta # noqa: F401
1011
from kuber.latest.meta_v1 import Status # noqa: F401

0 commit comments

Comments
 (0)