| 146 | } |
| 147 | |
| 148 | Status GrapplerItem::AddDevice(const string& device) { |
| 149 | DeviceNameUtils::ParsedName name; |
| 150 | |
| 151 | if (!DeviceNameUtils::ParseFullName(device, &name)) { |
| 152 | return errors::InvalidArgument("Invalid device name: device=", device); |
| 153 | |
| 154 | } else if (!name.has_job || !name.has_replica || !name.has_task || |
| 155 | !name.has_type || !name.has_id) { |
| 156 | return errors::InvalidArgument("Not a fully defined device name: device=", |
| 157 | device); |
| 158 | } |
| 159 | |
| 160 | devices_.insert(DeviceNameUtils::ParsedNameToString(name)); |
| 161 | return Status::OK(); |
| 162 | } |
| 163 | |
| 164 | Status GrapplerItem::AddDevices(const GrapplerItem& other) { |
| 165 | std::vector<absl::string_view> invalid_devices; |