diff --git a/homeassistant/components/cloud/__init__.py b/homeassistant/components/cloud/__init__.py index 18bfc27913d..c11680e487f 100644 --- a/homeassistant/components/cloud/__init__.py +++ b/homeassistant/components/cloud/__init__.py @@ -115,26 +115,37 @@ GACTIONS_SCHEMA = ASSISTANT_SCHEMA.extend( {vol.Optional(CONF_ENTITY_CONFIG): {cv.entity_id: GOOGLE_ENTITY_SCHEMA}} ) +_BASE_CONFIG_SCHEMA = vol.Schema( + { + vol.Optional(CONF_COGNITO_CLIENT_ID): str, + vol.Optional(CONF_USER_POOL_ID): str, + vol.Optional(CONF_REGION): str, + vol.Optional(CONF_ALEXA): ALEXA_SCHEMA, + vol.Optional(CONF_GOOGLE_ACTIONS): GACTIONS_SCHEMA, + vol.Optional(CONF_ACCOUNT_LINK_SERVER): str, + vol.Optional(CONF_ACCOUNTS_SERVER): str, + vol.Optional(CONF_ACME_SERVER): str, + vol.Optional(CONF_API_SERVER): str, + vol.Optional(CONF_RELAYER_SERVER): str, + vol.Optional(CONF_REMOTESTATE_SERVER): str, + vol.Optional(CONF_SERVICEHANDLERS_SERVER): str, + } +) + CONFIG_SCHEMA = vol.Schema( { - DOMAIN: vol.Schema( - { - vol.Optional(CONF_MODE, default=DEFAULT_MODE): vol.In( - [MODE_DEV, MODE_PROD] - ), - vol.Optional(CONF_COGNITO_CLIENT_ID): str, - vol.Optional(CONF_USER_POOL_ID): str, - vol.Optional(CONF_REGION): str, - vol.Optional(CONF_ALEXA): ALEXA_SCHEMA, - vol.Optional(CONF_GOOGLE_ACTIONS): GACTIONS_SCHEMA, - vol.Optional(CONF_ACCOUNT_LINK_SERVER): str, - vol.Optional(CONF_ACCOUNTS_SERVER): str, - vol.Optional(CONF_ACME_SERVER): str, - vol.Optional(CONF_API_SERVER): str, - vol.Optional(CONF_RELAYER_SERVER): str, - vol.Optional(CONF_REMOTESTATE_SERVER): str, - vol.Optional(CONF_SERVICEHANDLERS_SERVER): str, - } + DOMAIN: vol.Any( + _BASE_CONFIG_SCHEMA.extend( + { + vol.Required(CONF_MODE): vol.In([MODE_DEV]), + vol.Required(CONF_API_SERVER): str, + } + ), + _BASE_CONFIG_SCHEMA.extend( + { + vol.Optional(CONF_MODE, default=DEFAULT_MODE): vol.In([MODE_PROD]), + } + ), ) }, extra=vol.ALLOW_EXTRA, diff --git a/tests/components/cloud/test_http_api.py b/tests/components/cloud/test_http_api.py index 9d91619016d..149a70406a7 100644 --- a/tests/components/cloud/test_http_api.py +++ b/tests/components/cloud/test_http_api.py @@ -128,6 +128,7 @@ async def setup_cloud_fixture(hass: HomeAssistant, cloud: MagicMock) -> None: "region": "region", "relayer_server": "relayer", "acme_server": "cert-server", + "api_server": "api-test.example.com", "accounts_server": "api-test.hass.io", "google_actions": {"filter": {"include_domains": "light"}}, "alexa": { diff --git a/tests/components/cloud/test_init.py b/tests/components/cloud/test_init.py index 5e2880694d4..a665b4328b7 100644 --- a/tests/components/cloud/test_init.py +++ b/tests/components/cloud/test_init.py @@ -141,6 +141,7 @@ async def test_setup_existing_cloud_user( "user_pool_id": "test-user_pool_id", "region": "test-region", "relayer_server": "test-relayer-serer", + "api_server": "test-api-server", }, }, )