pyvider 2025-10-16
Enhanced resource planning with unknown/computed value handling, including a new method to...
7 files · 334+ · 44-

Unknown Value Handling

7 files changed
  • adapters.py Updated adapters.py (+62/-12 lines)
  • function_adapter.py Added function_adapter.py (+28 lines)
  • call_function.py Updated call_function.py (+90/-9 lines)
  • plan_resource_change.py Updated plan_resource_change.py (+35/-16 lines)
  • validate_resource_config.py Added validate_resource_config.py (+9 lines)
  • base.py Updated base.py (+66/-7 lines)
  • context.py Added context.py (+44 lines)
  • Added _cty_to_dict_preserving_unknown() class method to BaseResource that converts CTY values to dicts while preserving unknown CtyValue objects instead of converting them to None instantiate internal
    7 files
    • adapters.py
    • function_adapter.py
    • call_function.py
    • plan_resource_change.py
    • validate_resource_config.py
    • base.py
    • context.py
  • Updated plan() method to use the new unknown-preserving conversion and merge config fields into the base plan decouple internal
    7 files
    • adapters.py
    • function_adapter.py
    • call_function.py
    • plan_resource_change.py
    • validate_resource_config.py
    • base.py
    • context.py
  • Modified cty_to_attrs_instance() to include fields with None values (previously skipped) and return None gracefully when attrs instances cannot be created due to missing required fields from unknown/computed values decouple behavioral
    7 files
    • adapters.py
    • function_adapter.py
    • call_function.py
    • plan_resource_change.py
    • validate_resource_config.py
    • base.py
    • context.py
  • Added debug logging throughout plan resource change handler for troubleshooting instantiate behavioral
    7 files
    • adapters.py
    • function_adapter.py
    • call_function.py
    • plan_resource_change.py
    • validate_resource_config.py
    • base.py
    • context.py

Unknown Value Tolerance

7 files changed
  • adapters.py Changes to adapters.py
  • function_adapter.py Changes to function_adapter.py
  • call_function.py Changes to call_function.py
  • plan_resource_change.py Changes to plan_resource_change.py
  • validate_resource_config.py Changes to validate_resource_config.py
  • base.py Changes to base.py
  • context.py Changes to context.py
  • Updated validate_resource_config handler to skip custom validation when config_instance is None (expected when values are unknown during planning) decouple internal
    7 files
    • adapters.py
    • function_adapter.py
    • call_function.py
    • plan_resource_change.py
    • validate_resource_config.py
    • base.py
    • context.py
  • Added test_mode_enabled field to ResourceContext instantiate internal
    7 files
    • adapters.py
    • function_adapter.py
    • call_function.py
    • plan_resource_change.py
    • validate_resource_config.py
    • base.py
    • context.py
  • Added debug logging for planned state dict processing instantiate behavioral
    7 files
    • adapters.py
    • function_adapter.py
    • call_function.py
    • plan_resource_change.py
    • validate_resource_config.py
    • base.py
    • context.py