Skip to content

Commit 2827b05

Browse files
authored
[hvac] Add argument types for Kv, KvV1, KvV2 & Kubernetes (#16093)
fix(hvac): add argument types for kv & kubernetes
1 parent 41308b8 commit 2827b05

6 files changed

Lines changed: 60 additions & 48 deletions

File tree

stubs/hvac/hvac/api/auth_methods/kubernetes.pyi

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,30 @@ DEFAULT_MOUNT_POINT: str
55
class Kubernetes(VaultApiBase):
66
def configure(
77
self,
8-
kubernetes_host,
9-
kubernetes_ca_cert=None,
10-
token_reviewer_jwt=None,
11-
pem_keys=None,
12-
issuer=None,
13-
mount_point="kubernetes",
8+
kubernetes_host: str,
9+
kubernetes_ca_cert: str | None = None,
10+
token_reviewer_jwt: str | None = None,
11+
pem_keys: list[str] | None = None,
12+
issuer: str | None = None,
13+
mount_point: str = "kubernetes",
1414
disable_local_ca_jwt: bool = False,
1515
): ...
16-
def read_config(self, mount_point="kubernetes"): ...
16+
def read_config(self, mount_point: str = "kubernetes"): ...
1717
def create_role(
1818
self,
19-
name,
20-
bound_service_account_names,
21-
bound_service_account_namespaces,
22-
ttl=None,
23-
max_ttl=None,
24-
period=None,
25-
policies=None,
19+
name: str,
20+
bound_service_account_names: list[str] | str,
21+
bound_service_account_namespaces: list[str] | str,
22+
ttl: str | None = None,
23+
max_ttl: str | None = None,
24+
period: str | None = None,
25+
policies: list[str] | str | None = None,
2626
token_type: str = "",
27-
mount_point="kubernetes",
28-
alias_name_source=None,
27+
mount_point: str = "kubernetes",
28+
alias_name_source: str | None = None,
2929
audience: str | None = None,
3030
): ...
31-
def read_role(self, name, mount_point="kubernetes"): ...
32-
def list_roles(self, mount_point="kubernetes"): ...
33-
def delete_role(self, name, mount_point="kubernetes"): ...
34-
def login(self, role, jwt, use_token: bool = True, mount_point="kubernetes"): ...
31+
def read_role(self, name: str, mount_point: str = "kubernetes"): ...
32+
def list_roles(self, mount_point: str = "kubernetes"): ...
33+
def delete_role(self, name: str, mount_point: str = "kubernetes"): ...
34+
def login(self, role: str, jwt: str, use_token: bool = True, mount_point: str = "kubernetes"): ...

stubs/hvac/hvac/api/secrets_engines/kv.pyi

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
import logging
2+
from typing import Any
23

4+
from hvac.adapters import Adapter
35
from hvac.api.secrets_engines import KvV1, KvV2
46
from hvac.api.vault_api_base import VaultApiBase
57

68
logger: logging.Logger
79

810
class Kv(VaultApiBase):
911
allowed_kv_versions: list[str]
10-
def __init__(self, adapter, default_kv_version: str = "2") -> None: ...
12+
def __init__(self, adapter: Adapter[Any], default_kv_version: str = "2") -> None: ...
1113
@property
1214
def v1(self) -> KvV1: ...
1315
@property

stubs/hvac/hvac/api/secrets_engines/kv_v1.pyi

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ from hvac.api.vault_api_base import VaultApiBase
33
DEFAULT_MOUNT_POINT: str
44

55
class KvV1(VaultApiBase):
6-
def read_secret(self, path, mount_point="secret"): ...
7-
def list_secrets(self, path, mount_point="secret"): ...
8-
def create_or_update_secret(self, path, secret, method=None, mount_point="secret"): ...
9-
def delete_secret(self, path, mount_point="secret"): ...
6+
def read_secret(self, path: str, mount_point: str = "secret"): ...
7+
def list_secrets(self, path: str, mount_point: str = "secret"): ...
8+
def create_or_update_secret(
9+
self, path: str, secret: dict[str, str], method: str | None = None, mount_point: str = "secret"
10+
): ...
11+
def delete_secret(self, path: str, mount_point: str = "secret"): ...

stubs/hvac/hvac/api/secrets_engines/kv_v2.pyi

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,33 @@ from hvac.api.vault_api_base import VaultApiBase
33
DEFAULT_MOUNT_POINT: str
44

55
class KvV2(VaultApiBase):
6-
def configure(self, max_versions: int = 10, cas_required=None, delete_version_after: str = "0s", mount_point="secret"): ...
7-
def read_configuration(self, mount_point="secret"): ...
8-
def read_secret(self, path, mount_point="secret", raise_on_deleted_version=None): ...
9-
def read_secret_version(self, path, version=None, mount_point="secret", raise_on_deleted_version=None): ...
10-
def create_or_update_secret(self, path, secret, cas=None, mount_point="secret"): ...
11-
def patch(self, path, secret, mount_point="secret"): ...
12-
def delete_latest_version_of_secret(self, path, mount_point="secret"): ...
13-
def delete_secret_versions(self, path, versions, mount_point="secret"): ...
14-
def undelete_secret_versions(self, path, versions, mount_point="secret"): ...
15-
def destroy_secret_versions(self, path, versions, mount_point="secret"): ...
16-
def list_secrets(self, path, mount_point="secret"): ...
17-
def read_secret_metadata(self, path, mount_point="secret"): ...
6+
def configure(
7+
self,
8+
max_versions: int = 10,
9+
cas_required: bool | None = None,
10+
delete_version_after: str = "0s",
11+
mount_point: str = "secret",
12+
): ...
13+
def read_configuration(self, mount_point: str = "secret"): ...
14+
def read_secret(self, path: str, mount_point: str = "secret", raise_on_deleted_version: bool | None = None): ...
15+
def read_secret_version(
16+
self, path: str, version: int | None = None, mount_point: str = "secret", raise_on_deleted_version: bool | None = None
17+
): ...
18+
def create_or_update_secret(self, path: str, secret: dict[str, str], cas: int | None = None, mount_point: str = "secret"): ...
19+
def patch(self, path: str, secret: dict[str, str], mount_point: str = "secret"): ...
20+
def delete_latest_version_of_secret(self, path: str, mount_point: str = "secret"): ...
21+
def delete_secret_versions(self, path: str, versions: list[int], mount_point: str = "secret"): ...
22+
def undelete_secret_versions(self, path: str, versions: list[int], mount_point: str = "secret"): ...
23+
def destroy_secret_versions(self, path: str, versions: list[int], mount_point: str = "secret"): ...
24+
def list_secrets(self, path: str, mount_point: str = "secret"): ...
25+
def read_secret_metadata(self, path: str, mount_point: str = "secret"): ...
1826
def update_metadata(
1927
self,
20-
path,
21-
max_versions=None,
22-
cas_required=None,
28+
path: str,
29+
max_versions: int | None = None,
30+
cas_required: bool | None = None,
2331
delete_version_after: str = "0s",
24-
mount_point="secret",
25-
custom_metadata=None,
32+
mount_point: str = "secret",
33+
custom_metadata: dict[str, str] | None = None,
2634
): ...
27-
def delete_metadata_and_all_versions(self, path, mount_point="secret"): ...
35+
def delete_metadata_and_all_versions(self, path: str, mount_point: str = "secret"): ...
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
from _typeshed import Incomplete
21
from abc import ABCMeta
32
from logging import Logger
3+
from typing import Any
44

55
from hvac.adapters import Adapter
66

77
logger: Logger
88

99
class VaultApiBase(metaclass=ABCMeta):
10-
def __init__(self, adapter: Adapter[Incomplete]) -> None: ...
10+
def __init__(self, adapter: Adapter[Any]) -> None: ...

stubs/hvac/hvac/api/vault_api_category.pyi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ logger: Logger
1010
class VaultApiCategory(VaultApiBase, metaclass=ABCMeta):
1111
implemented_class_names: list[str]
1212
def __init__(self, adapter: Adapter[Any]) -> None: ...
13-
def __getattr__(self, item): ...
13+
def __getattr__(self, item: str): ...
1414

1515
@property
1616
def adapter(self) -> Adapter[Any]: ...
@@ -19,8 +19,8 @@ class VaultApiCategory(VaultApiBase, metaclass=ABCMeta):
1919

2020
@property
2121
@abstractmethod
22-
def implemented_classes(self): ...
22+
def implemented_classes(self) -> list[type[VaultApiBase]]: ...
2323
@property
2424
def unimplemented_classes(self) -> list[str]: ...
2525
@staticmethod
26-
def get_private_attr_name(class_name): ...
26+
def get_private_attr_name(class_name: str) -> str: ...

0 commit comments

Comments
 (0)