pyvider 2024-12-07
Restructured exceptions into proper package and created base provider class
86 files · 2,461+ · 1,225-

Restructured exceptions into proper package with dedicated modules

9 files changed
  • __init__.py Exception package initialization with exports
  • foundation.py Foundation exception classes
  • grpc.py gRPC-specific exceptions
  • provider.py Provider exceptions
  • registry.py Registry exceptions
  • resource.py Resource exceptions
  • schema.py Schema exceptions
  • serialization.py Serialization exceptions
  • validation.py Validation exceptions
  • Renamed errors/ to exceptions/ with dedicated modules for foundation, gRPC, provider, registry, resource, schema, serialization, and validation decouple internal
    8 files
    • foundation.py
    • grpc.py
    • provider.py
    • registry.py
    • resource.py
    • schema.py
    • serialization.py
    • validation.py

Created base provider class and working resource example

3 files changed
  • base_provider.py BaseProvider class defining provider lifecycle interface (138 lines)
  • working_resource.py Fully functional Terraform resource implementation for file content management (258 lines)
  • typing.py Type aliases used across the framework (10 lines)
  • Created BaseProvider class defining the provider lifecycle interface instantiate behavioral
    1 file
    • base_provider.py
  • Built working_resource.py as a fully functional Terraform file content resource implementation instantiate behavioral
    1 file
    • working_resource.py
  • Added type aliases module for consistent typing across the framework specify internal
    1 file
    • typing.py

Added protobuf utility scripts and restructured protocols

10 files changed
  • __init__.py Protocols package root
  • __init__.py gRPC protocols package
  • server.py Protocol server
  • provider.py Provider service protocol
  • __init__.py tfprotov6 protocol package
  • handlers Protocol handlers for config, data, ephemeral, metadata, resource, and schema
  • print_pb2_descriptor_schema.py Protobuf schema introspection utility
  • print_pb2_descriptor_schema.py Schema descriptor printing utility
  • print_schema_from_descriptor.py Schema from descriptor printer
  • print_schema_no_nested_block.py Schema printer without nested blocks
  • Restructured protocols into protocols/ package with gRPC, server, service, and tfprotov6 subpackages decouple internal
    4 files
    • __init__.py
    • server.py
    • provider.py
    • tfprotov6
  • Added protobuf utility scripts for schema introspection and descriptor printing instantiate internal
    3 files
    • print_pb2_descriptor_schema.py
    • print_schema_from_descriptor.py
    • print_schema_no_nested_block.py

Updated handler, providers, resources, and documentation

13 files changed
  • handler.py Improved request routing
  • base.py Provider base class
  • config.py Provider configuration
  • base.py Resource base class
  • context.py Resource context
  • decorators.py Resource decorators
  • lifecycle.py Resource lifecycle management
  • protocol.py Resource protocol definitions
  • resource_file_content.py File content resource implementation
  • definition.py Schema definition module
  • entities.md Entity documentation
  • mutability.md Mutability documentation
  • terminology.md Terminology documentation
  • Updated handler with improved request routing and added provider, resource, and schema modules streamline internal
    4 files
    • handler.py
    • base.py
    • base.py
    • lifecycle.py
  • Added design documentation for entities, mutability, and terminology specify internal
    3 files
    • entities.md
    • mutability.md
    • terminology.md