waft.configuration.config_file.models module¶
Data models for configuration file handling.
- class waft.configuration.config_file.models.UserConfiguredGroup(*, name: str, systems: List[UserConfiguredSystem])¶
Bases:
BaseModel
Represents a group of systems from the config file
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- systems: List[UserConfiguredSystem]¶
- class waft.configuration.config_file.models.UserConfiguredLocalSystem(*, name: str = 'local', username: str = <factory>, port: int = 22, hostname: str = 'localhost', warp_version: str | None = None, warp_upgrade_from_version: str | None = None, password: str | None = None, cloud_provider: ~waft.enums.CloudProvider | None = None, vm_spec: str | None = None, size: str | None = None, auto_delete: bool | None = True, proxy: str | None = None, proxy_details: ~waft.configuration.config_file.models.UserConfiguredProxy | None = None, description: str | None = None, resource_group: str | None = None)¶
Bases:
UserConfiguredSystem
Local system is the class representing the literal local system
- hostname: str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- username: str¶
- class waft.configuration.config_file.models.UserConfiguredProxy(*, name: str, hostname: str, username: str, port: int = 22)¶
Bases:
BaseModel
Represents a proxy system
- hostname: str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- port: int¶
- username: str¶
- class waft.configuration.config_file.models.UserConfiguredSystem(*, name: str, username: str, port: int = 22, hostname: str | None = None, warp_version: str | None = None, warp_upgrade_from_version: str | None = None, password: str | None = None, cloud_provider: CloudProvider | None = None, vm_spec: str | None = None, size: str | None = None, auto_delete: bool | None = True, proxy: str | None = None, proxy_details: UserConfiguredProxy | None = None, description: str | None = None, resource_group: str | None = None)¶
Bases:
BaseModel
UserConfiguredSystem is the python object deserialized from the configuration file
- auto_delete: bool | None¶
- cloud_provider: CloudProvider | None¶
- description: str | None¶
- hostname: str | None¶
- json() dict ¶
Use Pydantic’s model_dump to serialize the system properly, converting enums to values
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_post_init(_UserConfiguredSystem__context) None ¶
Validate configuration after model initialization.
- name: str¶
- password: str | None¶
- port: int¶
- proxy: str | None¶
- proxy_details: UserConfiguredProxy | None¶
- resource_group: str | None¶
- size: str | None¶
- username: str¶
- validate_vm_configuration() None ¶
Validates that vm_spec and cloud_provider both exist if one is specified.
- vm_spec: str | None¶
- warp_upgrade_from_version: str | None¶
- warp_version: str | None¶