from kubernetes_asyncio.client.models import V1AppArmorProfile
from kubernetes_asyncio.client.models import V1SELinuxOptions
from kubernetes_asyncio.client.models import V1SeccompProfile
from kubernetes_asyncio.client.models import V1Sysctl
from kubernetes_asyncio.client.models import V1WindowsSecurityContextOptions
from typing import Any

class V1PodSecurityContext:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, app_armor_profile: V1AppArmorProfile | None = None, fs_group: int | None = None, fs_group_change_policy: str | None = None, run_as_group: int | None = None, run_as_non_root: bool | None = None, run_as_user: int | None = None, se_linux_change_policy: str | None = None, se_linux_options: V1SELinuxOptions | None = None, seccomp_profile: V1SeccompProfile | None = None, supplemental_groups: list[int] | None = None, supplemental_groups_policy: str | None = None, sysctls: list[V1Sysctl] | None = None, windows_options: V1WindowsSecurityContextOptions | None = None, local_vars_configuration: Any | None = None) -> None: ...
    def __ne__(self, other: Any) -> bool: ...
    def __repr__(self) -> str: ...
    def to_dict(self, serialize: bool = False) -> dict[str, Any]: ...
    def to_str(self) -> str: ...
    @property
    def app_armor_profile(self) -> V1AppArmorProfile: ...
    @app_armor_profile.setter
    def app_armor_profile(self, app_armor_profile: V1AppArmorProfile) -> None: ...
    @property
    def fs_group(self) -> int: ...
    @fs_group.setter
    def fs_group(self, fs_group: int) -> None: ...
    @property
    def fs_group_change_policy(self) -> str: ...
    @fs_group_change_policy.setter
    def fs_group_change_policy(self, fs_group_change_policy: str) -> None: ...
    @property
    def run_as_group(self) -> int: ...
    @run_as_group.setter
    def run_as_group(self, run_as_group: int) -> None: ...
    @property
    def run_as_non_root(self) -> bool: ...
    @run_as_non_root.setter
    def run_as_non_root(self, run_as_non_root: bool) -> None: ...
    @property
    def run_as_user(self) -> int: ...
    @run_as_user.setter
    def run_as_user(self, run_as_user: int) -> None: ...
    @property
    def se_linux_change_policy(self) -> str: ...
    @se_linux_change_policy.setter
    def se_linux_change_policy(self, se_linux_change_policy: str) -> None: ...
    @property
    def se_linux_options(self) -> V1SELinuxOptions: ...
    @se_linux_options.setter
    def se_linux_options(self, se_linux_options: V1SELinuxOptions) -> None: ...
    @property
    def seccomp_profile(self) -> V1SeccompProfile: ...
    @seccomp_profile.setter
    def seccomp_profile(self, seccomp_profile: V1SeccompProfile) -> None: ...
    @property
    def supplemental_groups(self) -> list[int]: ...
    @supplemental_groups.setter
    def supplemental_groups(self, supplemental_groups: list[int]) -> None: ...
    @property
    def supplemental_groups_policy(self) -> str: ...
    @supplemental_groups_policy.setter
    def supplemental_groups_policy(self, supplemental_groups_policy: str) -> None: ...
    @property
    def sysctls(self) -> list[V1Sysctl]: ...
    @sysctls.setter
    def sysctls(self, sysctls: list[V1Sysctl]) -> None: ...
    @property
    def windows_options(self) -> V1WindowsSecurityContextOptions: ...
    @windows_options.setter
    def windows_options(self, windows_options: V1WindowsSecurityContextOptions) -> None: ...
