pyfect-dev 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyfect/__init__.py +729 -0
- pyfect/_all.py +242 -0
- pyfect/_background.py +28 -0
- pyfect/_binary_codecs.py +124 -0
- pyfect/_cached.py +165 -0
- pyfect/_catch.py +128 -0
- pyfect/_catch_reason.py +574 -0
- pyfect/_concurrency.py +291 -0
- pyfect/_context_effects.py +163 -0
- pyfect/_context_managers.py +76 -0
- pyfect/_core.py +368 -0
- pyfect/_digits.py +71 -0
- pyfect/_effect_args.py +46 -0
- pyfect/_effect_base.py +71 -0
- pyfect/_effect_concurrency.py +133 -0
- pyfect/_effect_eager.py +103 -0
- pyfect/_effect_errors.py +344 -0
- pyfect/_effect_folding.py +110 -0
- pyfect/_effect_hash.py +140 -0
- pyfect/_effect_logging.py +57 -0
- pyfect/_effect_metrics.py +102 -0
- pyfect/_effect_resources.py +179 -0
- pyfect/_effect_services.py +25 -0
- pyfect/_effect_timing.py +199 -0
- pyfect/_effect_tracing.py +99 -0
- pyfect/_equal.py +195 -0
- pyfect/_extras.py +43 -0
- pyfect/_fiber.py +969 -0
- pyfect/_fiber_all.py +134 -0
- pyfect/_fiber_collections.py +106 -0
- pyfect/_fn.py +706 -0
- pyfect/_hamt.py +174 -0
- pyfect/_interrupt_reason.py +33 -0
- pyfect/_isaac.py +149 -0
- pyfect/_iterables.py +231 -0
- pyfect/_js.py +263 -0
- pyfect/_js_date.py +87 -0
- pyfect/_json_text.py +286 -0
- pyfect/_json_value.py +9 -0
- pyfect/_layer_core.py +403 -0
- pyfect/_layer_for_life.py +33 -0
- pyfect/_layer_tracing.py +70 -0
- pyfect/_locked_ref.py +147 -0
- pyfect/_loop_thread.py +152 -0
- pyfect/_metric_ref.py +29 -0
- pyfect/_one_or_many.py +14 -0
- pyfect/_os_wait.py +118 -0
- pyfect/_path_posix.py +129 -0
- pyfect/_primitives.py +434 -0
- pyfect/_public.py +36 -0
- pyfect/_reasons.py +64 -0
- pyfect/_released.py +67 -0
- pyfect/_root.py +87 -0
- pyfect/_round_robin.py +73 -0
- pyfect/_some.py +17 -0
- pyfect/_stack.py +52 -0
- pyfect/_stack_frame.py +114 -0
- pyfect/_string_hash.py +35 -0
- pyfect/_subscriber_queue.py +47 -0
- pyfect/_tags.py +14 -0
- pyfect/_tracer_ref.py +21 -0
- pyfect/_tx_ops.py +77 -0
- pyfect/_unsubscripted.py +23 -0
- pyfect/_url.py +54 -0
- pyfect/_waiters.py +127 -0
- pyfect/_wake_tracking.py +98 -0
- pyfect/_wire_codec.py +123 -0
- pyfect/ai/__init__.py +73 -0
- pyfect/ai/_approvals.py +249 -0
- pyfect/ai/_decision_answers.py +185 -0
- pyfect/ai/_generated_client.py +298 -0
- pyfect/ai/_generated_support.py +84 -0
- pyfect/ai/_mcp/__init__.py +1 -0
- pyfect/ai/_mcp/batch.py +68 -0
- pyfect/ai/_mcp/client_transport.py +412 -0
- pyfect/ai/_mcp/client_wire.py +284 -0
- pyfect/ai/_mcp/core.py +490 -0
- pyfect/ai/_mcp/dispatch.py +1048 -0
- pyfect/ai/_mcp/http.py +462 -0
- pyfect/ai/_mcp/http_admission.py +269 -0
- pyfect/ai/_mcp/http_status.py +27 -0
- pyfect/ai/_mcp/input_wire.py +226 -0
- pyfect/ai/_mcp/log_levels.py +55 -0
- pyfect/ai/_mcp/param_headers.py +63 -0
- pyfect/ai/_mcp/projection.py +248 -0
- pyfect/ai/_mcp/register.py +683 -0
- pyfect/ai/_mcp/reverse_policy.py +155 -0
- pyfect/ai/_mcp/routing_header.py +24 -0
- pyfect/ai/_mcp/sessions.py +114 -0
- pyfect/ai/_mcp/stdio.py +110 -0
- pyfect/ai/_mcp/subscriptions.py +134 -0
- pyfect/ai/_mcp/tool_schema.py +35 -0
- pyfect/ai/_noul_answers.py +64 -0
- pyfect/ai/_openai_all_of.py +137 -0
- pyfect/ai/_openai_errors.py +233 -0
- pyfect/ai/_provider.py +439 -0
- pyfect/ai/_provider_tools.py +129 -0
- pyfect/ai/_stream_resolution.py +231 -0
- pyfect/ai/_structured_output_checks.py +138 -0
- pyfect/ai/_structured_output_codec.py +229 -0
- pyfect/ai/_structured_output_json.py +109 -0
- pyfect/ai/_tool_call_ids.py +80 -0
- pyfect/ai/ai_error.py +785 -0
- pyfect/ai/anthropic/__init__.py +28 -0
- pyfect/ai/anthropic/_errors.py +164 -0
- pyfect/ai/anthropic/_prompt.py +375 -0
- pyfect/ai/anthropic/_response.py +443 -0
- pyfect/ai/anthropic/_schema.py +206 -0
- pyfect/ai/anthropic/_stream.py +377 -0
- pyfect/ai/anthropic/_tools.py +248 -0
- pyfect/ai/anthropic/client.py +289 -0
- pyfect/ai/anthropic/config.py +32 -0
- pyfect/ai/anthropic/error.py +27 -0
- pyfect/ai/anthropic/language_model.py +366 -0
- pyfect/ai/anthropic/telemetry.py +51 -0
- pyfect/ai/anthropic/tool.py +570 -0
- pyfect/ai/anthropic_structured_output.py +138 -0
- pyfect/ai/chat.py +548 -0
- pyfect/ai/cloudflare/__init__.py +15 -0
- pyfect/ai/cloudflare/_errors.py +108 -0
- pyfect/ai/cloudflare/client.py +174 -0
- pyfect/ai/cloudflare/decision_model.py +117 -0
- pyfect/ai/cloudflare/schema.py +144 -0
- pyfect/ai/decision.py +290 -0
- pyfect/ai/decision_model.py +283 -0
- pyfect/ai/embedding_model.py +177 -0
- pyfect/ai/id_generator.py +79 -0
- pyfect/ai/language_model.py +1077 -0
- pyfect/ai/mcp_client.py +682 -0
- pyfect/ai/mcp_client_error.py +223 -0
- pyfect/ai/mcp_protocol.py +205 -0
- pyfect/ai/mcp_schema.py +1300 -0
- pyfect/ai/mcp_server.py +404 -0
- pyfect/ai/model.py +56 -0
- pyfect/ai/openai/__init__.py +49 -0
- pyfect/ai/openai/_errors.py +89 -0
- pyfect/ai/openai/_prompt.py +527 -0
- pyfect/ai/openai/_requests.py +34 -0
- pyfect/ai/openai/_response.py +569 -0
- pyfect/ai/openai/_schema.py +769 -0
- pyfect/ai/openai/_stream.py +771 -0
- pyfect/ai/openai/_tools.py +128 -0
- pyfect/ai/openai/_web_socket.py +295 -0
- pyfect/ai/openai/client.py +296 -0
- pyfect/ai/openai/client_generated.py +123 -0
- pyfect/ai/openai/config.py +34 -0
- pyfect/ai/openai/decision_model.py +177 -0
- pyfect/ai/openai/embedding_model.py +116 -0
- pyfect/ai/openai/error.py +8 -0
- pyfect/ai/openai/generated/__init__.py +7213 -0
- pyfect/ai/openai/generated/_recursive.py +18 -0
- pyfect/ai/openai/generated/_schemas_0.py +1015 -0
- pyfect/ai/openai/generated/_schemas_1.py +1016 -0
- pyfect/ai/openai/generated/_schemas_2.py +1017 -0
- pyfect/ai/openai/generated/_schemas_3.py +615 -0
- pyfect/ai/openai/generated/client.py +5298 -0
- pyfect/ai/openai/generated/types.py +8123 -0
- pyfect/ai/openai/language_model.py +304 -0
- pyfect/ai/openai/telemetry.py +19 -0
- pyfect/ai/openai/tool.py +391 -0
- pyfect/ai/openai_compat/__init__.py +25 -0
- pyfect/ai/openai_compat/_prompt.py +191 -0
- pyfect/ai/openai_compat/_request.py +153 -0
- pyfect/ai/openai_compat/_response.py +407 -0
- pyfect/ai/openai_compat/_schema.py +97 -0
- pyfect/ai/openai_compat/client.py +234 -0
- pyfect/ai/openai_compat/config.py +32 -0
- pyfect/ai/openai_compat/embedding_model.py +139 -0
- pyfect/ai/openai_compat/error.py +7 -0
- pyfect/ai/openai_compat/language_model.py +245 -0
- pyfect/ai/openai_compat/telemetry.py +51 -0
- pyfect/ai/openai_structured_output.py +118 -0
- pyfect/ai/openrouter/__init__.py +36 -0
- pyfect/ai/openrouter/_errors.py +186 -0
- pyfect/ai/openrouter/_prompt.py +272 -0
- pyfect/ai/openrouter/_response.py +226 -0
- pyfect/ai/openrouter/_stream.py +320 -0
- pyfect/ai/openrouter/client.py +283 -0
- pyfect/ai/openrouter/config.py +36 -0
- pyfect/ai/openrouter/decision_model.py +161 -0
- pyfect/ai/openrouter/error.py +23 -0
- pyfect/ai/openrouter/generated/__init__.py +3029 -0
- pyfect/ai/openrouter/generated/_recursive.py +15 -0
- pyfect/ai/openrouter/generated/_schemas_0.py +1015 -0
- pyfect/ai/openrouter/generated/_schemas_1.py +522 -0
- pyfect/ai/openrouter/generated/client.py +1445 -0
- pyfect/ai/openrouter/generated/types.py +4769 -0
- pyfect/ai/openrouter/language_model.py +345 -0
- pyfect/ai/openrouter/schema.py +165 -0
- pyfect/ai/prompt.py +664 -0
- pyfect/ai/response.py +768 -0
- pyfect/ai/response_id_tracker.py +82 -0
- pyfect/ai/telemetry.py +126 -0
- pyfect/ai/tokenizer.py +61 -0
- pyfect/ai/tool.py +536 -0
- pyfect/ai/toolkit.py +490 -0
- pyfect/ai/typesafe/__init__.py +17 -0
- pyfect/ai/typesafe/_errors.py +120 -0
- pyfect/ai/typesafe/client.py +146 -0
- pyfect/ai/typesafe/config.py +34 -0
- pyfect/ai/typesafe/decision_model.py +90 -0
- pyfect/ai/typesafe/schema.py +140 -0
- pyfect/batching/__init__.py +58 -0
- pyfect/batching/_api.py +71 -0
- pyfect/batching/_engine.py +229 -0
- pyfect/batching/_from_effect.py +76 -0
- pyfect/batching/_persisted.py +98 -0
- pyfect/batching/_request.py +133 -0
- pyfect/batching/_resolver.py +477 -0
- pyfect/batching/_with_cache.py +90 -0
- pyfect/big_decimal.py +500 -0
- pyfect/brand.py +114 -0
- pyfect/byte_size.py +354 -0
- pyfect/cache/__init__.py +29 -0
- pyfect/cache/_cache.py +426 -0
- pyfect/cache/_expiry.py +69 -0
- pyfect/cache/_scoped_cache.py +546 -0
- pyfect/case.py +174 -0
- pyfect/cause.py +462 -0
- pyfect/channel/__init__.py +155 -0
- pyfect/channel/_base.py +92 -0
- pyfect/channel/_catch.py +158 -0
- pyfect/channel/_catch_reason.py +572 -0
- pyfect/channel/_channel.py +158 -0
- pyfect/channel/_combinators.py +220 -0
- pyfect/channel/_concurrency_methods.py +217 -0
- pyfect/channel/_concurrent_map.py +118 -0
- pyfect/channel/_constructors.py +349 -0
- pyfect/channel/_context.py +232 -0
- pyfect/channel/_error_methods.py +336 -0
- pyfect/channel/_errors.py +180 -0
- pyfect/channel/_filters.py +225 -0
- pyfect/channel/_lifecycle.py +71 -0
- pyfect/channel/_lifecycle_methods.py +206 -0
- pyfect/channel/_loop.py +100 -0
- pyfect/channel/_merge.py +246 -0
- pyfect/channel/_repeat.py +154 -0
- pyfect/channel/_run.py +149 -0
- pyfect/channel/_run_methods.py +341 -0
- pyfect/channel/_sinks.py +88 -0
- pyfect/channel/_sources.py +238 -0
- pyfect/channel/_text.py +176 -0
- pyfect/channel/_transform_methods.py +415 -0
- pyfect/channel/_upstream.py +67 -0
- pyfect/channel_schema.py +131 -0
- pyfect/cli/__init__.py +79 -0
- pyfect/cli/_ansi.py +82 -0
- pyfect/cli/_command.py +469 -0
- pyfect/cli/_config.py +164 -0
- pyfect/cli/_environment.py +10 -0
- pyfect/cli/_help.py +195 -0
- pyfect/cli/_lexer.py +81 -0
- pyfect/cli/_parser.py +465 -0
- pyfect/cli/_settings.py +85 -0
- pyfect/cli/_suggest.py +33 -0
- pyfect/cli/_width.py +134 -0
- pyfect/cli/_wizard.py +317 -0
- pyfect/cli/argument.py +212 -0
- pyfect/cli/cli_config.py +40 -0
- pyfect/cli/cli_error.py +242 -0
- pyfect/cli/cli_output.py +305 -0
- pyfect/cli/command.py +440 -0
- pyfect/cli/completions/__init__.py +50 -0
- pyfect/cli/completions/_completer.ps1 +190 -0
- pyfect/cli/completions/_descriptor.py +182 -0
- pyfect/cli/completions/bash.py +300 -0
- pyfect/cli/completions/fish.py +164 -0
- pyfect/cli/completions/powershell.py +156 -0
- pyfect/cli/completions/zsh.py +189 -0
- pyfect/cli/flag.py +246 -0
- pyfect/cli/global_flag.py +99 -0
- pyfect/cli/help_doc.py +63 -0
- pyfect/cli/param.py +789 -0
- pyfect/cli/primitive.py +308 -0
- pyfect/cli/prompt/__init__.py +75 -0
- pyfect/cli/prompt/_auto_complete.py +205 -0
- pyfect/cli/prompt/_choices.py +104 -0
- pyfect/cli/prompt/_confirm.py +195 -0
- pyfect/cli/prompt/_core.py +512 -0
- pyfect/cli/prompt/_date.py +173 -0
- pyfect/cli/prompt/_date_parts.py +387 -0
- pyfect/cli/prompt/_file.py +372 -0
- pyfect/cli/prompt/_multi_select.py +204 -0
- pyfect/cli/prompt/_number.py +257 -0
- pyfect/cli/prompt/_select.py +117 -0
- pyfect/cli/prompt/_text.py +239 -0
- pyfect/cli/terminal_capabilities.py +118 -0
- pyfect/clock.py +150 -0
- pyfect/cluster/__init__.py +155 -0
- pyfect/cluster/_cluster_abandon.py +36 -0
- pyfect/cluster/_cluster_layer.py +122 -0
- pyfect/cluster/_entity_activation.py +16 -0
- pyfect/cluster/_entity_manager/__init__.py +22 -0
- pyfect/cluster/_entity_manager/_activation.py +540 -0
- pyfect/cluster/_entity_manager/_core.py +186 -0
- pyfect/cluster/_entity_manager/_decode.py +60 -0
- pyfect/cluster/_entity_manager/_manager.py +423 -0
- pyfect/cluster/_entity_manager/_state.py +113 -0
- pyfect/cluster/_entity_reaper.py +94 -0
- pyfect/cluster/_hash.py +13 -0
- pyfect/cluster/_interruptors.py +88 -0
- pyfect/cluster/_resource_map.py +179 -0
- pyfect/cluster/_resource_ref.py +266 -0
- pyfect/cluster/_shard_lock.py +14 -0
- pyfect/cluster/cluster_cron.py +230 -0
- pyfect/cluster/cluster_error.py +81 -0
- pyfect/cluster/cluster_http.py +210 -0
- pyfect/cluster/cluster_metrics.py +54 -0
- pyfect/cluster/cluster_schema.py +137 -0
- pyfect/cluster/cluster_socket.py +197 -0
- pyfect/cluster/cluster_workflow_engine/__init__.py +24 -0
- pyfect/cluster/cluster_workflow_engine/_engine.py +1099 -0
- pyfect/cluster/cluster_workflow_engine/_entities.py +298 -0
- pyfect/cluster/deliver_at.py +31 -0
- pyfect/cluster/entity/__init__.py +39 -0
- pyfect/cluster/entity/_entity.py +332 -0
- pyfect/cluster/entity/_handlers.py +168 -0
- pyfect/cluster/entity/_keep_alive.py +74 -0
- pyfect/cluster/entity/_queue.py +103 -0
- pyfect/cluster/entity/_request.py +34 -0
- pyfect/cluster/entity/_services.py +23 -0
- pyfect/cluster/entity/_test_client.py +237 -0
- pyfect/cluster/entity_address.py +25 -0
- pyfect/cluster/entity_id.py +20 -0
- pyfect/cluster/entity_proxy.py +161 -0
- pyfect/cluster/entity_proxy_server.py +103 -0
- pyfect/cluster/entity_resource.py +122 -0
- pyfect/cluster/entity_type.py +20 -0
- pyfect/cluster/envelope.py +307 -0
- pyfect/cluster/http_runner.py +254 -0
- pyfect/cluster/k8s_http_client.py +281 -0
- pyfect/cluster/k8s_types.py +1394 -0
- pyfect/cluster/machine_id.py +21 -0
- pyfect/cluster/message.py +219 -0
- pyfect/cluster/message_storage/__init__.py +67 -0
- pyfect/cluster/message_storage/_encoded.py +393 -0
- pyfect/cluster/message_storage/_memory.py +386 -0
- pyfect/cluster/message_storage/_noop.py +109 -0
- pyfect/cluster/message_storage/_service.py +388 -0
- pyfect/cluster/reply.py +236 -0
- pyfect/cluster/runner.py +32 -0
- pyfect/cluster/runner_address.py +23 -0
- pyfect/cluster/runner_health.py +93 -0
- pyfect/cluster/runner_server.py +286 -0
- pyfect/cluster/runner_storage.py +212 -0
- pyfect/cluster/runners/__init__.py +55 -0
- pyfect/cluster/runners/_local.py +460 -0
- pyfect/cluster/runners/_noop.py +57 -0
- pyfect/cluster/runners/_rpc.py +290 -0
- pyfect/cluster/runners/_service.py +113 -0
- pyfect/cluster/shard_id.py +39 -0
- pyfect/cluster/sharding/__init__.py +12 -0
- pyfect/cluster/sharding/_acquisition.py +490 -0
- pyfect/cluster/sharding/_clients.py +271 -0
- pyfect/cluster/sharding/_make.py +388 -0
- pyfect/cluster/sharding/_routing.py +296 -0
- pyfect/cluster/sharding/_runners_sync.py +198 -0
- pyfect/cluster/sharding/_service.py +91 -0
- pyfect/cluster/sharding/_singletons.py +183 -0
- pyfect/cluster/sharding/_state.py +296 -0
- pyfect/cluster/sharding/_storage_loop.py +421 -0
- pyfect/cluster/sharding_config.py +230 -0
- pyfect/cluster/sharding_registration_event.py +28 -0
- pyfect/cluster/single_runner.py +49 -0
- pyfect/cluster/singleton.py +36 -0
- pyfect/cluster/singleton_address.py +20 -0
- pyfect/cluster/snowflake.py +133 -0
- pyfect/cluster/socket_runner.py +67 -0
- pyfect/cluster/sql_message_storage.py +1001 -0
- pyfect/cluster/sql_runner_storage.py +841 -0
- pyfect/cluster/test_runner.py +23 -0
- pyfect/config/__init__.py +93 -0
- pyfect/config/_all.py +96 -0
- pyfect/config/_collections.py +291 -0
- pyfect/config/_config.py +261 -0
- pyfect/config/_constructors.py +106 -0
- pyfect/config/_error.py +27 -0
- pyfect/config/_leaf.py +92 -0
- pyfect/config/_scalars.py +193 -0
- pyfect/config/_schema.py +340 -0
- pyfect/config_provider/__init__.py +60 -0
- pyfect/config_provider/_dir.py +84 -0
- pyfect/config_provider/_dotenv.py +127 -0
- pyfect/config_provider/_env.py +79 -0
- pyfect/config_provider/_layers.py +80 -0
- pyfect/config_provider/_node.py +90 -0
- pyfect/config_provider/_provider.py +118 -0
- pyfect/config_provider/_unknown.py +62 -0
- pyfect/console/__init__.py +63 -0
- pyfect/console/_effects.py +134 -0
- pyfect/console/_live.py +156 -0
- pyfect/console/_service.py +49 -0
- pyfect/console/_table.py +90 -0
- pyfect/context.py +414 -0
- pyfect/cron/__init__.py +30 -0
- pyfect/cron/_model.py +183 -0
- pyfect/cron/_search.py +268 -0
- pyfect/cron/_text.py +202 -0
- pyfect/cron/_wall.py +42 -0
- pyfect/crypto.py +257 -0
- pyfect/date_time/__init__.py +77 -0
- pyfect/date_time/_calendar.py +209 -0
- pyfect/date_time/_current.py +118 -0
- pyfect/date_time/_epoch.py +22 -0
- pyfect/date_time/_iso.py +80 -0
- pyfect/date_time/_zones.py +135 -0
- pyfect/date_time/intl.py +144 -0
- pyfect/deferred.py +145 -0
- pyfect/devtools/__init__.py +24 -0
- pyfect/devtools/client.py +323 -0
- pyfect/devtools/layers.py +32 -0
- pyfect/devtools/schema.py +301 -0
- pyfect/devtools/server.py +72 -0
- pyfect/duration.py +295 -0
- pyfect/effect.py +565 -0
- pyfect/effectable.py +37 -0
- pyfect/encoding/__init__.py +62 -0
- pyfect/encoding/_archive.py +197 -0
- pyfect/encoding/_json_array_scanner.py +477 -0
- pyfect/encoding/base64.py +23 -0
- pyfect/encoding/base64_url.py +19 -0
- pyfect/encoding/encoding_error.py +17 -0
- pyfect/encoding/hex.py +28 -0
- pyfect/encoding/ini.py +188 -0
- pyfect/encoding/json_array.py +246 -0
- pyfect/encoding/ndjson.py +461 -0
- pyfect/encoding/schema_binary/__init__.py +257 -0
- pyfect/encoding/schema_binary/_channels.py +173 -0
- pyfect/encoding/schema_binary/_compile.py +584 -0
- pyfect/encoding/schema_binary/_decode.py +848 -0
- pyfect/encoding/schema_binary/_dictionary.py +90 -0
- pyfect/encoding/schema_binary/_encode.py +838 -0
- pyfect/encoding/schema_binary/_fingerprint.py +168 -0
- pyfect/encoding/schema_binary/_layout.py +350 -0
- pyfect/encoding/schema_binary/_literals.py +47 -0
- pyfect/encoding/schema_binary/_parser.py +163 -0
- pyfect/encoding/schema_binary/_reader.py +148 -0
- pyfect/encoding/schema_binary/_target.py +310 -0
- pyfect/encoding/schema_binary/_values.py +133 -0
- pyfect/encoding/schema_binary/_wire.py +253 -0
- pyfect/encoding/sse.py +476 -0
- pyfect/encoding/tar/__init__.py +396 -0
- pyfect/encoding/tar/_decoder.py +220 -0
- pyfect/encoding/tar/_encoder.py +83 -0
- pyfect/encoding/tar/_header.py +494 -0
- pyfect/encoding/tar/_model.py +82 -0
- pyfect/encoding/toml.py +375 -0
- pyfect/encoding/xml/__init__.py +222 -0
- pyfect/encoding/xml/_chars.py +119 -0
- pyfect/encoding/xml/_collector.py +106 -0
- pyfect/encoding/xml/_inputs.py +126 -0
- pyfect/encoding/xml/_model.py +114 -0
- pyfect/encoding/xml/_parser.py +694 -0
- pyfect/encoding/xml/_scanner.py +180 -0
- pyfect/encoding/xml/_writer.py +238 -0
- pyfect/encoding/yaml.py +739 -0
- pyfect/encoding/zip/__init__.py +392 -0
- pyfect/encoding/zip/_decoder.py +378 -0
- pyfect/encoding/zip/_format.py +122 -0
- pyfect/encoding/zip/_inflate.py +65 -0
- pyfect/encoding/zip/_model.py +86 -0
- pyfect/encoding/zip/_writer.py +311 -0
- pyfect/error_reporter.py +240 -0
- pyfect/errors.py +321 -0
- pyfect/eventlog/__init__.py +77 -0
- pyfect/eventlog/_conflicts.py +94 -0
- pyfect/eventlog/_crypto.py +64 -0
- pyfect/eventlog/_identity.py +26 -0
- pyfect/eventlog/_identity_derivation.py +79 -0
- pyfect/eventlog/_transferable_bytes.py +55 -0
- pyfect/eventlog/_uuid.py +33 -0
- pyfect/eventlog/event.py +115 -0
- pyfect/eventlog/event_group.py +55 -0
- pyfect/eventlog/event_journal.py +630 -0
- pyfect/eventlog/event_log.py +1039 -0
- pyfect/eventlog/event_log_encryption.py +219 -0
- pyfect/eventlog/event_log_message.py +357 -0
- pyfect/eventlog/event_log_remote.py +465 -0
- pyfect/eventlog/event_log_server.py +442 -0
- pyfect/eventlog/event_log_server_encrypted.py +322 -0
- pyfect/eventlog/event_log_server_unencrypted.py +814 -0
- pyfect/eventlog/event_log_session_auth.py +250 -0
- pyfect/eventlog/event_row.py +423 -0
- pyfect/eventlog/sql_event_journal.py +692 -0
- pyfect/eventlog/sql_event_log_server_encrypted.py +440 -0
- pyfect/eventlog/sql_event_log_server_unencrypted.py +568 -0
- pyfect/execution_plan/__init__.py +42 -0
- pyfect/execution_plan/_events.py +128 -0
- pyfect/execution_plan/_model.py +108 -0
- pyfect/execution_plan/_run.py +176 -0
- pyfect/exit.py +205 -0
- pyfect/fiber_handle.py +305 -0
- pyfect/fiber_map.py +350 -0
- pyfect/fiber_set.py +232 -0
- pyfect/file_system/__init__.py +69 -0
- pyfect/file_system/_copy.py +116 -0
- pyfect/file_system/_errors.py +32 -0
- pyfect/file_system/_file.py +177 -0
- pyfect/file_system/_live.py +351 -0
- pyfect/file_system/_model.py +72 -0
- pyfect/file_system/_noop.py +189 -0
- pyfect/file_system/_service.py +336 -0
- pyfect/file_system/_stat.py +69 -0
- pyfect/file_system/_watch.py +107 -0
- pyfect/filters.py +245 -0
- pyfect/graph/__init__.py +101 -0
- pyfect/graph/_all_pairs.py +150 -0
- pyfect/graph/_combine.py +259 -0
- pyfect/graph/_compact.py +143 -0
- pyfect/graph/_components.py +200 -0
- pyfect/graph/_cycles.py +144 -0
- pyfect/graph/_enumerate.py +168 -0
- pyfect/graph/_errors.py +51 -0
- pyfect/graph/_flow.py +164 -0
- pyfect/graph/_forest.py +109 -0
- pyfect/graph/_graph.py +269 -0
- pyfect/graph/_lowlink.py +98 -0
- pyfect/graph/_matching.py +101 -0
- pyfect/graph/_mutate.py +211 -0
- pyfect/graph/_query.py +138 -0
- pyfect/graph/_records.py +119 -0
- pyfect/graph/_render.py +109 -0
- pyfect/graph/_shortest.py +274 -0
- pyfect/graph/_snapshot.py +50 -0
- pyfect/graph/_store.py +136 -0
- pyfect/graph/_traverse.py +289 -0
- pyfect/graph/_view.py +384 -0
- pyfect/graph/_walker.py +70 -0
- pyfect/graphql/__init__.py +87 -0
- pyfect/graphql/_codec.py +117 -0
- pyfect/graphql/_http.py +309 -0
- pyfect/graphql/_schemas.py +39 -0
- pyfect/graphql/_slices.py +110 -0
- pyfect/graphql/_template.py +111 -0
- pyfect/graphql/_types.py +115 -0
- pyfect/graphql/_ws.py +395 -0
- pyfect/graphql/_ws_messages.py +120 -0
- pyfect/graphql/client.py +428 -0
- pyfect/graphql/client_error.py +285 -0
- pyfect/graphql/group.py +142 -0
- pyfect/graphql/middleware.py +98 -0
- pyfect/graphql/operation.py +409 -0
- pyfect/graphql/protocol.py +119 -0
- pyfect/graphql/resolver.py +574 -0
- pyfect/graphql/template.py +61 -0
- pyfect/hash_map.py +317 -0
- pyfect/hash_ring.py +206 -0
- pyfect/hash_set.py +163 -0
- pyfect/http/__init__.py +125 -0
- pyfect/http/_asgi_listener.py +272 -0
- pyfect/http/_authority.py +63 -0
- pyfect/http/_brotli.py +27 -0
- pyfect/http/_compression.py +52 -0
- pyfect/http/_field.py +18 -0
- pyfect/http/_foreign_path.py +27 -0
- pyfect/http/_form_data.py +34 -0
- pyfect/http/_httpx_options.py +120 -0
- pyfect/http/_in_memory.py +76 -0
- pyfect/http/_request_state.py +59 -0
- pyfect/http/_vary.py +14 -0
- pyfect/http/abort.py +65 -0
- pyfect/http/asgi/__init__.py +59 -0
- pyfect/http/asgi/_app.py +155 -0
- pyfect/http/asgi/_http.py +201 -0
- pyfect/http/asgi/_mount.py +263 -0
- pyfect/http/asgi/_scope.py +86 -0
- pyfect/http/asgi/_serve.py +72 -0
- pyfect/http/asgi/_types.py +13 -0
- pyfect/http/asgi/_web_socket.py +325 -0
- pyfect/http/body.py +437 -0
- pyfect/http/client/__init__.py +111 -0
- pyfect/http/client/_circuit_breaker.py +113 -0
- pyfect/http/client/_cookie_jar.py +120 -0
- pyfect/http/client/_make.py +252 -0
- pyfect/http/client/_rate_limit.py +423 -0
- pyfect/http/client/_redirects.py +93 -0
- pyfect/http/client/_retry.py +115 -0
- pyfect/http/client/_service.py +497 -0
- pyfect/http/cookies.py +444 -0
- pyfect/http/error.py +188 -0
- pyfect/http/etag.py +96 -0
- pyfect/http/file_like.py +49 -0
- pyfect/http/find_my_way/__init__.py +10 -0
- pyfect/http/find_my_way/_nodes.py +186 -0
- pyfect/http/find_my_way/_paths.py +43 -0
- pyfect/http/find_my_way/_query_string.py +67 -0
- pyfect/http/find_my_way/_router.py +401 -0
- pyfect/http/headers.py +343 -0
- pyfect/http/http_effect.py +198 -0
- pyfect/http/httpx_client.py +291 -0
- pyfect/http/hypercorn_server.py +122 -0
- pyfect/http/incoming_message.py +140 -0
- pyfect/http/live_server/__init__.py +191 -0
- pyfect/http/live_server/_body.py +164 -0
- pyfect/http/live_server/_exchange.py +321 -0
- pyfect/http/live_server/_head.py +194 -0
- pyfect/http/live_server/_inbound.py +156 -0
- pyfect/http/live_server/_listener.py +211 -0
- pyfect/http/live_server/_serve.py +225 -0
- pyfect/http/live_server/_timers.py +20 -0
- pyfect/http/live_server/_upgrade.py +108 -0
- pyfect/http/live_server/_websocket.py +286 -0
- pyfect/http/live_server/_ws_frames.py +242 -0
- pyfect/http/method.py +30 -0
- pyfect/http/middleware/__init__.py +61 -0
- pyfect/http/middleware/_compression.py +156 -0
- pyfect/http/middleware/_cors.py +129 -0
- pyfect/http/middleware/_decompression.py +274 -0
- pyfect/http/middleware/_forwarded.py +113 -0
- pyfect/http/middleware/_logger.py +73 -0
- pyfect/http/middleware/_search_params.py +34 -0
- pyfect/http/middleware/_tracer.py +153 -0
- pyfect/http/middleware/_types.py +16 -0
- pyfect/http/mime/__init__.py +69 -0
- pyfect/http/mime/_types.py +361 -0
- pyfect/http/multipart.py +613 -0
- pyfect/http/multipart_parser/__init__.py +348 -0
- pyfect/http/multipart_parser/_content_type.py +109 -0
- pyfect/http/multipart_parser/_headers.py +206 -0
- pyfect/http/multipart_parser/_search.py +85 -0
- pyfect/http/origin.py +146 -0
- pyfect/http/platform.py +593 -0
- pyfect/http/prometheus.py +34 -0
- pyfect/http/request.py +384 -0
- pyfect/http/response.py +474 -0
- pyfect/http/router/__init__.py +82 -0
- pyfect/http/router/_api.py +462 -0
- pyfect/http/router/_in_memory.py +76 -0
- pyfect/http/router/_markers.py +47 -0
- pyfect/http/router/_middleware.py +181 -0
- pyfect/http/router/_middleware_stack.py +51 -0
- pyfect/http/router/_provided.py +31 -0
- pyfect/http/router/_route.py +114 -0
- pyfect/http/router/_router.py +308 -0
- pyfect/http/schema.py +276 -0
- pyfect/http/server.py +199 -0
- pyfect/http/server_error.py +261 -0
- pyfect/http/server_request.py +729 -0
- pyfect/http/server_respondable.py +77 -0
- pyfect/http/server_response.py +569 -0
- pyfect/http/static_server/__init__.py +257 -0
- pyfect/http/static_server/_conditional.py +72 -0
- pyfect/http/static_server/_mime.py +55 -0
- pyfect/http/static_server/_range.py +53 -0
- pyfect/http/status.py +51 -0
- pyfect/http/template.py +161 -0
- pyfect/http/trace_context.py +91 -0
- pyfect/http/url.py +442 -0
- pyfect/http/url_params.py +304 -0
- pyfect/http/uvicorn_server.py +119 -0
- pyfect/http/web.py +171 -0
- pyfect/http/web_handler.py +463 -0
- pyfect/http/wire.py +209 -0
- pyfect/http_api/__init__.py +83 -0
- pyfect/http_api/_assets/scalar.js +8 -0
- pyfect/http_api/_assets/swagger-ui.css +3 -0
- pyfect/http_api/_assets/swagger-ui.js +4 -0
- pyfect/http_api/_client_method.py +220 -0
- pyfect/http_api/_client_payload.py +144 -0
- pyfect/http_api/_client_response.py +377 -0
- pyfect/http_api/_handlers.py +282 -0
- pyfect/http_api/_html.py +38 -0
- pyfect/http_api/_media_type.py +6 -0
- pyfect/http_api/_openapi_responses.py +164 -0
- pyfect/http_api/_openapi_schemas.py +163 -0
- pyfect/http_api/_path.py +102 -0
- pyfect/http_api/_payload.py +260 -0
- pyfect/http_api/_response.py +363 -0
- pyfect/http_api/_security.py +174 -0
- pyfect/http_api/api.py +265 -0
- pyfect/http_api/builder.py +447 -0
- pyfect/http_api/client.py +474 -0
- pyfect/http_api/endpoint.py +969 -0
- pyfect/http_api/error.py +280 -0
- pyfect/http_api/group.py +215 -0
- pyfect/http_api/middleware.py +232 -0
- pyfect/http_api/openapi.py +396 -0
- pyfect/http_api/scalar.py +143 -0
- pyfect/http_api/schema.py +713 -0
- pyfect/http_api/security.py +91 -0
- pyfect/http_api/swagger.py +69 -0
- pyfect/http_api/test.py +105 -0
- pyfect/json_patch.py +255 -0
- pyfect/json_pointer.py +100 -0
- pyfect/json_schema/__init__.py +66 -0
- pyfect/json_schema/_api.py +96 -0
- pyfect/json_schema/_converter.py +258 -0
- pyfect/json_schema/_draft04.py +198 -0
- pyfect/json_schema/_draft07.py +203 -0
- pyfect/json_schema/_keywords.py +202 -0
- pyfect/json_schema/_model.py +201 -0
- pyfect/json_schema/_openapi.py +208 -0
- pyfect/latch.py +127 -0
- pyfect/layer.py +479 -0
- pyfect/layer_map.py +279 -0
- pyfect/layer_ref.py +208 -0
- pyfect/logger/__init__.py +91 -0
- pyfect/logger/_batched.py +49 -0
- pyfect/logger/_console.py +116 -0
- pyfect/logger/_file.py +31 -0
- pyfect/logger/_formats.py +104 -0
- pyfect/logger/_layer.py +50 -0
- pyfect/logger/_level.py +53 -0
- pyfect/logger/_log.py +142 -0
- pyfect/logger/_model.py +163 -0
- pyfect/logger/_refs.py +78 -0
- pyfect/logger/_stdlib.py +54 -0
- pyfect/logger/_text.py +263 -0
- pyfect/logger/_tracer.py +35 -0
- pyfect/managed_runtime.py +393 -0
- pyfect/metric/__init__.py +119 -0
- pyfect/metric/_boundaries.py +27 -0
- pyfect/metric/_kinds.py +417 -0
- pyfect/metric/_metric.py +302 -0
- pyfect/metric/_prometheus.py +150 -0
- pyfect/metric/_refs.py +78 -0
- pyfect/metric/_runtime.py +75 -0
- pyfect/metric/_snapshot.py +97 -0
- pyfect/metric/_state.py +74 -0
- pyfect/msgspec.py +98 -0
- pyfect/mutable_hash_map.py +140 -0
- pyfect/mutable_hash_set.py +95 -0
- pyfect/net/__init__.py +18 -0
- pyfect/net/_errors.py +29 -0
- pyfect/net/address_resolver.py +179 -0
- pyfect/net/dns/__init__.py +92 -0
- pyfect/net/dns/_error.py +43 -0
- pyfect/net/dns/_records.py +335 -0
- pyfect/net/dns/_service.py +287 -0
- pyfect/net/dns/_system.py +89 -0
- pyfect/net/host.py +311 -0
- pyfect/net/ip_interface.py +202 -0
- pyfect/net/ip_network.py +250 -0
- pyfect/net/net_address/__init__.py +245 -0
- pyfect/net/net_address/_inet.py +412 -0
- pyfect/net/net_address/_ip.py +348 -0
- pyfect/net/net_address/_mac.py +119 -0
- pyfect/optic/__init__.py +50 -0
- pyfect/optic/_builtins.py +90 -0
- pyfect/optic/_data.py +97 -0
- pyfect/optic/_optic.py +422 -0
- pyfect/optic/_steps.py +151 -0
- pyfect/option.py +362 -0
- pyfect/otel/__init__.py +22 -0
- pyfect/otel/_attributes.py +67 -0
- pyfect/otel/_producer.py +322 -0
- pyfect/otel/_shutdown.py +26 -0
- pyfect/otel/_span.py +292 -0
- pyfect/otel/_wrapper.py +92 -0
- pyfect/otel/logger.py +154 -0
- pyfect/otel/metrics.py +126 -0
- pyfect/otel/resource.py +111 -0
- pyfect/otel/sdk.py +195 -0
- pyfect/otel/tracer.py +157 -0
- pyfect/partitioned_semaphore.py +211 -0
- pyfect/path.py +304 -0
- pyfect/persistence/__init__.py +77 -0
- pyfect/persistence/_columns.py +32 -0
- pyfect/persistence/_error.py +14 -0
- pyfect/persistence/_seconds.py +68 -0
- pyfect/persistence/_sql_keys.py +47 -0
- pyfect/persistence/circuit_breaker/__init__.py +120 -0
- pyfect/persistence/circuit_breaker/_breaker.py +317 -0
- pyfect/persistence/circuit_breaker/_errors.py +67 -0
- pyfect/persistence/circuit_breaker/_memory.py +243 -0
- pyfect/persistence/circuit_breaker/_redis.py +509 -0
- pyfect/persistence/circuit_breaker/_store.py +60 -0
- pyfect/persistence/circuit_breaker/_types.py +191 -0
- pyfect/persistence/key_value_store/__init__.py +51 -0
- pyfect/persistence/key_value_store/_layers.py +216 -0
- pyfect/persistence/key_value_store/_schema_store.py +91 -0
- pyfect/persistence/key_value_store/_sql.py +197 -0
- pyfect/persistence/key_value_store/_store.py +212 -0
- pyfect/persistence/persistable.py +164 -0
- pyfect/persistence/persisted_cache.py +159 -0
- pyfect/persistence/persisted_queue/__init__.py +75 -0
- pyfect/persistence/persisted_queue/_error.py +42 -0
- pyfect/persistence/persisted_queue/_mailbox.py +101 -0
- pyfect/persistence/persisted_queue/_memory.py +182 -0
- pyfect/persistence/persisted_queue/_queue.py +272 -0
- pyfect/persistence/persisted_queue/_redis.py +455 -0
- pyfect/persistence/persisted_queue/_redis_scripts.py +395 -0
- pyfect/persistence/persisted_queue/_sql.py +334 -0
- pyfect/persistence/persisted_queue/_sql_migrations.py +319 -0
- pyfect/persistence/persisted_queue/_sql_statements.py +441 -0
- pyfect/persistence/persisted_queue/_store.py +147 -0
- pyfect/persistence/persistence/__init__.py +84 -0
- pyfect/persistence/persistence/_kvs.py +135 -0
- pyfect/persistence/persistence/_memory.py +62 -0
- pyfect/persistence/persistence/_redis.py +162 -0
- pyfect/persistence/persistence/_service.py +276 -0
- pyfect/persistence/persistence/_sql.py +499 -0
- pyfect/persistence/rate_limiter/__init__.py +82 -0
- pyfect/persistence/rate_limiter/_errors.py +59 -0
- pyfect/persistence/rate_limiter/_limiter.py +325 -0
- pyfect/persistence/rate_limiter/_memory.py +217 -0
- pyfect/persistence/rate_limiter/_redis.py +485 -0
- pyfect/persistence/rate_limiter/_store.py +89 -0
- pyfect/persistence/redis/__init__.py +52 -0
- pyfect/persistence/redis/_error.py +12 -0
- pyfect/persistence/redis/_make.py +234 -0
- pyfect/persistence/redis/_script.py +78 -0
- pyfect/persistence/redis/_service.py +104 -0
- pyfect/persistence/redis_py.py +303 -0
- pyfect/persistence/user_directories.py +195 -0
- pyfect/platform.py +26 -0
- pyfect/platform_error.py +256 -0
- pyfect/pool/__init__.py +36 -0
- pyfect/pool/_pool.py +707 -0
- pyfect/pool/_state.py +161 -0
- pyfect/pool/_ttl.py +105 -0
- pyfect/pool/_waiters.py +116 -0
- pyfect/primary_key.py +35 -0
- pyfect/process/__init__.py +82 -0
- pyfect/process/_child.py +213 -0
- pyfect/process/_command.py +358 -0
- pyfect/process/_handle.py +77 -0
- pyfect/process/_live.py +455 -0
- pyfect/process/_os.py +78 -0
- pyfect/process/_pipes.py +291 -0
- pyfect/process/_spawner.py +75 -0
- pyfect/pubsub/__init__.py +33 -0
- pyfect/pubsub/_atomic.py +181 -0
- pyfect/pubsub/_hub.py +214 -0
- pyfect/pubsub/_pubsub.py +214 -0
- pyfect/pubsub/_replay.py +107 -0
- pyfect/pubsub/_subscription.py +226 -0
- pyfect/pull.py +132 -0
- pyfect/py.typed +0 -0
- pyfect/pydantic.py +188 -0
- pyfect/queue/__init__.py +33 -0
- pyfect/queue/_queue.py +525 -0
- pyfect/queue/_state.py +111 -0
- pyfect/queue/_views.py +55 -0
- pyfect/random.py +146 -0
- pyfect/rc_map.py +363 -0
- pyfect/rc_ref.py +271 -0
- pyfect/reactivity/__init__.py +53 -0
- pyfect/reactivity/_async_result_schema.py +227 -0
- pyfect/reactivity/_hydration.py +18 -0
- pyfect/reactivity/_live.py +21 -0
- pyfect/reactivity/_reactivity.py +256 -0
- pyfect/reactivity/_result_effect.py +17 -0
- pyfect/reactivity/_time.py +11 -0
- pyfect/reactivity/async_result.py +679 -0
- pyfect/reactivity/atom/__init__.py +143 -0
- pyfect/reactivity/atom/_combinators.py +223 -0
- pyfect/reactivity/atom/_constructors.py +80 -0
- pyfect/reactivity/atom/_conversions.py +79 -0
- pyfect/reactivity/atom/_effect.py +252 -0
- pyfect/reactivity/atom/_fn.py +341 -0
- pyfect/reactivity/atom/_kvs.py +101 -0
- pyfect/reactivity/atom/_optimistic.py +162 -0
- pyfect/reactivity/atom/_runtime.py +323 -0
- pyfect/reactivity/atom/_serializable.py +65 -0
- pyfect/reactivity/atom/_subscription_ref.py +102 -0
- pyfect/reactivity/atom/_swr.py +69 -0
- pyfect/reactivity/atom/_types.py +435 -0
- pyfect/reactivity/atom_http_api.py +667 -0
- pyfect/reactivity/atom_ref.py +260 -0
- pyfect/reactivity/atom_registry/__init__.py +219 -0
- pyfect/reactivity/atom_registry/_batch.py +96 -0
- pyfect/reactivity/atom_registry/_dispatcher.py +60 -0
- pyfect/reactivity/atom_registry/_lifetime.py +202 -0
- pyfect/reactivity/atom_registry/_node.py +423 -0
- pyfect/reactivity/atom_registry/_registry.py +380 -0
- pyfect/reactivity/atom_rpc.py +283 -0
- pyfect/reactivity/hydration.py +200 -0
- pyfect/redacted.py +83 -0
- pyfect/ref.py +129 -0
- pyfect/resource.py +98 -0
- pyfect/result.py +306 -0
- pyfect/rpc/__init__.py +64 -0
- pyfect/rpc/_encoded_schema.py +86 -0
- pyfect/rpc/_json_rpc.py +246 -0
- pyfect/rpc/_methods.py +177 -0
- pyfect/rpc/_rpc.py +498 -0
- pyfect/rpc/client/__init__.py +100 -0
- pyfect/rpc/client/_core.py +449 -0
- pyfect/rpc/client/_http.py +257 -0
- pyfect/rpc/client/_protocol.py +171 -0
- pyfect/rpc/client/_serialized.py +321 -0
- pyfect/rpc/client/_transports.py +328 -0
- pyfect/rpc/client/_worker.py +283 -0
- pyfect/rpc/client_error.py +35 -0
- pyfect/rpc/group.py +296 -0
- pyfect/rpc/message.py +299 -0
- pyfect/rpc/middleware.py +182 -0
- pyfect/rpc/schema.py +89 -0
- pyfect/rpc/serialization.py +366 -0
- pyfect/rpc/server/__init__.py +181 -0
- pyfect/rpc/server/_core.py +549 -0
- pyfect/rpc/server/_protocol.py +123 -0
- pyfect/rpc/server/_serialized.py +363 -0
- pyfect/rpc/server/_stdio.py +101 -0
- pyfect/rpc/server/_transports.py +427 -0
- pyfect/rpc/server/_worker.py +108 -0
- pyfect/rpc/test.py +74 -0
- pyfect/rpc/worker.py +92 -0
- pyfect/run.py +393 -0
- pyfect/schedule/__init__.py +91 -0
- pyfect/schedule/_combinators.py +168 -0
- pyfect/schedule/_constructors.py +223 -0
- pyfect/schedule/_cron.py +49 -0
- pyfect/schedule/_drive.py +191 -0
- pyfect/schedule/_model.py +405 -0
- pyfect/scheduler.py +575 -0
- pyfect/schema/__init__.py +866 -0
- pyfect/schema/_adapters.py +39 -0
- pyfect/schema/_arbitrary_constraint.py +242 -0
- pyfect/schema/_arbitrary_graph.py +325 -0
- pyfect/schema/_arbitrary_links.py +179 -0
- pyfect/schema/_arbitrary_number.py +112 -0
- pyfect/schema/_arrays.py +287 -0
- pyfect/schema/_assignable.py +118 -0
- pyfect/schema/_boolean_literals.py +31 -0
- pyfect/schema/_checks_number.py +216 -0
- pyfect/schema/_checks_order.py +140 -0
- pyfect/schema/_checks_size.py +277 -0
- pyfect/schema/_checks_string.py +241 -0
- pyfect/schema/_class.py +569 -0
- pyfect/schema/_codec_derivation.py +227 -0
- pyfect/schema/_codec_links.py +221 -0
- pyfect/schema/_codecs.py +316 -0
- pyfect/schema/_collections.py +172 -0
- pyfect/schema/_constructor_default.py +89 -0
- pyfect/schema/_data.py +440 -0
- pyfect/schema/_data_codecs.py +145 -0
- pyfect/schema/_decimal_regexp.py +243 -0
- pyfect/schema/_declare.py +68 -0
- pyfect/schema/_derive.py +292 -0
- pyfect/schema/_duration_codecs.py +27 -0
- pyfect/schema/_ecma_pattern.py +416 -0
- pyfect/schema/_error.py +26 -0
- pyfect/schema/_error_instance.py +222 -0
- pyfect/schema/_graph.py +271 -0
- pyfect/schema/_instances.py +240 -0
- pyfect/schema/_jsonschema/__init__.py +90 -0
- pyfect/schema/_jsonschema/_annotations.py +114 -0
- pyfect/schema/_jsonschema/_checks.py +253 -0
- pyfect/schema/_jsonschema/_compile.py +346 -0
- pyfect/schema/_jsonschema/_exact.py +19 -0
- pyfect/schema/_jsonschema/_merge.py +211 -0
- pyfect/schema/_jsonschema/_objects.py +231 -0
- pyfect/schema/_jsonschema/_references.py +221 -0
- pyfect/schema/_jsonschema/_template.py +69 -0
- pyfect/schema/_literals.py +147 -0
- pyfect/schema/_middleware.py +209 -0
- pyfect/schema/_net.py +522 -0
- pyfect/schema/_options.py +49 -0
- pyfect/schema/_parse.py +351 -0
- pyfect/schema/_parsed_text.py +37 -0
- pyfect/schema/_primitives.py +48 -0
- pyfect/schema/_record.py +41 -0
- pyfect/schema/_refine.py +81 -0
- pyfect/schema/_schema.py +158 -0
- pyfect/schema/_semver.py +144 -0
- pyfect/schema/_strategy/__init__.py +258 -0
- pyfect/schema/_strategy/_big_decimal.py +203 -0
- pyfect/schema/_strategy/_composites.py +119 -0
- pyfect/schema/_strategy/_leaves.py +94 -0
- pyfect/schema/_strategy/_net.py +133 -0
- pyfect/schema/_struct.py +87 -0
- pyfect/schema/_struct_keys.py +128 -0
- pyfect/schema/_tagged.py +254 -0
- pyfect/schema/_template_literal.py +172 -0
- pyfect/schema/_to_codec_array_from_single.py +115 -0
- pyfect/schema/_to_codec_go_json.py +174 -0
- pyfect/schema/_to_codec_json.py +73 -0
- pyfect/schema/_to_codec_string_tree.py +115 -0
- pyfect/schema/_to_differ_json_patch.py +44 -0
- pyfect/schema/_to_encoder_xml.py +119 -0
- pyfect/schema/_to_equivalence.py +186 -0
- pyfect/schema/_to_formatter.py +180 -0
- pyfect/schema/_to_iso.py +73 -0
- pyfect/schema/_to_strategy.py +31 -0
- pyfect/schema/_transform.py +210 -0
- pyfect/schema/_tree.py +27 -0
- pyfect/schema/_type_walk.py +53 -0
- pyfect/schema/_undefined.py +58 -0
- pyfect/schema/_value_codecs.py +84 -0
- pyfect/schema/_values.py +123 -0
- pyfect/schema/_void.py +86 -0
- pyfect/schema/ast/__init__.py +227 -0
- pyfect/schema/ast/_annotations.py +43 -0
- pyfect/schema/ast/_arrays.py +210 -0
- pyfect/schema/ast/_base.py +295 -0
- pyfect/schema/ast/_candidates.py +309 -0
- pyfect/schema/ast/_check.py +181 -0
- pyfect/schema/ast/_class.py +159 -0
- pyfect/schema/ast/_constructors.py +65 -0
- pyfect/schema/ast/_declaration.py +97 -0
- pyfect/schema/ast/_encoding.py +111 -0
- pyfect/schema/ast/_json.py +129 -0
- pyfect/schema/ast/_keywords.py +125 -0
- pyfect/schema/ast/_literal.py +157 -0
- pyfect/schema/ast/_objects.py +356 -0
- pyfect/schema/ast/_record.py +36 -0
- pyfect/schema/ast/_result.py +116 -0
- pyfect/schema/ast/_steps.py +209 -0
- pyfect/schema/ast/_suspend.py +65 -0
- pyfect/schema/ast/_template_literal.py +256 -0
- pyfect/schema/ast/_union.py +172 -0
- pyfect/schema/getter/__init__.py +136 -0
- pyfect/schema/getter/_binary.py +104 -0
- pyfect/schema/getter/_coerce.py +196 -0
- pyfect/schema/getter/_getter.py +243 -0
- pyfect/schema/getter/_make.py +151 -0
- pyfect/schema/getter/_text.py +141 -0
- pyfect/schema/getter/_tree_record.py +170 -0
- pyfect/schema/issue.py +420 -0
- pyfect/schema/model/__init__.py +120 -0
- pyfect/schema/model/_class.py +245 -0
- pyfect/schema/model/_dates.py +103 -0
- pyfect/schema/model/_fields.py +77 -0
- pyfect/schema/model/_toolkit.py +114 -0
- pyfect/schema/model/_uuid.py +69 -0
- pyfect/schema/representation/__init__.py +424 -0
- pyfect/schema/representation/_builtin_revivers.py +331 -0
- pyfect/schema/representation/_code.py +106 -0
- pyfect/schema/representation/_code_builtins.py +281 -0
- pyfect/schema/representation/_code_document.py +563 -0
- pyfect/schema/representation/_code_sort.py +111 -0
- pyfect/schema/representation/_from.py +278 -0
- pyfect/schema/representation/_import/__init__.py +78 -0
- pyfect/schema/representation/_import/_finalize.py +121 -0
- pyfect/schema/representation/_import/_intersect.py +467 -0
- pyfect/schema/representation/_import/_js_order.py +66 -0
- pyfect/schema/representation/_import/_keywords.py +224 -0
- pyfect/schema/representation/_import/_nodes.py +199 -0
- pyfect/schema/representation/_import/_translate.py +455 -0
- pyfect/schema/representation/_json.py +520 -0
- pyfect/schema/representation/_json_schema.py +178 -0
- pyfect/schema/representation/_model.py +284 -0
- pyfect/schema/representation/_revivers.py +89 -0
- pyfect/schema/representation/_to.py +249 -0
- pyfect/schema/transformation/__init__.py +99 -0
- pyfect/schema/transformation/_builtins.py +314 -0
- pyfect/schema/transformation/_durations.py +150 -0
- pyfect/schema/transformation/_transformation.py +177 -0
- pyfect/schema/variant_schema/__init__.py +69 -0
- pyfect/schema/variant_schema/_class.py +188 -0
- pyfect/schema/variant_schema/_defaults.py +30 -0
- pyfect/schema/variant_schema/_field.py +32 -0
- pyfect/schema/variant_schema/_struct.py +130 -0
- pyfect/schema/variant_schema/_toolkit.py +160 -0
- pyfect/scope.py +374 -0
- pyfect/scoped_ref.py +124 -0
- pyfect/semaphore.py +276 -0
- pyfect/semver.py +403 -0
- pyfect/semver_range.py +420 -0
- pyfect/sink/__init__.py +131 -0
- pyfect/sink/_combinators.py +151 -0
- pyfect/sink/_constructors.py +187 -0
- pyfect/sink/_context.py +87 -0
- pyfect/sink/_folds.py +336 -0
- pyfect/sink/_for_each.py +87 -0
- pyfect/sink/_sink.py +265 -0
- pyfect/sink/_steps.py +34 -0
- pyfect/sink/_taking.py +183 -0
- pyfect/socket/__init__.py +146 -0
- pyfect/socket/_accepted.py +65 -0
- pyfect/socket/_connection.py +384 -0
- pyfect/socket/_errors.py +135 -0
- pyfect/socket/_loop.py +66 -0
- pyfect/socket/_net.py +281 -0
- pyfect/socket/_socket.py +245 -0
- pyfect/socket/_tls.py +88 -0
- pyfect/socket/_tls_session.py +117 -0
- pyfect/socket/_web_socket.py +555 -0
- pyfect/socket/datagram/__init__.py +110 -0
- pyfect/socket/datagram/_core.py +460 -0
- pyfect/socket/datagram/_errors.py +102 -0
- pyfect/socket/datagram/_live.py +675 -0
- pyfect/socket/datagram/_model.py +217 -0
- pyfect/socket/server.py +258 -0
- pyfect/socket/ws.py +484 -0
- pyfect/sql/__init__.py +60 -0
- pyfect/sql/_loop.py +134 -0
- pyfect/sql/clickhouse/__init__.py +74 -0
- pyfect/sql/clickhouse/_connection.py +237 -0
- pyfect/sql/clickhouse/_rows.py +87 -0
- pyfect/sql/clickhouse/client.py +322 -0
- pyfect/sql/clickhouse/config.py +241 -0
- pyfect/sql/clickhouse/driver.py +434 -0
- pyfect/sql/clickhouse/error.py +106 -0
- pyfect/sql/clickhouse/migrator.py +47 -0
- pyfect/sql/clickhouse/params.py +168 -0
- pyfect/sql/client/__init__.py +35 -0
- pyfect/sql/client/_client.py +309 -0
- pyfect/sql/client/_sqlite_acquirers.py +130 -0
- pyfect/sql/client/_transaction.py +410 -0
- pyfect/sql/connection.py +87 -0
- pyfect/sql/d1/__init__.py +48 -0
- pyfect/sql/d1/api.py +270 -0
- pyfect/sql/d1/client.py +344 -0
- pyfect/sql/d1/config.py +55 -0
- pyfect/sql/error.py +311 -0
- pyfect/sql/libsql/__init__.py +58 -0
- pyfect/sql/libsql/_connection.py +110 -0
- pyfect/sql/libsql/_hrana.py +258 -0
- pyfect/sql/libsql/_local.py +251 -0
- pyfect/sql/libsql/_targets.py +28 -0
- pyfect/sql/libsql/_values.py +46 -0
- pyfect/sql/libsql/client.py +225 -0
- pyfect/sql/libsql/config.py +170 -0
- pyfect/sql/libsql/migrator.py +43 -0
- pyfect/sql/libsql/sdk.py +123 -0
- pyfect/sql/migrator.py +434 -0
- pyfect/sql/model.py +324 -0
- pyfect/sql/mssql/__init__.py +79 -0
- pyfect/sql/mssql/_connection.py +169 -0
- pyfect/sql/mssql/_driver.py +103 -0
- pyfect/sql/mssql/_names.py +9 -0
- pyfect/sql/mssql/_pool.py +125 -0
- pyfect/sql/mssql/_tds.py +447 -0
- pyfect/sql/mssql/_tds_params.py +155 -0
- pyfect/sql/mssql/_worker.py +155 -0
- pyfect/sql/mssql/client.py +344 -0
- pyfect/sql/mssql/config.py +118 -0
- pyfect/sql/mssql/error.py +111 -0
- pyfect/sql/mssql/migrator.py +43 -0
- pyfect/sql/mssql/parameter.py +44 -0
- pyfect/sql/mssql/procedure.py +119 -0
- pyfect/sql/mssql/types.py +137 -0
- pyfect/sql/mysql/__init__.py +60 -0
- pyfect/sql/mysql/_asyncmy.py +168 -0
- pyfect/sql/mysql/_bind.py +76 -0
- pyfect/sql/mysql/_connection.py +156 -0
- pyfect/sql/mysql/_pool.py +63 -0
- pyfect/sql/mysql/_session.py +262 -0
- pyfect/sql/mysql/client.py +244 -0
- pyfect/sql/mysql/config.py +108 -0
- pyfect/sql/mysql/error.py +104 -0
- pyfect/sql/mysql/migrator.py +44 -0
- pyfect/sql/pg/__init__.py +82 -0
- pyfect/sql/pg/_resolve.py +284 -0
- pyfect/sql/pg/_session.py +380 -0
- pyfect/sql/pg/client.py +398 -0
- pyfect/sql/pg/config.py +142 -0
- pyfect/sql/pg/connection.py +585 -0
- pyfect/sql/pg/error.py +131 -0
- pyfect/sql/pg/migrator.py +139 -0
- pyfect/sql/pg/pool.py +265 -0
- pyfect/sql/resolver.py +294 -0
- pyfect/sql/result.py +24 -0
- pyfect/sql/schema.py +116 -0
- pyfect/sql/sqlite/__init__.py +26 -0
- pyfect/sql/sqlite/_connection.py +230 -0
- pyfect/sql/sqlite/_worker.py +71 -0
- pyfect/sql/sqlite/client.py +248 -0
- pyfect/sql/sqlite/migrator.py +43 -0
- pyfect/sql/statement/__init__.py +144 -0
- pyfect/sql/statement/_compiler.py +384 -0
- pyfect/sql/statement/_segments.py +487 -0
- pyfect/sql/statement/_statement.py +526 -0
- pyfect/sql/statement/_transforms.py +93 -0
- pyfect/sql/stream.py +88 -0
- pyfect/stdio.py +206 -0
- pyfect/stream/__init__.py +151 -0
- pyfect/stream/_async_iterable.py +129 -0
- pyfect/stream/_base.py +69 -0
- pyfect/stream/_bridge_methods.py +139 -0
- pyfect/stream/_catch.py +135 -0
- pyfect/stream/_catch_reason.py +558 -0
- pyfect/stream/_channel_methods.py +61 -0
- pyfect/stream/_chunk_methods.py +169 -0
- pyfect/stream/_chunking.py +310 -0
- pyfect/stream/_concat.py +65 -0
- pyfect/stream/_constructors.py +341 -0
- pyfect/stream/_context.py +147 -0
- pyfect/stream/_error_methods.py +254 -0
- pyfect/stream/_execution_plan.py +199 -0
- pyfect/stream/_fanout.py +154 -0
- pyfect/stream/_fanout_methods.py +183 -0
- pyfect/stream/_filter_methods.py +203 -0
- pyfect/stream/_grouping.py +168 -0
- pyfect/stream/_many.py +65 -0
- pyfect/stream/_map_methods.py +233 -0
- pyfect/stream/_mapping.py +126 -0
- pyfect/stream/_run.py +114 -0
- pyfect/stream/_run_methods.py +114 -0
- pyfect/stream/_service_methods.py +36 -0
- pyfect/stream/_sink_methods.py +151 -0
- pyfect/stream/_sinking.py +277 -0
- pyfect/stream/_sources.py +124 -0
- pyfect/stream/_stream.py +162 -0
- pyfect/stream/_taking.py +330 -0
- pyfect/stream/_text.py +43 -0
- pyfect/stream/_timing.py +294 -0
- pyfect/stream/_timing_methods.py +252 -0
- pyfect/stream/_zip_methods.py +279 -0
- pyfect/stream/_zipping.py +213 -0
- pyfect/subscription_ref.py +66 -0
- pyfect/synchronized_ref.py +38 -0
- pyfect/take.py +36 -0
- pyfect/terminal/__init__.py +41 -0
- pyfect/terminal/_keys.py +113 -0
- pyfect/terminal/_live.py +223 -0
- pyfect/terminal/_service.py +73 -0
- pyfect/testing/__init__.py +122 -0
- pyfect/testing/_assertions.py +92 -0
- pyfect/testing/_clock.py +309 -0
- pyfect/testing/_console.py +164 -0
- pyfect/testing/_crypto.py +44 -0
- pyfect/testing/_decorators.py +211 -0
- pyfect/testing/_flaky.py +34 -0
- pyfect/testing/_layers.py +153 -0
- pyfect/testing/_prop.py +255 -0
- pyfect/testing/_runners.py +84 -0
- pyfect/testing/_runtime.py +174 -0
- pyfect/testing/_schema.py +238 -0
- pyfect/testing/plugin.py +59 -0
- pyfect/tracer/__init__.py +107 -0
- pyfect/tracer/_model.py +176 -0
- pyfect/tracer/_native.py +172 -0
- pyfect/tracer/_refs.py +87 -0
- pyfect/tracer/_spans.py +269 -0
- pyfect/transaction.py +340 -0
- pyfect/trie.py +317 -0
- pyfect/tx_chunk.py +127 -0
- pyfect/tx_deferred.py +75 -0
- pyfect/tx_hash_map.py +265 -0
- pyfect/tx_hash_set.py +151 -0
- pyfect/tx_priority_queue.py +224 -0
- pyfect/tx_pubsub.py +194 -0
- pyfect/tx_queue/__init__.py +27 -0
- pyfect/tx_queue/_queue.py +359 -0
- pyfect/tx_queue/_views.py +60 -0
- pyfect/tx_reentrant_lock.py +201 -0
- pyfect/tx_ref.py +79 -0
- pyfect/tx_semaphore.py +136 -0
- pyfect/tx_subscription_ref.py +118 -0
- pyfect/workers/__init__.py +62 -0
- pyfect/workers/_frames.py +82 -0
- pyfect/workers/_mailbox.py +51 -0
- pyfect/workers/_port.py +106 -0
- pyfect/workers/_process.py +155 -0
- pyfect/workers/_thread.py +100 -0
- pyfect/workers/python_worker.py +133 -0
- pyfect/workers/python_worker_runner.py +112 -0
- pyfect/workers/transferable.py +103 -0
- pyfect/workers/worker.py +273 -0
- pyfect/workers/worker_error.py +86 -0
- pyfect/workers/worker_runner.py +85 -0
- pyfect/workflow/__init__.py +78 -0
- pyfect/workflow/_crypto.py +23 -0
- pyfect/workflow/_encoded.py +381 -0
- pyfect/workflow/_memory.py +424 -0
- pyfect/workflow/_result.py +43 -0
- pyfect/workflow/_services.py +241 -0
- pyfect/workflow/_suspension.py +153 -0
- pyfect/workflow/activity.py +427 -0
- pyfect/workflow/durable_clock.py +72 -0
- pyfect/workflow/durable_deferred.py +403 -0
- pyfect/workflow/durable_queue.py +259 -0
- pyfect/workflow/workflow.py +509 -0
- pyfect/workflow/workflow_engine.py +42 -0
- pyfect/workflow/workflow_proxy.py +161 -0
- pyfect/workflow/workflow_proxy_server.py +146 -0
- pyfect_dev-0.1.0.dist-info/METADATA +296 -0
- pyfect_dev-0.1.0.dist-info/RECORD +1265 -0
- pyfect_dev-0.1.0.dist-info/WHEEL +4 -0
- pyfect_dev-0.1.0.dist-info/entry_points.txt +3 -0
- pyfect_dev-0.1.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,1394 @@
|
|
|
1
|
+
"""Kubernetes resource types for the cluster's Kubernetes helpers (Effect's
|
|
2
|
+
``K8sTypes``): the transitive closure of ``Pod`` from kubernetes-types
|
|
3
|
+
1.30.0, generated from the Kubernetes OpenAPI definitions
|
|
4
|
+
(https://github.com/silverlyra/kubernetes-types, Apache-2.0), as
|
|
5
|
+
``TypedDict``s of the API's JSON. Field documentation is the Kubernetes API
|
|
6
|
+
reference's.
|
|
7
|
+
|
|
8
|
+
Generated from Effect's ``K8sTypes.ts``.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
from typing import Literal, NotRequired, ReadOnly, TypedDict
|
|
12
|
+
|
|
13
|
+
type Time = str
|
|
14
|
+
"""An RFC 3339 timestamp."""
|
|
15
|
+
|
|
16
|
+
type Quantity = str
|
|
17
|
+
"""A fixed-point number with an optional SI suffix (``"500m"``, ``"1Gi"``)."""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class AWSElasticBlockStoreVolumeSource(TypedDict):
|
|
21
|
+
"""Represents a Persistent Disk resource in AWS."""
|
|
22
|
+
|
|
23
|
+
fsType: NotRequired[str]
|
|
24
|
+
partition: NotRequired[int]
|
|
25
|
+
readOnly: NotRequired[bool]
|
|
26
|
+
volumeID: str
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class NodeSelectorRequirement(TypedDict):
|
|
30
|
+
"""A node selector requirement is a selector that contains values, a key, and an operator
|
|
31
|
+
that relates the key and values.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
key: str
|
|
35
|
+
operator: str
|
|
36
|
+
values: NotRequired[list[str]]
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class NodeSelectorTerm(TypedDict):
|
|
40
|
+
"""A null or empty node selector term matches no objects. The requirements of them are
|
|
41
|
+
ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
matchExpressions: NotRequired[list[NodeSelectorRequirement]]
|
|
45
|
+
matchFields: NotRequired[list[NodeSelectorRequirement]]
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class PreferredSchedulingTerm(TypedDict):
|
|
49
|
+
"""An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's
|
|
50
|
+
a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
preference: NodeSelectorTerm
|
|
54
|
+
weight: int
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class NodeSelector(TypedDict):
|
|
58
|
+
"""A node selector represents the union of the results of one or more label queries over a
|
|
59
|
+
set of nodes; that is, it represents the OR of the selectors represented by the node
|
|
60
|
+
selector terms.
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
nodeSelectorTerms: list[NodeSelectorTerm]
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class NodeAffinity(TypedDict):
|
|
67
|
+
"""Node affinity is a group of node affinity scheduling rules."""
|
|
68
|
+
|
|
69
|
+
preferredDuringSchedulingIgnoredDuringExecution: NotRequired[list[PreferredSchedulingTerm]]
|
|
70
|
+
requiredDuringSchedulingIgnoredDuringExecution: NotRequired[NodeSelector]
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class LabelSelectorRequirement(TypedDict):
|
|
74
|
+
"""A label selector requirement is a selector that contains values, a key, and an operator
|
|
75
|
+
that relates the key and values.
|
|
76
|
+
"""
|
|
77
|
+
|
|
78
|
+
key: str
|
|
79
|
+
operator: str
|
|
80
|
+
values: NotRequired[list[str]]
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class LabelSelector(TypedDict):
|
|
84
|
+
"""A label selector is a label query over a set of resources. The result of matchLabels and
|
|
85
|
+
matchExpressions are ANDed. An empty label selector matches all objects. A null label
|
|
86
|
+
selector matches no objects.
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
matchExpressions: NotRequired[list[LabelSelectorRequirement]]
|
|
90
|
+
matchLabels: NotRequired[dict[str, str]]
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
class PodAffinityTerm(TypedDict):
|
|
94
|
+
"""Defines a set of pods (namely those matching the labelSelector relative to the given
|
|
95
|
+
namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-
|
|
96
|
+
affinity) with, where co-located is defined as running on a node whose value of the
|
|
97
|
+
label with key <topologyKey> matches that of any node on which a pod of the set of pods
|
|
98
|
+
is running
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
labelSelector: NotRequired[LabelSelector]
|
|
102
|
+
matchLabelKeys: NotRequired[list[str]]
|
|
103
|
+
mismatchLabelKeys: NotRequired[list[str]]
|
|
104
|
+
namespaceSelector: NotRequired[LabelSelector]
|
|
105
|
+
namespaces: NotRequired[list[str]]
|
|
106
|
+
topologyKey: str
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
class WeightedPodAffinityTerm(TypedDict):
|
|
110
|
+
"""The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to
|
|
111
|
+
find the most preferred node(s)
|
|
112
|
+
"""
|
|
113
|
+
|
|
114
|
+
podAffinityTerm: PodAffinityTerm
|
|
115
|
+
weight: int
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
class PodAffinity(TypedDict):
|
|
119
|
+
"""Pod affinity is a group of inter pod affinity scheduling rules."""
|
|
120
|
+
|
|
121
|
+
preferredDuringSchedulingIgnoredDuringExecution: NotRequired[list[WeightedPodAffinityTerm]]
|
|
122
|
+
requiredDuringSchedulingIgnoredDuringExecution: NotRequired[list[PodAffinityTerm]]
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
class PodAntiAffinity(TypedDict):
|
|
126
|
+
"""Pod anti affinity is a group of inter pod anti affinity scheduling rules."""
|
|
127
|
+
|
|
128
|
+
preferredDuringSchedulingIgnoredDuringExecution: NotRequired[list[WeightedPodAffinityTerm]]
|
|
129
|
+
requiredDuringSchedulingIgnoredDuringExecution: NotRequired[list[PodAffinityTerm]]
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
class Affinity(TypedDict):
|
|
133
|
+
"""Affinity is a group of affinity scheduling rules."""
|
|
134
|
+
|
|
135
|
+
nodeAffinity: NotRequired[NodeAffinity]
|
|
136
|
+
podAffinity: NotRequired[PodAffinity]
|
|
137
|
+
podAntiAffinity: NotRequired[PodAntiAffinity]
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
class AppArmorProfile(TypedDict):
|
|
141
|
+
"""AppArmorProfile defines a pod or container's AppArmor settings."""
|
|
142
|
+
|
|
143
|
+
localhostProfile: NotRequired[str]
|
|
144
|
+
type: str
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
class AzureDiskVolumeSource(TypedDict):
|
|
148
|
+
"""AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod."""
|
|
149
|
+
|
|
150
|
+
cachingMode: NotRequired[str]
|
|
151
|
+
diskName: str
|
|
152
|
+
diskURI: str
|
|
153
|
+
fsType: NotRequired[str]
|
|
154
|
+
kind: NotRequired[str]
|
|
155
|
+
readOnly: NotRequired[bool]
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
class AzureFileVolumeSource(TypedDict):
|
|
159
|
+
"""AzureFile represents an Azure File Service mount on the host and bind mount to the pod."""
|
|
160
|
+
|
|
161
|
+
readOnly: NotRequired[bool]
|
|
162
|
+
secretName: str
|
|
163
|
+
shareName: str
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
class LocalObjectReference(TypedDict):
|
|
167
|
+
"""LocalObjectReference contains enough information to let you locate the referenced object
|
|
168
|
+
inside the same namespace.
|
|
169
|
+
"""
|
|
170
|
+
|
|
171
|
+
name: NotRequired[str]
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
class CSIVolumeSource(TypedDict):
|
|
175
|
+
"""Represents a source location of a volume to mount, managed by an external CSI driver"""
|
|
176
|
+
|
|
177
|
+
driver: str
|
|
178
|
+
fsType: NotRequired[str]
|
|
179
|
+
nodePublishSecretRef: NotRequired[LocalObjectReference]
|
|
180
|
+
readOnly: NotRequired[bool]
|
|
181
|
+
volumeAttributes: NotRequired[dict[str, str]]
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
class Capabilities(TypedDict):
|
|
185
|
+
"""Adds and removes POSIX capabilities from running containers."""
|
|
186
|
+
|
|
187
|
+
add: NotRequired[list[str]]
|
|
188
|
+
drop: NotRequired[list[str]]
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
class CephFSVolumeSource(TypedDict):
|
|
192
|
+
"""Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do
|
|
193
|
+
not support ownership management or SELinux relabeling.
|
|
194
|
+
"""
|
|
195
|
+
|
|
196
|
+
monitors: list[str]
|
|
197
|
+
path: NotRequired[str]
|
|
198
|
+
readOnly: NotRequired[bool]
|
|
199
|
+
secretFile: NotRequired[str]
|
|
200
|
+
secretRef: NotRequired[LocalObjectReference]
|
|
201
|
+
user: NotRequired[str]
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
class CinderVolumeSource(TypedDict):
|
|
205
|
+
"""Represents a cinder volume resource in Openstack. A Cinder volume must exist before
|
|
206
|
+
mounting to a container. The volume must also be in the same region as the kubelet.
|
|
207
|
+
Cinder volumes support ownership management and SELinux relabeling.
|
|
208
|
+
"""
|
|
209
|
+
|
|
210
|
+
fsType: NotRequired[str]
|
|
211
|
+
readOnly: NotRequired[bool]
|
|
212
|
+
secretRef: NotRequired[LocalObjectReference]
|
|
213
|
+
volumeID: str
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
class ClaimSource(TypedDict):
|
|
217
|
+
"""ClaimSource describes a reference to a ResourceClaim."""
|
|
218
|
+
|
|
219
|
+
resourceClaimName: NotRequired[str]
|
|
220
|
+
resourceClaimTemplateName: NotRequired[str]
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
class ClusterTrustBundleProjection(TypedDict):
|
|
224
|
+
"""ClusterTrustBundleProjection describes how to select a set of ClusterTrustBundle objects
|
|
225
|
+
and project their contents into the pod filesystem.
|
|
226
|
+
"""
|
|
227
|
+
|
|
228
|
+
labelSelector: NotRequired[LabelSelector]
|
|
229
|
+
name: NotRequired[str]
|
|
230
|
+
optional: NotRequired[bool]
|
|
231
|
+
path: str
|
|
232
|
+
signerName: NotRequired[str]
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
class ConfigMapEnvSource(TypedDict):
|
|
236
|
+
"""ConfigMapEnvSource selects a ConfigMap to populate the environment variables with."""
|
|
237
|
+
|
|
238
|
+
name: NotRequired[str]
|
|
239
|
+
optional: NotRequired[bool]
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
class ConfigMapKeySelector(TypedDict):
|
|
243
|
+
"""Selects a key from a ConfigMap."""
|
|
244
|
+
|
|
245
|
+
key: str
|
|
246
|
+
name: NotRequired[str]
|
|
247
|
+
optional: NotRequired[bool]
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
class KeyToPath(TypedDict):
|
|
251
|
+
"""Maps a string key to a path within a volume."""
|
|
252
|
+
|
|
253
|
+
key: str
|
|
254
|
+
mode: NotRequired[int]
|
|
255
|
+
path: str
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
class ConfigMapProjection(TypedDict):
|
|
259
|
+
"""Adapts a ConfigMap into a projected volume."""
|
|
260
|
+
|
|
261
|
+
items: NotRequired[list[KeyToPath]]
|
|
262
|
+
name: NotRequired[str]
|
|
263
|
+
optional: NotRequired[bool]
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
class ConfigMapVolumeSource(TypedDict):
|
|
267
|
+
"""Adapts a ConfigMap into a volume."""
|
|
268
|
+
|
|
269
|
+
defaultMode: NotRequired[int]
|
|
270
|
+
items: NotRequired[list[KeyToPath]]
|
|
271
|
+
name: NotRequired[str]
|
|
272
|
+
optional: NotRequired[bool]
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
class ObjectFieldSelector(TypedDict):
|
|
276
|
+
"""ObjectFieldSelector selects an APIVersioned field of an object."""
|
|
277
|
+
|
|
278
|
+
apiVersion: NotRequired[str]
|
|
279
|
+
fieldPath: str
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
class ResourceFieldSelector(TypedDict):
|
|
283
|
+
"""ResourceFieldSelector represents container resources (cpu, memory) and their output
|
|
284
|
+
format
|
|
285
|
+
"""
|
|
286
|
+
|
|
287
|
+
containerName: NotRequired[str]
|
|
288
|
+
divisor: NotRequired[Quantity]
|
|
289
|
+
resource: str
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
class SecretKeySelector(TypedDict):
|
|
293
|
+
"""SecretKeySelector selects a key of a Secret."""
|
|
294
|
+
|
|
295
|
+
key: str
|
|
296
|
+
name: NotRequired[str]
|
|
297
|
+
optional: NotRequired[bool]
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
class EnvVarSource(TypedDict):
|
|
301
|
+
"""EnvVarSource represents a source for the value of an EnvVar."""
|
|
302
|
+
|
|
303
|
+
configMapKeyRef: NotRequired[ConfigMapKeySelector]
|
|
304
|
+
fieldRef: NotRequired[ObjectFieldSelector]
|
|
305
|
+
resourceFieldRef: NotRequired[ResourceFieldSelector]
|
|
306
|
+
secretKeyRef: NotRequired[SecretKeySelector]
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
class EnvVar(TypedDict):
|
|
310
|
+
"""EnvVar represents an environment variable present in a Container."""
|
|
311
|
+
|
|
312
|
+
name: str
|
|
313
|
+
value: NotRequired[str]
|
|
314
|
+
valueFrom: NotRequired[EnvVarSource]
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
class SecretEnvSource(TypedDict):
|
|
318
|
+
"""SecretEnvSource selects a Secret to populate the environment variables with."""
|
|
319
|
+
|
|
320
|
+
name: NotRequired[str]
|
|
321
|
+
optional: NotRequired[bool]
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
class EnvFromSource(TypedDict):
|
|
325
|
+
"""EnvFromSource represents the source of a set of ConfigMaps"""
|
|
326
|
+
|
|
327
|
+
configMapRef: NotRequired[ConfigMapEnvSource]
|
|
328
|
+
prefix: NotRequired[str]
|
|
329
|
+
secretRef: NotRequired[SecretEnvSource]
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
class ExecAction(TypedDict):
|
|
333
|
+
"""ExecAction describes a "run in container" action."""
|
|
334
|
+
|
|
335
|
+
command: NotRequired[list[str]]
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
class HTTPHeader(TypedDict):
|
|
339
|
+
"""HTTPHeader describes a custom header to be used in HTTP probes"""
|
|
340
|
+
|
|
341
|
+
name: str
|
|
342
|
+
value: str
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
class HTTPGetAction(TypedDict):
|
|
346
|
+
"""HTTPGetAction describes an action based on HTTP Get requests."""
|
|
347
|
+
|
|
348
|
+
host: NotRequired[str]
|
|
349
|
+
httpHeaders: NotRequired[list[HTTPHeader]]
|
|
350
|
+
path: NotRequired[str]
|
|
351
|
+
port: int | str
|
|
352
|
+
scheme: NotRequired[str]
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
class SleepAction(TypedDict):
|
|
356
|
+
"""SleepAction describes a "sleep" action."""
|
|
357
|
+
|
|
358
|
+
seconds: int
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
class TCPSocketAction(TypedDict):
|
|
362
|
+
"""TCPSocketAction describes an action based on opening a socket"""
|
|
363
|
+
|
|
364
|
+
host: NotRequired[str]
|
|
365
|
+
port: int | str
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
class LifecycleHandler(TypedDict):
|
|
369
|
+
"""LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One
|
|
370
|
+
and only one of the fields, except TCPSocket must be specified.
|
|
371
|
+
"""
|
|
372
|
+
|
|
373
|
+
exec: NotRequired[ExecAction]
|
|
374
|
+
httpGet: NotRequired[HTTPGetAction]
|
|
375
|
+
sleep: NotRequired[SleepAction]
|
|
376
|
+
tcpSocket: NotRequired[TCPSocketAction]
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
class Lifecycle(TypedDict):
|
|
380
|
+
"""Lifecycle describes actions that the management system should take in response to
|
|
381
|
+
container lifecycle events. For the PostStart and PreStop lifecycle handlers, management
|
|
382
|
+
of the container blocks until the action is complete, unless the container process
|
|
383
|
+
fails, in which case the handler is aborted.
|
|
384
|
+
"""
|
|
385
|
+
|
|
386
|
+
postStart: NotRequired[LifecycleHandler]
|
|
387
|
+
preStop: NotRequired[LifecycleHandler]
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
class GRPCAction(TypedDict):
|
|
391
|
+
"""GRPCAction specifies an action involving a gRPC service."""
|
|
392
|
+
|
|
393
|
+
port: int
|
|
394
|
+
service: NotRequired[str]
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
class Probe(TypedDict):
|
|
398
|
+
"""Probe describes a health check to be performed against a container to determine whether
|
|
399
|
+
it is alive or ready to receive traffic.
|
|
400
|
+
"""
|
|
401
|
+
|
|
402
|
+
exec: NotRequired[ExecAction]
|
|
403
|
+
failureThreshold: NotRequired[int]
|
|
404
|
+
grpc: NotRequired[GRPCAction]
|
|
405
|
+
httpGet: NotRequired[HTTPGetAction]
|
|
406
|
+
initialDelaySeconds: NotRequired[int]
|
|
407
|
+
periodSeconds: NotRequired[int]
|
|
408
|
+
successThreshold: NotRequired[int]
|
|
409
|
+
tcpSocket: NotRequired[TCPSocketAction]
|
|
410
|
+
terminationGracePeriodSeconds: NotRequired[int]
|
|
411
|
+
timeoutSeconds: NotRequired[int]
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
class ContainerPort(TypedDict):
|
|
415
|
+
"""ContainerPort represents a network port in a single container."""
|
|
416
|
+
|
|
417
|
+
containerPort: int
|
|
418
|
+
hostIP: NotRequired[str]
|
|
419
|
+
hostPort: NotRequired[int]
|
|
420
|
+
name: NotRequired[str]
|
|
421
|
+
protocol: NotRequired[str]
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
class ContainerResizePolicy(TypedDict):
|
|
425
|
+
"""ContainerResizePolicy represents resource resize policy for the container."""
|
|
426
|
+
|
|
427
|
+
resourceName: str
|
|
428
|
+
restartPolicy: str
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
class ResourceClaim(TypedDict):
|
|
432
|
+
"""ResourceClaim references one entry in PodSpec.ResourceClaims."""
|
|
433
|
+
|
|
434
|
+
name: str
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
class ResourceRequirements(TypedDict):
|
|
438
|
+
"""ResourceRequirements describes the compute resource requirements."""
|
|
439
|
+
|
|
440
|
+
claims: NotRequired[list[ResourceClaim]]
|
|
441
|
+
limits: NotRequired[dict[str, Quantity]]
|
|
442
|
+
requests: NotRequired[dict[str, Quantity]]
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
class SELinuxOptions(TypedDict):
|
|
446
|
+
"""SELinuxOptions are the labels to be applied to the container"""
|
|
447
|
+
|
|
448
|
+
level: NotRequired[str]
|
|
449
|
+
role: NotRequired[str]
|
|
450
|
+
type: NotRequired[str]
|
|
451
|
+
user: NotRequired[str]
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
class SeccompProfile(TypedDict):
|
|
455
|
+
"""SeccompProfile defines a pod/container's seccomp profile settings. Only one profile
|
|
456
|
+
source may be set.
|
|
457
|
+
"""
|
|
458
|
+
|
|
459
|
+
localhostProfile: NotRequired[str]
|
|
460
|
+
type: str
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
class WindowsSecurityContextOptions(TypedDict):
|
|
464
|
+
"""WindowsSecurityContextOptions contain Windows-specific options and credentials."""
|
|
465
|
+
|
|
466
|
+
gmsaCredentialSpec: NotRequired[str]
|
|
467
|
+
gmsaCredentialSpecName: NotRequired[str]
|
|
468
|
+
hostProcess: NotRequired[bool]
|
|
469
|
+
runAsUserName: NotRequired[str]
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
class SecurityContext(TypedDict):
|
|
473
|
+
"""SecurityContext holds security configuration that will be applied to a container. Some
|
|
474
|
+
fields are present in both SecurityContext and PodSecurityContext. When both are set,
|
|
475
|
+
the values in SecurityContext take precedence.
|
|
476
|
+
"""
|
|
477
|
+
|
|
478
|
+
allowPrivilegeEscalation: NotRequired[bool]
|
|
479
|
+
appArmorProfile: NotRequired[AppArmorProfile]
|
|
480
|
+
capabilities: NotRequired[Capabilities]
|
|
481
|
+
privileged: NotRequired[bool]
|
|
482
|
+
procMount: NotRequired[str]
|
|
483
|
+
readOnlyRootFilesystem: NotRequired[bool]
|
|
484
|
+
runAsGroup: NotRequired[int]
|
|
485
|
+
runAsNonRoot: NotRequired[bool]
|
|
486
|
+
runAsUser: NotRequired[int]
|
|
487
|
+
seLinuxOptions: NotRequired[SELinuxOptions]
|
|
488
|
+
seccompProfile: NotRequired[SeccompProfile]
|
|
489
|
+
windowsOptions: NotRequired[WindowsSecurityContextOptions]
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
class VolumeDevice(TypedDict):
|
|
493
|
+
"""volumeDevice describes a mapping of a raw block device within a container."""
|
|
494
|
+
|
|
495
|
+
devicePath: str
|
|
496
|
+
name: str
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
class VolumeMount(TypedDict):
|
|
500
|
+
"""VolumeMount describes a mounting of a Volume within a container."""
|
|
501
|
+
|
|
502
|
+
mountPath: str
|
|
503
|
+
mountPropagation: NotRequired[str]
|
|
504
|
+
name: str
|
|
505
|
+
readOnly: NotRequired[bool]
|
|
506
|
+
recursiveReadOnly: NotRequired[str]
|
|
507
|
+
subPath: NotRequired[str]
|
|
508
|
+
subPathExpr: NotRequired[str]
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
class Container(TypedDict):
|
|
512
|
+
"""A single application container that you want to run within a pod."""
|
|
513
|
+
|
|
514
|
+
args: NotRequired[list[str]]
|
|
515
|
+
command: NotRequired[list[str]]
|
|
516
|
+
env: NotRequired[list[EnvVar]]
|
|
517
|
+
envFrom: NotRequired[list[EnvFromSource]]
|
|
518
|
+
image: NotRequired[str]
|
|
519
|
+
imagePullPolicy: NotRequired[str]
|
|
520
|
+
lifecycle: NotRequired[Lifecycle]
|
|
521
|
+
livenessProbe: NotRequired[Probe]
|
|
522
|
+
name: str
|
|
523
|
+
ports: NotRequired[list[ContainerPort]]
|
|
524
|
+
readinessProbe: NotRequired[Probe]
|
|
525
|
+
resizePolicy: NotRequired[list[ContainerResizePolicy]]
|
|
526
|
+
resources: NotRequired[ResourceRequirements]
|
|
527
|
+
restartPolicy: NotRequired[str]
|
|
528
|
+
securityContext: NotRequired[SecurityContext]
|
|
529
|
+
startupProbe: NotRequired[Probe]
|
|
530
|
+
stdin: NotRequired[bool]
|
|
531
|
+
stdinOnce: NotRequired[bool]
|
|
532
|
+
terminationMessagePath: NotRequired[str]
|
|
533
|
+
terminationMessagePolicy: NotRequired[str]
|
|
534
|
+
tty: NotRequired[bool]
|
|
535
|
+
volumeDevices: NotRequired[list[VolumeDevice]]
|
|
536
|
+
volumeMounts: NotRequired[list[VolumeMount]]
|
|
537
|
+
workingDir: NotRequired[str]
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
class ContainerStateRunning(TypedDict):
|
|
541
|
+
"""ContainerStateRunning is a running state of a container."""
|
|
542
|
+
|
|
543
|
+
startedAt: NotRequired[Time]
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
class ContainerStateTerminated(TypedDict):
|
|
547
|
+
"""ContainerStateTerminated is a terminated state of a container."""
|
|
548
|
+
|
|
549
|
+
containerID: NotRequired[str]
|
|
550
|
+
exitCode: int
|
|
551
|
+
finishedAt: NotRequired[Time]
|
|
552
|
+
message: NotRequired[str]
|
|
553
|
+
reason: NotRequired[str]
|
|
554
|
+
signal: NotRequired[int]
|
|
555
|
+
startedAt: NotRequired[Time]
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
class ContainerStateWaiting(TypedDict):
|
|
559
|
+
"""ContainerStateWaiting is a waiting state of a container."""
|
|
560
|
+
|
|
561
|
+
message: NotRequired[str]
|
|
562
|
+
reason: NotRequired[str]
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
class ContainerState(TypedDict):
|
|
566
|
+
"""ContainerState holds a possible state of container. Only one of its members may be
|
|
567
|
+
specified. If none of them is specified, the default one is ContainerStateWaiting.
|
|
568
|
+
"""
|
|
569
|
+
|
|
570
|
+
running: NotRequired[ContainerStateRunning]
|
|
571
|
+
terminated: NotRequired[ContainerStateTerminated]
|
|
572
|
+
waiting: NotRequired[ContainerStateWaiting]
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
class VolumeMountStatus(TypedDict):
|
|
576
|
+
"""VolumeMountStatus shows status of volume mounts."""
|
|
577
|
+
|
|
578
|
+
mountPath: str
|
|
579
|
+
name: str
|
|
580
|
+
readOnly: NotRequired[bool]
|
|
581
|
+
recursiveReadOnly: NotRequired[str]
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
class ContainerStatus(TypedDict):
|
|
585
|
+
"""ContainerStatus contains details for the current status of this container."""
|
|
586
|
+
|
|
587
|
+
allocatedResources: NotRequired[dict[str, Quantity]]
|
|
588
|
+
containerID: NotRequired[str]
|
|
589
|
+
image: str
|
|
590
|
+
imageID: str
|
|
591
|
+
lastState: NotRequired[ContainerState]
|
|
592
|
+
name: str
|
|
593
|
+
ready: bool
|
|
594
|
+
resources: NotRequired[ResourceRequirements]
|
|
595
|
+
restartCount: int
|
|
596
|
+
started: NotRequired[bool]
|
|
597
|
+
state: NotRequired[ContainerState]
|
|
598
|
+
volumeMounts: NotRequired[list[VolumeMountStatus]]
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
class DownwardAPIVolumeFile(TypedDict):
|
|
602
|
+
"""DownwardAPIVolumeFile represents information to create the file containing the pod field"""
|
|
603
|
+
|
|
604
|
+
fieldRef: NotRequired[ObjectFieldSelector]
|
|
605
|
+
mode: NotRequired[int]
|
|
606
|
+
path: str
|
|
607
|
+
resourceFieldRef: NotRequired[ResourceFieldSelector]
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
class DownwardAPIProjection(TypedDict):
|
|
611
|
+
"""Represents downward API info for projecting into a projected volume. Note that this is
|
|
612
|
+
identical to a downwardAPI volume source without the default mode.
|
|
613
|
+
"""
|
|
614
|
+
|
|
615
|
+
items: NotRequired[list[DownwardAPIVolumeFile]]
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
class DownwardAPIVolumeSource(TypedDict):
|
|
619
|
+
"""DownwardAPIVolumeSource represents a volume containing downward API info. Downward API
|
|
620
|
+
volumes support ownership management and SELinux relabeling.
|
|
621
|
+
"""
|
|
622
|
+
|
|
623
|
+
defaultMode: NotRequired[int]
|
|
624
|
+
items: NotRequired[list[DownwardAPIVolumeFile]]
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
class EmptyDirVolumeSource(TypedDict):
|
|
628
|
+
"""Represents an empty directory for a pod. Empty directory volumes support ownership
|
|
629
|
+
management and SELinux relabeling.
|
|
630
|
+
"""
|
|
631
|
+
|
|
632
|
+
medium: NotRequired[str]
|
|
633
|
+
sizeLimit: NotRequired[Quantity]
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
class EphemeralContainer(TypedDict):
|
|
637
|
+
"""An EphemeralContainer is a temporary container that you may add to an existing Pod for
|
|
638
|
+
user-initiated activities such as debugging. Ephemeral containers have no resource or
|
|
639
|
+
scheduling guarantees, and they will not be restarted when they exit or when a Pod is
|
|
640
|
+
removed or restarted. The kubelet may evict a Pod if an ephemeral container causes the
|
|
641
|
+
Pod to exceed its resource allocation.
|
|
642
|
+
"""
|
|
643
|
+
|
|
644
|
+
args: NotRequired[list[str]]
|
|
645
|
+
command: NotRequired[list[str]]
|
|
646
|
+
env: NotRequired[list[EnvVar]]
|
|
647
|
+
envFrom: NotRequired[list[EnvFromSource]]
|
|
648
|
+
image: NotRequired[str]
|
|
649
|
+
imagePullPolicy: NotRequired[str]
|
|
650
|
+
lifecycle: NotRequired[Lifecycle]
|
|
651
|
+
livenessProbe: NotRequired[Probe]
|
|
652
|
+
name: str
|
|
653
|
+
ports: NotRequired[list[ContainerPort]]
|
|
654
|
+
readinessProbe: NotRequired[Probe]
|
|
655
|
+
resizePolicy: NotRequired[list[ContainerResizePolicy]]
|
|
656
|
+
resources: NotRequired[ResourceRequirements]
|
|
657
|
+
restartPolicy: NotRequired[str]
|
|
658
|
+
securityContext: NotRequired[SecurityContext]
|
|
659
|
+
startupProbe: NotRequired[Probe]
|
|
660
|
+
stdin: NotRequired[bool]
|
|
661
|
+
stdinOnce: NotRequired[bool]
|
|
662
|
+
targetContainerName: NotRequired[str]
|
|
663
|
+
terminationMessagePath: NotRequired[str]
|
|
664
|
+
terminationMessagePolicy: NotRequired[str]
|
|
665
|
+
tty: NotRequired[bool]
|
|
666
|
+
volumeDevices: NotRequired[list[VolumeDevice]]
|
|
667
|
+
volumeMounts: NotRequired[list[VolumeMount]]
|
|
668
|
+
workingDir: NotRequired[str]
|
|
669
|
+
|
|
670
|
+
|
|
671
|
+
class FieldsV1(TypedDict):
|
|
672
|
+
"""FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format."""
|
|
673
|
+
|
|
674
|
+
pass
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
class ManagedFieldsEntry(TypedDict):
|
|
678
|
+
"""ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource
|
|
679
|
+
that the fieldset applies to.
|
|
680
|
+
"""
|
|
681
|
+
|
|
682
|
+
apiVersion: NotRequired[str]
|
|
683
|
+
fieldsType: NotRequired[str]
|
|
684
|
+
fieldsV1: NotRequired[FieldsV1]
|
|
685
|
+
manager: NotRequired[str]
|
|
686
|
+
operation: NotRequired[str]
|
|
687
|
+
subresource: NotRequired[str]
|
|
688
|
+
time: NotRequired[Time]
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
class OwnerReference(TypedDict):
|
|
692
|
+
"""OwnerReference contains enough information to let you identify an owning object. An
|
|
693
|
+
owning object must be in the same namespace as the dependent, or be cluster-scoped, so
|
|
694
|
+
there is no namespace field.
|
|
695
|
+
"""
|
|
696
|
+
|
|
697
|
+
apiVersion: str
|
|
698
|
+
blockOwnerDeletion: NotRequired[bool]
|
|
699
|
+
controller: NotRequired[bool]
|
|
700
|
+
kind: str
|
|
701
|
+
name: str
|
|
702
|
+
uid: str
|
|
703
|
+
|
|
704
|
+
|
|
705
|
+
class ObjectMeta(TypedDict):
|
|
706
|
+
"""ObjectMeta is metadata that all persisted resources must have, which includes all
|
|
707
|
+
objects users must create.
|
|
708
|
+
"""
|
|
709
|
+
|
|
710
|
+
annotations: NotRequired[dict[str, str]]
|
|
711
|
+
creationTimestamp: NotRequired[ReadOnly[Time]]
|
|
712
|
+
deletionGracePeriodSeconds: NotRequired[ReadOnly[int]]
|
|
713
|
+
deletionTimestamp: NotRequired[ReadOnly[Time]]
|
|
714
|
+
finalizers: NotRequired[list[str]]
|
|
715
|
+
generateName: NotRequired[str]
|
|
716
|
+
generation: NotRequired[ReadOnly[int]]
|
|
717
|
+
labels: NotRequired[dict[str, str]]
|
|
718
|
+
managedFields: NotRequired[list[ManagedFieldsEntry]]
|
|
719
|
+
name: NotRequired[str]
|
|
720
|
+
namespace: NotRequired[str]
|
|
721
|
+
ownerReferences: NotRequired[list[OwnerReference]]
|
|
722
|
+
resourceVersion: NotRequired[ReadOnly[str]]
|
|
723
|
+
selfLink: NotRequired[str]
|
|
724
|
+
uid: NotRequired[ReadOnly[str]]
|
|
725
|
+
|
|
726
|
+
|
|
727
|
+
class TypedLocalObjectReference(TypedDict):
|
|
728
|
+
"""TypedLocalObjectReference contains enough information to let you locate the typed
|
|
729
|
+
referenced object inside the same namespace.
|
|
730
|
+
"""
|
|
731
|
+
|
|
732
|
+
apiGroup: NotRequired[str]
|
|
733
|
+
kind: str
|
|
734
|
+
name: str
|
|
735
|
+
|
|
736
|
+
|
|
737
|
+
class TypedObjectReference(TypedDict):
|
|
738
|
+
"""TypedObjectReference contains enough information to locate a typed referenced object."""
|
|
739
|
+
|
|
740
|
+
apiGroup: NotRequired[str]
|
|
741
|
+
kind: str
|
|
742
|
+
name: str
|
|
743
|
+
namespace: NotRequired[str]
|
|
744
|
+
|
|
745
|
+
|
|
746
|
+
class VolumeResourceRequirements(TypedDict):
|
|
747
|
+
"""VolumeResourceRequirements describes the storage resource requirements for a volume."""
|
|
748
|
+
|
|
749
|
+
limits: NotRequired[dict[str, Quantity]]
|
|
750
|
+
requests: NotRequired[dict[str, Quantity]]
|
|
751
|
+
|
|
752
|
+
|
|
753
|
+
class PersistentVolumeClaimSpec(TypedDict):
|
|
754
|
+
"""PersistentVolumeClaimSpec describes the common attributes of storage devices and allows
|
|
755
|
+
a Source for provider-specific attributes
|
|
756
|
+
"""
|
|
757
|
+
|
|
758
|
+
accessModes: NotRequired[list[str]]
|
|
759
|
+
dataSource: NotRequired[TypedLocalObjectReference]
|
|
760
|
+
dataSourceRef: NotRequired[TypedObjectReference]
|
|
761
|
+
resources: NotRequired[VolumeResourceRequirements]
|
|
762
|
+
selector: NotRequired[LabelSelector]
|
|
763
|
+
storageClassName: NotRequired[str]
|
|
764
|
+
volumeAttributesClassName: NotRequired[str]
|
|
765
|
+
volumeMode: NotRequired[str]
|
|
766
|
+
volumeName: NotRequired[str]
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
class PersistentVolumeClaimTemplate(TypedDict):
|
|
770
|
+
"""PersistentVolumeClaimTemplate is used to produce PersistentVolumeClaim objects as part
|
|
771
|
+
of an EphemeralVolumeSource.
|
|
772
|
+
"""
|
|
773
|
+
|
|
774
|
+
metadata: NotRequired[ObjectMeta]
|
|
775
|
+
spec: PersistentVolumeClaimSpec
|
|
776
|
+
|
|
777
|
+
|
|
778
|
+
class EphemeralVolumeSource(TypedDict):
|
|
779
|
+
"""Represents an ephemeral volume that is handled by a normal storage driver."""
|
|
780
|
+
|
|
781
|
+
volumeClaimTemplate: NotRequired[PersistentVolumeClaimTemplate]
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
class FCVolumeSource(TypedDict):
|
|
785
|
+
"""Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as
|
|
786
|
+
read/write once. Fibre Channel volumes support ownership management and SELinux
|
|
787
|
+
relabeling.
|
|
788
|
+
"""
|
|
789
|
+
|
|
790
|
+
fsType: NotRequired[str]
|
|
791
|
+
lun: NotRequired[int]
|
|
792
|
+
readOnly: NotRequired[bool]
|
|
793
|
+
targetWWNs: NotRequired[list[str]]
|
|
794
|
+
wwids: NotRequired[list[str]]
|
|
795
|
+
|
|
796
|
+
|
|
797
|
+
class FlexVolumeSource(TypedDict):
|
|
798
|
+
"""FlexVolume represents a generic volume resource that is provisioned/attached using an
|
|
799
|
+
exec based plugin.
|
|
800
|
+
"""
|
|
801
|
+
|
|
802
|
+
driver: str
|
|
803
|
+
fsType: NotRequired[str]
|
|
804
|
+
options: NotRequired[dict[str, str]]
|
|
805
|
+
readOnly: NotRequired[bool]
|
|
806
|
+
secretRef: NotRequired[LocalObjectReference]
|
|
807
|
+
|
|
808
|
+
|
|
809
|
+
class FlockerVolumeSource(TypedDict):
|
|
810
|
+
"""Represents a Flocker volume mounted by the Flocker agent. One and only one of
|
|
811
|
+
datasetName and datasetUUID should be set. Flocker volumes do not support ownership
|
|
812
|
+
management or SELinux relabeling.
|
|
813
|
+
"""
|
|
814
|
+
|
|
815
|
+
datasetName: NotRequired[str]
|
|
816
|
+
datasetUUID: NotRequired[str]
|
|
817
|
+
|
|
818
|
+
|
|
819
|
+
class GCEPersistentDiskVolumeSource(TypedDict):
|
|
820
|
+
"""Represents a Persistent Disk resource in Google Compute Engine."""
|
|
821
|
+
|
|
822
|
+
fsType: NotRequired[str]
|
|
823
|
+
partition: NotRequired[int]
|
|
824
|
+
pdName: str
|
|
825
|
+
readOnly: NotRequired[bool]
|
|
826
|
+
|
|
827
|
+
|
|
828
|
+
class GitRepoVolumeSource(TypedDict):
|
|
829
|
+
"""Represents a volume that is populated with the contents of a git repository. Git repo
|
|
830
|
+
volumes do not support ownership management. Git repo volumes support SELinux
|
|
831
|
+
relabeling.
|
|
832
|
+
"""
|
|
833
|
+
|
|
834
|
+
directory: NotRequired[str]
|
|
835
|
+
repository: str
|
|
836
|
+
revision: NotRequired[str]
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
class GlusterfsVolumeSource(TypedDict):
|
|
840
|
+
"""Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not
|
|
841
|
+
support ownership management or SELinux relabeling.
|
|
842
|
+
"""
|
|
843
|
+
|
|
844
|
+
endpoints: str
|
|
845
|
+
path: str
|
|
846
|
+
readOnly: NotRequired[bool]
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
class HostAlias(TypedDict):
|
|
850
|
+
"""HostAlias holds the mapping between IP and hostnames that will be injected as an entry
|
|
851
|
+
in the pod's hosts file.
|
|
852
|
+
"""
|
|
853
|
+
|
|
854
|
+
hostnames: NotRequired[list[str]]
|
|
855
|
+
ip: NotRequired[str]
|
|
856
|
+
|
|
857
|
+
|
|
858
|
+
class HostIP(TypedDict):
|
|
859
|
+
"""HostIP represents a single IP address allocated to the host."""
|
|
860
|
+
|
|
861
|
+
ip: NotRequired[str]
|
|
862
|
+
|
|
863
|
+
|
|
864
|
+
class HostPathVolumeSource(TypedDict):
|
|
865
|
+
"""Represents a host path mapped into a pod. Host path volumes do not support ownership
|
|
866
|
+
management or SELinux relabeling.
|
|
867
|
+
"""
|
|
868
|
+
|
|
869
|
+
path: str
|
|
870
|
+
type: NotRequired[str]
|
|
871
|
+
|
|
872
|
+
|
|
873
|
+
class ISCSIVolumeSource(TypedDict):
|
|
874
|
+
"""Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI
|
|
875
|
+
volumes support ownership management and SELinux relabeling.
|
|
876
|
+
"""
|
|
877
|
+
|
|
878
|
+
chapAuthDiscovery: NotRequired[bool]
|
|
879
|
+
chapAuthSession: NotRequired[bool]
|
|
880
|
+
fsType: NotRequired[str]
|
|
881
|
+
initiatorName: NotRequired[str]
|
|
882
|
+
iqn: str
|
|
883
|
+
iscsiInterface: NotRequired[str]
|
|
884
|
+
lun: int
|
|
885
|
+
portals: NotRequired[list[str]]
|
|
886
|
+
readOnly: NotRequired[bool]
|
|
887
|
+
secretRef: NotRequired[LocalObjectReference]
|
|
888
|
+
targetPortal: str
|
|
889
|
+
|
|
890
|
+
|
|
891
|
+
class NFSVolumeSource(TypedDict):
|
|
892
|
+
"""Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support
|
|
893
|
+
ownership management or SELinux relabeling.
|
|
894
|
+
"""
|
|
895
|
+
|
|
896
|
+
path: str
|
|
897
|
+
readOnly: NotRequired[bool]
|
|
898
|
+
server: str
|
|
899
|
+
|
|
900
|
+
|
|
901
|
+
class PersistentVolumeClaimVolumeSource(TypedDict):
|
|
902
|
+
"""PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. This
|
|
903
|
+
volume finds the bound PV and mounts that volume for the pod. A
|
|
904
|
+
PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of
|
|
905
|
+
volume that is owned by someone else (the system).
|
|
906
|
+
"""
|
|
907
|
+
|
|
908
|
+
claimName: str
|
|
909
|
+
readOnly: NotRequired[bool]
|
|
910
|
+
|
|
911
|
+
|
|
912
|
+
class PhotonPersistentDiskVolumeSource(TypedDict):
|
|
913
|
+
"""Represents a Photon Controller persistent disk resource."""
|
|
914
|
+
|
|
915
|
+
fsType: NotRequired[str]
|
|
916
|
+
pdID: str
|
|
917
|
+
|
|
918
|
+
|
|
919
|
+
class PodDNSConfigOption(TypedDict):
|
|
920
|
+
"""PodDNSConfigOption defines DNS resolver options of a pod."""
|
|
921
|
+
|
|
922
|
+
name: NotRequired[str]
|
|
923
|
+
value: NotRequired[str]
|
|
924
|
+
|
|
925
|
+
|
|
926
|
+
class PodDNSConfig(TypedDict):
|
|
927
|
+
"""PodDNSConfig defines the DNS parameters of a pod in addition to those generated from
|
|
928
|
+
DNSPolicy.
|
|
929
|
+
"""
|
|
930
|
+
|
|
931
|
+
nameservers: NotRequired[list[str]]
|
|
932
|
+
options: NotRequired[list[PodDNSConfigOption]]
|
|
933
|
+
searches: NotRequired[list[str]]
|
|
934
|
+
|
|
935
|
+
|
|
936
|
+
class PodOS(TypedDict):
|
|
937
|
+
"""PodOS defines the OS parameters of a pod."""
|
|
938
|
+
|
|
939
|
+
name: str
|
|
940
|
+
|
|
941
|
+
|
|
942
|
+
class PodReadinessGate(TypedDict):
|
|
943
|
+
"""PodReadinessGate contains the reference to a pod condition"""
|
|
944
|
+
|
|
945
|
+
conditionType: str
|
|
946
|
+
|
|
947
|
+
|
|
948
|
+
class PodResourceClaim(TypedDict):
|
|
949
|
+
"""PodResourceClaim references exactly one ResourceClaim through a ClaimSource. It adds a
|
|
950
|
+
name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that
|
|
951
|
+
need access to the ResourceClaim reference it with this name.
|
|
952
|
+
"""
|
|
953
|
+
|
|
954
|
+
name: str
|
|
955
|
+
source: NotRequired[ClaimSource]
|
|
956
|
+
|
|
957
|
+
|
|
958
|
+
class PodSchedulingGate(TypedDict):
|
|
959
|
+
"""PodSchedulingGate is associated to a Pod to guard its scheduling."""
|
|
960
|
+
|
|
961
|
+
name: str
|
|
962
|
+
|
|
963
|
+
|
|
964
|
+
class Sysctl(TypedDict):
|
|
965
|
+
"""Sysctl defines a kernel parameter to be set"""
|
|
966
|
+
|
|
967
|
+
name: str
|
|
968
|
+
value: str
|
|
969
|
+
|
|
970
|
+
|
|
971
|
+
class PodSecurityContext(TypedDict):
|
|
972
|
+
"""PodSecurityContext holds pod-level security attributes and common container settings.
|
|
973
|
+
Some fields are also present in container.securityContext. Field values of
|
|
974
|
+
container.securityContext take precedence over field values of PodSecurityContext.
|
|
975
|
+
"""
|
|
976
|
+
|
|
977
|
+
appArmorProfile: NotRequired[AppArmorProfile]
|
|
978
|
+
fsGroup: NotRequired[int]
|
|
979
|
+
fsGroupChangePolicy: NotRequired[str]
|
|
980
|
+
runAsGroup: NotRequired[int]
|
|
981
|
+
runAsNonRoot: NotRequired[bool]
|
|
982
|
+
runAsUser: NotRequired[int]
|
|
983
|
+
seLinuxOptions: NotRequired[SELinuxOptions]
|
|
984
|
+
seccompProfile: NotRequired[SeccompProfile]
|
|
985
|
+
supplementalGroups: NotRequired[list[int]]
|
|
986
|
+
sysctls: NotRequired[list[Sysctl]]
|
|
987
|
+
windowsOptions: NotRequired[WindowsSecurityContextOptions]
|
|
988
|
+
|
|
989
|
+
|
|
990
|
+
class Toleration(TypedDict):
|
|
991
|
+
"""The pod this Toleration is attached to tolerates any taint that matches the triple
|
|
992
|
+
<key,value,effect> using the matching operator <operator>.
|
|
993
|
+
"""
|
|
994
|
+
|
|
995
|
+
effect: NotRequired[str]
|
|
996
|
+
key: NotRequired[str]
|
|
997
|
+
operator: NotRequired[str]
|
|
998
|
+
tolerationSeconds: NotRequired[int]
|
|
999
|
+
value: NotRequired[str]
|
|
1000
|
+
|
|
1001
|
+
|
|
1002
|
+
class TopologySpreadConstraint(TypedDict):
|
|
1003
|
+
"""TopologySpreadConstraint specifies how to spread matching pods among the given topology."""
|
|
1004
|
+
|
|
1005
|
+
labelSelector: NotRequired[LabelSelector]
|
|
1006
|
+
matchLabelKeys: NotRequired[list[str]]
|
|
1007
|
+
maxSkew: int
|
|
1008
|
+
minDomains: NotRequired[int]
|
|
1009
|
+
nodeAffinityPolicy: NotRequired[str]
|
|
1010
|
+
nodeTaintsPolicy: NotRequired[str]
|
|
1011
|
+
topologyKey: str
|
|
1012
|
+
whenUnsatisfiable: str
|
|
1013
|
+
|
|
1014
|
+
|
|
1015
|
+
class PortworxVolumeSource(TypedDict):
|
|
1016
|
+
"""PortworxVolumeSource represents a Portworx volume resource."""
|
|
1017
|
+
|
|
1018
|
+
fsType: NotRequired[str]
|
|
1019
|
+
readOnly: NotRequired[bool]
|
|
1020
|
+
volumeID: str
|
|
1021
|
+
|
|
1022
|
+
|
|
1023
|
+
class SecretProjection(TypedDict):
|
|
1024
|
+
"""Adapts a secret into a projected volume."""
|
|
1025
|
+
|
|
1026
|
+
items: NotRequired[list[KeyToPath]]
|
|
1027
|
+
name: NotRequired[str]
|
|
1028
|
+
optional: NotRequired[bool]
|
|
1029
|
+
|
|
1030
|
+
|
|
1031
|
+
class ServiceAccountTokenProjection(TypedDict):
|
|
1032
|
+
"""ServiceAccountTokenProjection represents a projected service account token volume. This
|
|
1033
|
+
projection can be used to insert a service account token into the pods runtime
|
|
1034
|
+
filesystem for use against APIs (Kubernetes API Server or otherwise).
|
|
1035
|
+
"""
|
|
1036
|
+
|
|
1037
|
+
audience: NotRequired[str]
|
|
1038
|
+
expirationSeconds: NotRequired[int]
|
|
1039
|
+
path: str
|
|
1040
|
+
|
|
1041
|
+
|
|
1042
|
+
class VolumeProjection(TypedDict):
|
|
1043
|
+
"""Projection that may be projected along with other supported volume types"""
|
|
1044
|
+
|
|
1045
|
+
clusterTrustBundle: NotRequired[ClusterTrustBundleProjection]
|
|
1046
|
+
configMap: NotRequired[ConfigMapProjection]
|
|
1047
|
+
downwardAPI: NotRequired[DownwardAPIProjection]
|
|
1048
|
+
secret: NotRequired[SecretProjection]
|
|
1049
|
+
serviceAccountToken: NotRequired[ServiceAccountTokenProjection]
|
|
1050
|
+
|
|
1051
|
+
|
|
1052
|
+
class ProjectedVolumeSource(TypedDict):
|
|
1053
|
+
"""Represents a projected volume source"""
|
|
1054
|
+
|
|
1055
|
+
defaultMode: NotRequired[int]
|
|
1056
|
+
sources: NotRequired[list[VolumeProjection]]
|
|
1057
|
+
|
|
1058
|
+
|
|
1059
|
+
class QuobyteVolumeSource(TypedDict):
|
|
1060
|
+
"""Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not
|
|
1061
|
+
support ownership management or SELinux relabeling.
|
|
1062
|
+
"""
|
|
1063
|
+
|
|
1064
|
+
group: NotRequired[str]
|
|
1065
|
+
readOnly: NotRequired[bool]
|
|
1066
|
+
registry: str
|
|
1067
|
+
tenant: NotRequired[str]
|
|
1068
|
+
user: NotRequired[str]
|
|
1069
|
+
volume: str
|
|
1070
|
+
|
|
1071
|
+
|
|
1072
|
+
class RBDVolumeSource(TypedDict):
|
|
1073
|
+
"""Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes
|
|
1074
|
+
support ownership management and SELinux relabeling.
|
|
1075
|
+
"""
|
|
1076
|
+
|
|
1077
|
+
fsType: NotRequired[str]
|
|
1078
|
+
image: str
|
|
1079
|
+
keyring: NotRequired[str]
|
|
1080
|
+
monitors: list[str]
|
|
1081
|
+
pool: NotRequired[str]
|
|
1082
|
+
readOnly: NotRequired[bool]
|
|
1083
|
+
secretRef: NotRequired[LocalObjectReference]
|
|
1084
|
+
user: NotRequired[str]
|
|
1085
|
+
|
|
1086
|
+
|
|
1087
|
+
class ScaleIOVolumeSource(TypedDict):
|
|
1088
|
+
"""ScaleIOVolumeSource represents a persistent ScaleIO volume"""
|
|
1089
|
+
|
|
1090
|
+
fsType: NotRequired[str]
|
|
1091
|
+
gateway: str
|
|
1092
|
+
protectionDomain: NotRequired[str]
|
|
1093
|
+
readOnly: NotRequired[bool]
|
|
1094
|
+
secretRef: LocalObjectReference
|
|
1095
|
+
sslEnabled: NotRequired[bool]
|
|
1096
|
+
storageMode: NotRequired[str]
|
|
1097
|
+
storagePool: NotRequired[str]
|
|
1098
|
+
system: str
|
|
1099
|
+
volumeName: NotRequired[str]
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
class SecretVolumeSource(TypedDict):
|
|
1103
|
+
"""Adapts a Secret into a volume."""
|
|
1104
|
+
|
|
1105
|
+
defaultMode: NotRequired[int]
|
|
1106
|
+
items: NotRequired[list[KeyToPath]]
|
|
1107
|
+
optional: NotRequired[bool]
|
|
1108
|
+
secretName: NotRequired[str]
|
|
1109
|
+
|
|
1110
|
+
|
|
1111
|
+
class StorageOSVolumeSource(TypedDict):
|
|
1112
|
+
"""Represents a StorageOS persistent volume resource."""
|
|
1113
|
+
|
|
1114
|
+
fsType: NotRequired[str]
|
|
1115
|
+
readOnly: NotRequired[bool]
|
|
1116
|
+
secretRef: NotRequired[LocalObjectReference]
|
|
1117
|
+
volumeName: NotRequired[str]
|
|
1118
|
+
volumeNamespace: NotRequired[str]
|
|
1119
|
+
|
|
1120
|
+
|
|
1121
|
+
class VsphereVirtualDiskVolumeSource(TypedDict):
|
|
1122
|
+
"""Represents a vSphere volume resource."""
|
|
1123
|
+
|
|
1124
|
+
fsType: NotRequired[str]
|
|
1125
|
+
storagePolicyID: NotRequired[str]
|
|
1126
|
+
storagePolicyName: NotRequired[str]
|
|
1127
|
+
volumePath: str
|
|
1128
|
+
|
|
1129
|
+
|
|
1130
|
+
class Volume(TypedDict):
|
|
1131
|
+
"""Volume represents a named volume in a pod that may be accessed by any container in the
|
|
1132
|
+
pod.
|
|
1133
|
+
"""
|
|
1134
|
+
|
|
1135
|
+
awsElasticBlockStore: NotRequired[AWSElasticBlockStoreVolumeSource]
|
|
1136
|
+
azureDisk: NotRequired[AzureDiskVolumeSource]
|
|
1137
|
+
azureFile: NotRequired[AzureFileVolumeSource]
|
|
1138
|
+
cephfs: NotRequired[CephFSVolumeSource]
|
|
1139
|
+
cinder: NotRequired[CinderVolumeSource]
|
|
1140
|
+
configMap: NotRequired[ConfigMapVolumeSource]
|
|
1141
|
+
csi: NotRequired[CSIVolumeSource]
|
|
1142
|
+
downwardAPI: NotRequired[DownwardAPIVolumeSource]
|
|
1143
|
+
emptyDir: NotRequired[EmptyDirVolumeSource]
|
|
1144
|
+
ephemeral: NotRequired[EphemeralVolumeSource]
|
|
1145
|
+
fc: NotRequired[FCVolumeSource]
|
|
1146
|
+
flexVolume: NotRequired[FlexVolumeSource]
|
|
1147
|
+
flocker: NotRequired[FlockerVolumeSource]
|
|
1148
|
+
gcePersistentDisk: NotRequired[GCEPersistentDiskVolumeSource]
|
|
1149
|
+
gitRepo: NotRequired[GitRepoVolumeSource]
|
|
1150
|
+
glusterfs: NotRequired[GlusterfsVolumeSource]
|
|
1151
|
+
hostPath: NotRequired[HostPathVolumeSource]
|
|
1152
|
+
iscsi: NotRequired[ISCSIVolumeSource]
|
|
1153
|
+
name: str
|
|
1154
|
+
nfs: NotRequired[NFSVolumeSource]
|
|
1155
|
+
persistentVolumeClaim: NotRequired[PersistentVolumeClaimVolumeSource]
|
|
1156
|
+
photonPersistentDisk: NotRequired[PhotonPersistentDiskVolumeSource]
|
|
1157
|
+
portworxVolume: NotRequired[PortworxVolumeSource]
|
|
1158
|
+
projected: NotRequired[ProjectedVolumeSource]
|
|
1159
|
+
quobyte: NotRequired[QuobyteVolumeSource]
|
|
1160
|
+
rbd: NotRequired[RBDVolumeSource]
|
|
1161
|
+
scaleIO: NotRequired[ScaleIOVolumeSource]
|
|
1162
|
+
secret: NotRequired[SecretVolumeSource]
|
|
1163
|
+
storageos: NotRequired[StorageOSVolumeSource]
|
|
1164
|
+
vsphereVolume: NotRequired[VsphereVirtualDiskVolumeSource]
|
|
1165
|
+
|
|
1166
|
+
|
|
1167
|
+
class PodSpec(TypedDict):
|
|
1168
|
+
"""PodSpec is a description of a pod."""
|
|
1169
|
+
|
|
1170
|
+
activeDeadlineSeconds: NotRequired[int]
|
|
1171
|
+
affinity: NotRequired[Affinity]
|
|
1172
|
+
automountServiceAccountToken: NotRequired[bool]
|
|
1173
|
+
containers: list[Container]
|
|
1174
|
+
dnsConfig: NotRequired[PodDNSConfig]
|
|
1175
|
+
dnsPolicy: NotRequired[str]
|
|
1176
|
+
enableServiceLinks: NotRequired[bool]
|
|
1177
|
+
ephemeralContainers: NotRequired[list[EphemeralContainer]]
|
|
1178
|
+
hostAliases: NotRequired[list[HostAlias]]
|
|
1179
|
+
hostIPC: NotRequired[bool]
|
|
1180
|
+
hostNetwork: NotRequired[bool]
|
|
1181
|
+
hostPID: NotRequired[bool]
|
|
1182
|
+
hostUsers: NotRequired[bool]
|
|
1183
|
+
hostname: NotRequired[str]
|
|
1184
|
+
imagePullSecrets: NotRequired[list[LocalObjectReference]]
|
|
1185
|
+
initContainers: NotRequired[list[Container]]
|
|
1186
|
+
nodeName: NotRequired[str]
|
|
1187
|
+
nodeSelector: NotRequired[dict[str, str]]
|
|
1188
|
+
os: NotRequired[PodOS]
|
|
1189
|
+
overhead: NotRequired[dict[str, Quantity]]
|
|
1190
|
+
preemptionPolicy: NotRequired[str]
|
|
1191
|
+
priority: NotRequired[int]
|
|
1192
|
+
priorityClassName: NotRequired[str]
|
|
1193
|
+
readinessGates: NotRequired[list[PodReadinessGate]]
|
|
1194
|
+
resourceClaims: NotRequired[list[PodResourceClaim]]
|
|
1195
|
+
restartPolicy: NotRequired[str]
|
|
1196
|
+
runtimeClassName: NotRequired[str]
|
|
1197
|
+
schedulerName: NotRequired[str]
|
|
1198
|
+
schedulingGates: NotRequired[list[PodSchedulingGate]]
|
|
1199
|
+
securityContext: NotRequired[PodSecurityContext]
|
|
1200
|
+
serviceAccount: NotRequired[str]
|
|
1201
|
+
serviceAccountName: NotRequired[str]
|
|
1202
|
+
setHostnameAsFQDN: NotRequired[bool]
|
|
1203
|
+
shareProcessNamespace: NotRequired[bool]
|
|
1204
|
+
subdomain: NotRequired[str]
|
|
1205
|
+
terminationGracePeriodSeconds: NotRequired[int]
|
|
1206
|
+
tolerations: NotRequired[list[Toleration]]
|
|
1207
|
+
topologySpreadConstraints: NotRequired[list[TopologySpreadConstraint]]
|
|
1208
|
+
volumes: NotRequired[list[Volume]]
|
|
1209
|
+
|
|
1210
|
+
|
|
1211
|
+
class PodCondition(TypedDict):
|
|
1212
|
+
"""PodCondition contains details for the current condition of this pod."""
|
|
1213
|
+
|
|
1214
|
+
lastProbeTime: NotRequired[Time]
|
|
1215
|
+
lastTransitionTime: NotRequired[Time]
|
|
1216
|
+
message: NotRequired[str]
|
|
1217
|
+
reason: NotRequired[str]
|
|
1218
|
+
status: str
|
|
1219
|
+
type: str
|
|
1220
|
+
|
|
1221
|
+
|
|
1222
|
+
class PodIP(TypedDict):
|
|
1223
|
+
"""PodIP represents a single IP address allocated to the pod."""
|
|
1224
|
+
|
|
1225
|
+
ip: NotRequired[str]
|
|
1226
|
+
|
|
1227
|
+
|
|
1228
|
+
class PodResourceClaimStatus(TypedDict):
|
|
1229
|
+
"""PodResourceClaimStatus is stored in the PodStatus for each PodResourceClaim which
|
|
1230
|
+
references a ResourceClaimTemplate. It stores the generated name for the corresponding
|
|
1231
|
+
ResourceClaim.
|
|
1232
|
+
"""
|
|
1233
|
+
|
|
1234
|
+
name: str
|
|
1235
|
+
resourceClaimName: NotRequired[str]
|
|
1236
|
+
|
|
1237
|
+
|
|
1238
|
+
class PodStatus(TypedDict):
|
|
1239
|
+
"""PodStatus represents information about the status of a pod. Status may trail the actual
|
|
1240
|
+
state of a system, especially if the node that hosts the pod cannot contact the control
|
|
1241
|
+
plane.
|
|
1242
|
+
"""
|
|
1243
|
+
|
|
1244
|
+
conditions: NotRequired[list[PodCondition]]
|
|
1245
|
+
containerStatuses: NotRequired[list[ContainerStatus]]
|
|
1246
|
+
ephemeralContainerStatuses: NotRequired[list[ContainerStatus]]
|
|
1247
|
+
hostIP: NotRequired[str]
|
|
1248
|
+
hostIPs: NotRequired[list[HostIP]]
|
|
1249
|
+
initContainerStatuses: NotRequired[list[ContainerStatus]]
|
|
1250
|
+
message: NotRequired[str]
|
|
1251
|
+
nominatedNodeName: NotRequired[str]
|
|
1252
|
+
phase: NotRequired[str]
|
|
1253
|
+
podIP: NotRequired[str]
|
|
1254
|
+
podIPs: NotRequired[list[PodIP]]
|
|
1255
|
+
qosClass: NotRequired[str]
|
|
1256
|
+
reason: NotRequired[str]
|
|
1257
|
+
resize: NotRequired[str]
|
|
1258
|
+
resourceClaimStatuses: NotRequired[list[PodResourceClaimStatus]]
|
|
1259
|
+
startTime: NotRequired[Time]
|
|
1260
|
+
|
|
1261
|
+
|
|
1262
|
+
class Pod(TypedDict):
|
|
1263
|
+
"""Pod is a collection of containers that can run on a host. This resource is created by
|
|
1264
|
+
clients and scheduled onto hosts.
|
|
1265
|
+
"""
|
|
1266
|
+
|
|
1267
|
+
apiVersion: NotRequired[Literal["v1"]]
|
|
1268
|
+
kind: NotRequired[Literal["Pod"]]
|
|
1269
|
+
metadata: NotRequired[ObjectMeta]
|
|
1270
|
+
spec: NotRequired[PodSpec]
|
|
1271
|
+
status: NotRequired[ReadOnly[PodStatus]]
|
|
1272
|
+
|
|
1273
|
+
|
|
1274
|
+
__all__ = [
|
|
1275
|
+
"AWSElasticBlockStoreVolumeSource",
|
|
1276
|
+
"Affinity",
|
|
1277
|
+
"AppArmorProfile",
|
|
1278
|
+
"AzureDiskVolumeSource",
|
|
1279
|
+
"AzureFileVolumeSource",
|
|
1280
|
+
"CSIVolumeSource",
|
|
1281
|
+
"Capabilities",
|
|
1282
|
+
"CephFSVolumeSource",
|
|
1283
|
+
"CinderVolumeSource",
|
|
1284
|
+
"ClaimSource",
|
|
1285
|
+
"ClusterTrustBundleProjection",
|
|
1286
|
+
"ConfigMapEnvSource",
|
|
1287
|
+
"ConfigMapKeySelector",
|
|
1288
|
+
"ConfigMapProjection",
|
|
1289
|
+
"ConfigMapVolumeSource",
|
|
1290
|
+
"Container",
|
|
1291
|
+
"ContainerPort",
|
|
1292
|
+
"ContainerResizePolicy",
|
|
1293
|
+
"ContainerState",
|
|
1294
|
+
"ContainerStateRunning",
|
|
1295
|
+
"ContainerStateTerminated",
|
|
1296
|
+
"ContainerStateWaiting",
|
|
1297
|
+
"ContainerStatus",
|
|
1298
|
+
"DownwardAPIProjection",
|
|
1299
|
+
"DownwardAPIVolumeFile",
|
|
1300
|
+
"DownwardAPIVolumeSource",
|
|
1301
|
+
"EmptyDirVolumeSource",
|
|
1302
|
+
"EnvFromSource",
|
|
1303
|
+
"EnvVar",
|
|
1304
|
+
"EnvVarSource",
|
|
1305
|
+
"EphemeralContainer",
|
|
1306
|
+
"EphemeralVolumeSource",
|
|
1307
|
+
"ExecAction",
|
|
1308
|
+
"FCVolumeSource",
|
|
1309
|
+
"FieldsV1",
|
|
1310
|
+
"FlexVolumeSource",
|
|
1311
|
+
"FlockerVolumeSource",
|
|
1312
|
+
"GCEPersistentDiskVolumeSource",
|
|
1313
|
+
"GRPCAction",
|
|
1314
|
+
"GitRepoVolumeSource",
|
|
1315
|
+
"GlusterfsVolumeSource",
|
|
1316
|
+
"HTTPGetAction",
|
|
1317
|
+
"HTTPHeader",
|
|
1318
|
+
"HostAlias",
|
|
1319
|
+
"HostIP",
|
|
1320
|
+
"HostPathVolumeSource",
|
|
1321
|
+
"ISCSIVolumeSource",
|
|
1322
|
+
"KeyToPath",
|
|
1323
|
+
"LabelSelector",
|
|
1324
|
+
"LabelSelectorRequirement",
|
|
1325
|
+
"Lifecycle",
|
|
1326
|
+
"LifecycleHandler",
|
|
1327
|
+
"LocalObjectReference",
|
|
1328
|
+
"ManagedFieldsEntry",
|
|
1329
|
+
"NFSVolumeSource",
|
|
1330
|
+
"NodeAffinity",
|
|
1331
|
+
"NodeSelector",
|
|
1332
|
+
"NodeSelectorRequirement",
|
|
1333
|
+
"NodeSelectorTerm",
|
|
1334
|
+
"ObjectFieldSelector",
|
|
1335
|
+
"ObjectMeta",
|
|
1336
|
+
"OwnerReference",
|
|
1337
|
+
"PersistentVolumeClaimSpec",
|
|
1338
|
+
"PersistentVolumeClaimTemplate",
|
|
1339
|
+
"PersistentVolumeClaimVolumeSource",
|
|
1340
|
+
"PhotonPersistentDiskVolumeSource",
|
|
1341
|
+
"Pod",
|
|
1342
|
+
"PodAffinity",
|
|
1343
|
+
"PodAffinityTerm",
|
|
1344
|
+
"PodAntiAffinity",
|
|
1345
|
+
"PodCondition",
|
|
1346
|
+
"PodDNSConfig",
|
|
1347
|
+
"PodDNSConfigOption",
|
|
1348
|
+
"PodIP",
|
|
1349
|
+
"PodOS",
|
|
1350
|
+
"PodReadinessGate",
|
|
1351
|
+
"PodResourceClaim",
|
|
1352
|
+
"PodResourceClaimStatus",
|
|
1353
|
+
"PodSchedulingGate",
|
|
1354
|
+
"PodSecurityContext",
|
|
1355
|
+
"PodSpec",
|
|
1356
|
+
"PodStatus",
|
|
1357
|
+
"PortworxVolumeSource",
|
|
1358
|
+
"PreferredSchedulingTerm",
|
|
1359
|
+
"Probe",
|
|
1360
|
+
"ProjectedVolumeSource",
|
|
1361
|
+
"Quantity",
|
|
1362
|
+
"QuobyteVolumeSource",
|
|
1363
|
+
"RBDVolumeSource",
|
|
1364
|
+
"ResourceClaim",
|
|
1365
|
+
"ResourceFieldSelector",
|
|
1366
|
+
"ResourceRequirements",
|
|
1367
|
+
"SELinuxOptions",
|
|
1368
|
+
"ScaleIOVolumeSource",
|
|
1369
|
+
"SeccompProfile",
|
|
1370
|
+
"SecretEnvSource",
|
|
1371
|
+
"SecretKeySelector",
|
|
1372
|
+
"SecretProjection",
|
|
1373
|
+
"SecretVolumeSource",
|
|
1374
|
+
"SecurityContext",
|
|
1375
|
+
"ServiceAccountTokenProjection",
|
|
1376
|
+
"SleepAction",
|
|
1377
|
+
"StorageOSVolumeSource",
|
|
1378
|
+
"Sysctl",
|
|
1379
|
+
"TCPSocketAction",
|
|
1380
|
+
"Time",
|
|
1381
|
+
"Toleration",
|
|
1382
|
+
"TopologySpreadConstraint",
|
|
1383
|
+
"TypedLocalObjectReference",
|
|
1384
|
+
"TypedObjectReference",
|
|
1385
|
+
"Volume",
|
|
1386
|
+
"VolumeDevice",
|
|
1387
|
+
"VolumeMount",
|
|
1388
|
+
"VolumeMountStatus",
|
|
1389
|
+
"VolumeProjection",
|
|
1390
|
+
"VolumeResourceRequirements",
|
|
1391
|
+
"VsphereVirtualDiskVolumeSource",
|
|
1392
|
+
"WeightedPodAffinityTerm",
|
|
1393
|
+
"WindowsSecurityContextOptions",
|
|
1394
|
+
]
|