from kubernetes_asyncio.client.models import V1Affinity
from kubernetes_asyncio.client.models import V1Container
from kubernetes_asyncio.client.models import V1EphemeralContainer
from kubernetes_asyncio.client.models import V1HostAlias
from kubernetes_asyncio.client.models import V1LocalObjectReference
from kubernetes_asyncio.client.models import V1PodDNSConfig
from kubernetes_asyncio.client.models import V1PodOS
from kubernetes_asyncio.client.models import V1PodReadinessGate
from kubernetes_asyncio.client.models import V1PodResourceClaim
from kubernetes_asyncio.client.models import V1PodSchedulingGate
from kubernetes_asyncio.client.models import V1PodSecurityContext
from kubernetes_asyncio.client.models import V1ResourceRequirements
from kubernetes_asyncio.client.models import V1Toleration
from kubernetes_asyncio.client.models import V1TopologySpreadConstraint
from kubernetes_asyncio.client.models import V1Volume
from typing import Any

class V1PodSpec:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, active_deadline_seconds: int | None = None, affinity: V1Affinity | None = None, automount_service_account_token: bool | None = None, containers: list[V1Container] | None = None, dns_config: V1PodDNSConfig | None = None, dns_policy: str | None = None, enable_service_links: bool | None = None, ephemeral_containers: list[V1EphemeralContainer] | None = None, host_aliases: list[V1HostAlias] | None = None, host_ipc: bool | None = None, host_network: bool | None = None, host_pid: bool | None = None, host_users: bool | None = None, hostname: str | None = None, hostname_override: str | None = None, image_pull_secrets: list[V1LocalObjectReference] | None = None, init_containers: list[V1Container] | None = None, node_name: str | None = None, node_selector: dict[str, str] | None = None, os: V1PodOS | None = None, overhead: dict[str, str] | None = None, preemption_policy: str | None = None, priority: int | None = None, priority_class_name: str | None = None, readiness_gates: list[V1PodReadinessGate] | None = None, resource_claims: list[V1PodResourceClaim] | None = None, resources: V1ResourceRequirements | None = None, restart_policy: str | None = None, runtime_class_name: str | None = None, scheduler_name: str | None = None, scheduling_gates: list[V1PodSchedulingGate] | None = None, security_context: V1PodSecurityContext | None = None, service_account: str | None = None, service_account_name: str | None = None, set_hostname_as_fqdn: bool | None = None, share_process_namespace: bool | None = None, subdomain: str | None = None, termination_grace_period_seconds: int | None = None, tolerations: list[V1Toleration] | None = None, topology_spread_constraints: list[V1TopologySpreadConstraint] | None = None, volumes: list[V1Volume] | 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 active_deadline_seconds(self) -> int: ...
    @active_deadline_seconds.setter
    def active_deadline_seconds(self, active_deadline_seconds: int) -> None: ...
    @property
    def affinity(self) -> V1Affinity: ...
    @affinity.setter
    def affinity(self, affinity: V1Affinity) -> None: ...
    @property
    def automount_service_account_token(self) -> bool: ...
    @automount_service_account_token.setter
    def automount_service_account_token(self, automount_service_account_token: bool) -> None: ...
    @property
    def containers(self) -> list[V1Container]: ...
    @containers.setter
    def containers(self, containers: list[V1Container]) -> None: ...
    @property
    def dns_config(self) -> V1PodDNSConfig: ...
    @dns_config.setter
    def dns_config(self, dns_config: V1PodDNSConfig) -> None: ...
    @property
    def dns_policy(self) -> str: ...
    @dns_policy.setter
    def dns_policy(self, dns_policy: str) -> None: ...
    @property
    def enable_service_links(self) -> bool: ...
    @enable_service_links.setter
    def enable_service_links(self, enable_service_links: bool) -> None: ...
    @property
    def ephemeral_containers(self) -> list[V1EphemeralContainer]: ...
    @ephemeral_containers.setter
    def ephemeral_containers(self, ephemeral_containers: list[V1EphemeralContainer]) -> None: ...
    @property
    def host_aliases(self) -> list[V1HostAlias]: ...
    @host_aliases.setter
    def host_aliases(self, host_aliases: list[V1HostAlias]) -> None: ...
    @property
    def host_ipc(self) -> bool: ...
    @host_ipc.setter
    def host_ipc(self, host_ipc: bool) -> None: ...
    @property
    def host_network(self) -> bool: ...
    @host_network.setter
    def host_network(self, host_network: bool) -> None: ...
    @property
    def host_pid(self) -> bool: ...
    @host_pid.setter
    def host_pid(self, host_pid: bool) -> None: ...
    @property
    def host_users(self) -> bool: ...
    @host_users.setter
    def host_users(self, host_users: bool) -> None: ...
    @property
    def hostname(self) -> str: ...
    @hostname.setter
    def hostname(self, hostname: str) -> None: ...
    @property
    def hostname_override(self) -> str: ...
    @hostname_override.setter
    def hostname_override(self, hostname_override: str) -> None: ...
    @property
    def image_pull_secrets(self) -> list[V1LocalObjectReference]: ...
    @image_pull_secrets.setter
    def image_pull_secrets(self, image_pull_secrets: list[V1LocalObjectReference]) -> None: ...
    @property
    def init_containers(self) -> list[V1Container]: ...
    @init_containers.setter
    def init_containers(self, init_containers: list[V1Container]) -> None: ...
    @property
    def node_name(self) -> str: ...
    @node_name.setter
    def node_name(self, node_name: str) -> None: ...
    @property
    def node_selector(self) -> dict[str, str]: ...
    @node_selector.setter
    def node_selector(self, node_selector: dict[str, str]) -> None: ...
    @property
    def os(self) -> V1PodOS: ...
    @os.setter
    def os(self, os: V1PodOS) -> None: ...
    @property
    def overhead(self) -> dict[str, str]: ...
    @overhead.setter
    def overhead(self, overhead: dict[str, str]) -> None: ...
    @property
    def preemption_policy(self) -> str: ...
    @preemption_policy.setter
    def preemption_policy(self, preemption_policy: str) -> None: ...
    @property
    def priority(self) -> int: ...
    @priority.setter
    def priority(self, priority: int) -> None: ...
    @property
    def priority_class_name(self) -> str: ...
    @priority_class_name.setter
    def priority_class_name(self, priority_class_name: str) -> None: ...
    @property
    def readiness_gates(self) -> list[V1PodReadinessGate]: ...
    @readiness_gates.setter
    def readiness_gates(self, readiness_gates: list[V1PodReadinessGate]) -> None: ...
    @property
    def resource_claims(self) -> list[V1PodResourceClaim]: ...
    @resource_claims.setter
    def resource_claims(self, resource_claims: list[V1PodResourceClaim]) -> None: ...
    @property
    def resources(self) -> V1ResourceRequirements: ...
    @resources.setter
    def resources(self, resources: V1ResourceRequirements) -> None: ...
    @property
    def restart_policy(self) -> str: ...
    @restart_policy.setter
    def restart_policy(self, restart_policy: str) -> None: ...
    @property
    def runtime_class_name(self) -> str: ...
    @runtime_class_name.setter
    def runtime_class_name(self, runtime_class_name: str) -> None: ...
    @property
    def scheduler_name(self) -> str: ...
    @scheduler_name.setter
    def scheduler_name(self, scheduler_name: str) -> None: ...
    @property
    def scheduling_gates(self) -> list[V1PodSchedulingGate]: ...
    @scheduling_gates.setter
    def scheduling_gates(self, scheduling_gates: list[V1PodSchedulingGate]) -> None: ...
    @property
    def security_context(self) -> V1PodSecurityContext: ...
    @security_context.setter
    def security_context(self, security_context: V1PodSecurityContext) -> None: ...
    @property
    def service_account(self) -> str: ...
    @service_account.setter
    def service_account(self, service_account: str) -> None: ...
    @property
    def service_account_name(self) -> str: ...
    @service_account_name.setter
    def service_account_name(self, service_account_name: str) -> None: ...
    @property
    def set_hostname_as_fqdn(self) -> bool: ...
    @set_hostname_as_fqdn.setter
    def set_hostname_as_fqdn(self, set_hostname_as_fqdn: bool) -> None: ...
    @property
    def share_process_namespace(self) -> bool: ...
    @share_process_namespace.setter
    def share_process_namespace(self, share_process_namespace: bool) -> None: ...
    @property
    def subdomain(self) -> str: ...
    @subdomain.setter
    def subdomain(self, subdomain: str) -> None: ...
    @property
    def termination_grace_period_seconds(self) -> int: ...
    @termination_grace_period_seconds.setter
    def termination_grace_period_seconds(self, termination_grace_period_seconds: int) -> None: ...
    @property
    def tolerations(self) -> list[V1Toleration]: ...
    @tolerations.setter
    def tolerations(self, tolerations: list[V1Toleration]) -> None: ...
    @property
    def topology_spread_constraints(self) -> list[V1TopologySpreadConstraint]: ...
    @topology_spread_constraints.setter
    def topology_spread_constraints(self, topology_spread_constraints: list[V1TopologySpreadConstraint]) -> None: ...
    @property
    def volumes(self) -> list[V1Volume]: ...
    @volumes.setter
    def volumes(self, volumes: list[V1Volume]) -> None: ...
