File tree Expand file tree Collapse file tree
base/cvd/cuttlefish/host/commands/cvd/cli/selector Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -129,7 +129,24 @@ Result<LocalInstanceGroup> PromptUserForGroup(
129129Result<std::pair<LocalInstance, LocalInstanceGroup>> PromptUserForInstance (
130130 const InstanceManager& instance_manager, const CommandRequest& request,
131131 InstanceDatabase::Filter filter) {
132- return CF_ERR (" TODO(chadreynolds): implement in follow-up commit" );
132+ const LocalInstanceGroup group =
133+ CF_EXPECT (PromptUserForGroup (instance_manager, request, filter));
134+ const std::vector<LocalInstance>& instances = group.Instances ();
135+ if (instances.size () == 1 ) {
136+ fmt::print (std::cout,
137+ " Single instance in group {}, defaulting to that choice.\n " ,
138+ group.GroupName ());
139+ return std::pair (instances.front (), group);
140+ }
141+
142+ std::cout << GroupDisplay ({group}, DisplayBehavior::LabelInstance);
143+
144+ const int selection = CF_EXPECT (PromptForSelection (instances.size () - 1 ));
145+ auto instance_filter = InstanceDatabase::Filter{
146+ .group_name = group.GroupName (),
147+ .instance_names = {instances[selection].Name ()},
148+ };
149+ return CF_EXPECT (instance_manager.FindInstanceWithGroup (instance_filter));
133150}
134151
135152} // namespace
You can’t perform that action at this time.
0 commit comments