1 = SWITCH_PLATFORM_SCHEMA.extend(
3 **TEMPLATE_ENTITY_BASE_SCHEMA.schema,
4 vol.Required(CONF_RESOURCE): cv.url,
5 vol.Optional(CONF_STATE_RESOURCE): cv.url,
6 vol.Optional(CONF_HEADERS): {cv.string: cv.template},
7 vol.Optional(CONF_PARAMS): {cv.string: cv.template},
8 vol.Optional(CONF_BODY_OFF, default=DEFAULT_BODY_OFF): cv.template,
9 vol.Optional(CONF_BODY_ON, default=DEFAULT_BODY_ON): cv.template,
10 vol.Optional(CONF_IS_ON_TEMPLATE): cv.template,
11 vol.Optional(CONF_METHOD, default=DEFAULT_METHOD): vol.All(
12 vol.Lower, vol.In(SUPPORT_REST_METHODS)
14 vol.Optional(CONF_DEVICE_CLASS): DEVICE_CLASSES_SCHEMA,
15 vol.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.positive_int,
16 vol.Inclusive(CONF_USERNAME,
"authentication"): cv.string,
17 vol.Inclusive(CONF_PASSWORD,
"authentication"): cv.string,
18 vol.Optional(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): cv.boolean,
19 vol.Optional(CONF_AVAILABILITY): cv.template,