<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_state_actions(self, state, **kwargs):
 """ A combination of CreateActionGenerator and StartActionGenerator - creates and starts containers where appropriate. :param state: Configuration state. :type state: dockermap.map.state.ConfigState :param kwargs: Additional keyword arguments. :return: Actions on the client, map, and configurations. :rtype: list[dockermap.map.action.ItemAction] """

        config_type = state.config_id.config_type
        if config_type == ItemType.VOLUME:
            if state.base_state == State.ABSENT:
                return [
                    ItemAction(state, Action.CREATE),
                    ItemAction(state, VolumeUtilAction.PREPARE),
                ]
            elif state.base_state == State.PRESENT and state.state_flags & StateFlags.INITIAL:
                return [
                    ItemAction(state, Action.START),
                    ItemAction(state, VolumeUtilAction.PREPARE),
                ]
        elif config_type == ItemType.CONTAINER:
            if state.base_state == State.ABSENT:
                return [
                    ItemAction(state, DerivedAction.STARTUP_CONTAINER),
                    ItemAction(state, ContainerUtilAction.EXEC_ALL),
                ]
            elif state.base_state == State.PRESENT:
                return [
                    ItemAction(state, Action.START),
                    ItemAction(state, ContainerUtilAction.EXEC_ALL),
                ]
        else:
            if config_type == ItemType.NETWORK:
                return [ItemAction(state, Action.CREATE)]
            elif config_type == ItemType.IMAGE:
                return [ItemAction(state, ImageAction.PULL)]