fix rendering SecretData for jmespath filtering (#1223)

Co-authored-by: Brian Caswell <bmc@shmoo.com>
This commit is contained in:
bmc-msft
2021-09-03 16:39:44 -04:00
committed by GitHub
parent cd272bb304
commit f569bc8427

View File

@ -33,6 +33,7 @@ from uuid import UUID
import jmespath import jmespath
from docstring_parser import parse as parse_docstring from docstring_parser import parse as parse_docstring
from msrest.serialization import Model from msrest.serialization import Model
from onefuzztypes.models import SecretData
from onefuzztypes.primitives import Container, Directory, File, PoolName, Region from onefuzztypes.primitives import Container, Directory, File, PoolName, Region
from pydantic import BaseModel, ValidationError from pydantic import BaseModel, ValidationError
@ -495,6 +496,8 @@ def normalize(result: Any) -> Any:
"""Convert arbitrary result streams into something filterable with jmespath""" """Convert arbitrary result streams into something filterable with jmespath"""
if isinstance(result, BaseModel): if isinstance(result, BaseModel):
return normalize(result.dict(exclude_none=True)) return normalize(result.dict(exclude_none=True))
if isinstance(result, SecretData):
return normalize(result.secret)
if isinstance(result, Model): if isinstance(result, Model):
return normalize(result.as_dict()) return normalize(result.as_dict())
if isinstance(result, (set, list)): if isinstance(result, (set, list)):