diff --git a/changelog.d/20250702_102756_achille.mascia_nhi_ggshield_v2.md b/changelog.d/20250702_102756_achille.mascia_nhi_ggshield_v2.md new file mode 100644 index 00000000..d58fc6df --- /dev/null +++ b/changelog.d/20250702_102756_achille.mascia_nhi_ggshield_v2.md @@ -0,0 +1,3 @@ +### Added + +- Added `vault_type`, `vault_name`, `vault_path` and `vault_path_count` fields to `PolicyBreak`. diff --git a/pygitguardian/models.py b/pygitguardian/models.py index b2670fdf..400d9df3 100644 --- a/pygitguardian/models.py +++ b/pygitguardian/models.py @@ -234,6 +234,10 @@ class PolicyBreakSchema(BaseSchema): DiffKind, by_value=True, required=False, load_default=None, dump_default=None ) is_vaulted = fields.Boolean(required=False, load_default=False, dump_default=False) + vault_type = fields.String(required=False, load_default=None, dump_default=None) + vault_name = fields.String(required=False, load_default=None, dump_default=None) + vault_path = fields.String(required=False, load_default=None, dump_default=None) + vault_path_count = fields.Int(required=False, load_default=None, dump_default=None) @post_load def make_policy_break(self, data: Dict[str, Any], **kwargs: Any) -> "PolicyBreak": @@ -265,6 +269,10 @@ def __init__( exclude_reason: Optional[str] = None, diff_kind: Optional[DiffKind] = None, is_vaulted: bool = False, + vault_type: Optional[str] = None, + vault_name: Optional[str] = None, + vault_path: Optional[str] = None, + vault_path_count: Optional[int] = None, **kwargs: Any, ) -> None: super().__init__() @@ -281,6 +289,10 @@ def __init__( self.exclude_reason = exclude_reason self.diff_kind = diff_kind self.is_vaulted = is_vaulted + self.vault_type = vault_type + self.vault_name = vault_name + self.vault_path = vault_path + self.vault_path_count = vault_path_count @property def is_secret(self) -> bool: diff --git a/tests/test_models.py b/tests/test_models.py index 1e068770..12d9d92d 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -171,6 +171,10 @@ def test_document_handle_surrogates(self): "exclude_reason": None, "diff_kind": None, "is_vaulted": False, + "vault_type": None, + "vault_name": None, + "vault_path": None, + "vault_path_count": None, }, ), ( @@ -190,6 +194,10 @@ def test_document_handle_surrogates(self): "exclude_reason": None, "diff_kind": "addition", "is_vaulted": True, + "vault_type": "hashicorpvault", + "vault_name": "my-vault", + "vault_path": "my-secret", + "vault_path_count": 3, }, ), (