Skip to content

Commit e41183c

Browse files
authored
Merge pull request #185 from myakove/namespace-resource-support-raw-object-in-get
namespae resource: support get raw object in get()
2 parents 69d3b23 + 373d2bb commit e41183c

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

ocp_resources/resource.py

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -818,13 +818,14 @@ def __init__(
818818
raise ValueError("name and namespace or yaml file is required")
819819

820820
@classmethod
821-
def get(cls, dyn_client, singular_name=None, *args, **kwargs):
821+
def get(cls, dyn_client, singular_name=None, raw=False, *args, **kwargs):
822822
"""
823823
Get resources
824824
825825
Args:
826826
dyn_client (DynamicClient): Open connection to remote cluster
827827
singular_name (str): Resource kind (in lowercase), in use where we have multiple matches for resource
828+
raw (bool): If True return raw object from openshift-restclient-python
828829
829830
830831
Returns:
@@ -835,17 +836,23 @@ def get(cls, dyn_client, singular_name=None, *args, **kwargs):
835836
)
836837
try:
837838
for resource_field in _resources.items:
839+
if raw:
840+
yield resource_field
841+
else:
842+
yield cls(
843+
client=dyn_client,
844+
name=resource_field.metadata.name,
845+
namespace=resource_field.metadata.namespace,
846+
)
847+
except TypeError:
848+
if raw:
849+
yield _resources
850+
else:
838851
yield cls(
839852
client=dyn_client,
840-
name=resource_field.metadata.name,
841-
namespace=resource_field.metadata.namespace,
853+
name=_resources.metadata.name,
854+
namespace=_resources.metadata.namespace,
842855
)
843-
except TypeError:
844-
yield cls(
845-
client=dyn_client,
846-
name=_resources.metadata.name,
847-
namespace=_resources.metadata.namespace,
848-
)
849856

850857
@property
851858
def instance(self):

0 commit comments

Comments
 (0)