Expand description
Common types and utilities for the Hemmer Provider Generator
This crate contains shared data structures, error types, and utilities used across the parser, generator, and CLI components.
§Architecture
The generator follows this data flow:
- Parser: SDK crates → ServiceDefinition (intermediate representation)
- Generator: ServiceDefinition → Generated code (provider.k + Rust)
- Output: Generated provider implementing ProviderExecutor trait
Modules§
- sdk_
metadata - SDK metadata loading from YAML files
Structs§
- Block
Definition - Definition of a nested block type within a resource
- Config
Codegen - Configuration code generation patterns for a provider
- Data
Source Definition - Definition of a data source (read-only resource lookup)
- Field
Definition - Definition of a field in a resource
- Operation
Mapping - Mapping of a CRUD operation to SDK operation(s)
- Operations
- CRUD operations mapped from SDK operations
- Parser
Registry - Registry for managing SDK parsers
- Provider
Config Attr - A provider-specific configuration attribute with code generation metadata
- Provider
Definition - Intermediate representation of a unified cloud provider with multiple services
- Provider
SdkConfig - Provider-specific SDK configuration for code generation
- Resource
Definition - Definition of a single resource type (e.g., S3 Bucket, EC2 Instance)
- SdkMetadata
- Metadata about an SDK
- Service
Definition - Intermediate representation of a cloud service (e.g., aws-sdk-s3)
Enums§
- Field
Type - Represents a field type in the intermediate representation
- Generator
Error - Errors that can occur during provider generation
- Nesting
Mode - Nesting mode for block types
- Provider
- Represents a cloud provider type
Traits§
- SdkParser
- Trait for parsing SDK crates into ServiceDefinition IR
Functions§
- sanitize_
identifier_ part - Sanitize a string to be a valid Rust identifier part (for composite names)
- sanitize_
rust_ identifier - Sanitize a string to be a valid Rust identifier
Type Aliases§
- Result
- Result type for generator operations