"""Config flow for Fast.com integration.""" from __future__ import annotations from typing import Any from homeassistant.config_entries import ConfigFlow, ConfigFlowResult from homeassistant.core import DOMAIN as HOMEASSISTANT_DOMAIN from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue from .const import DEFAULT_NAME, DOMAIN class FastdotcomConfigFlow(ConfigFlow, domain=DOMAIN): """Handle a config flow for Fast.com.""" VERSION = 1 async def async_step_user( self, user_input: dict[str, Any] | None = None ) -> ConfigFlowResult: """Handle the initial step.""" if self._async_current_entries(): return self.async_abort(reason="single_instance_allowed") if user_input is not None: return self.async_create_entry(title=DEFAULT_NAME, data={}) return self.async_show_form(step_id="user") async def async_step_import( self, user_input: dict[str, Any] | None = None ) -> ConfigFlowResult: """Handle a flow initiated by configuration file.""" async_create_issue( self.hass, HOMEASSISTANT_DOMAIN, f"deprecated_yaml_{DOMAIN}", breaks_in_ha_version="2024.6.0", is_fixable=False, issue_domain=DOMAIN, severity=IssueSeverity.WARNING, translation_key="deprecated_yaml", translation_placeholders={ "domain": DOMAIN, "integration_title": "Fast.com", }, ) return await self.async_step_user(user_input)