| #include "bmc/gmi_reader.h" |
| |
| #include <filesystem> // NOLINT(build/c++17) |
| #include <string> |
| |
| #include "gmi/machine_identity.pb.h" |
| #include "bmc/proto_reader.h" |
| #include "absl/log/log.h" |
| #include "absl/status/status.h" |
| #include "absl/status/statusor.h" |
| |
| namespace gmi_reader { |
| |
| using security_prodid::GoogleMachineIdentityProto; |
| |
| absl::StatusOr<std::string> ReadGmiHostName( |
| const std::filesystem::path& gmi_path) { |
| absl::StatusOr<GoogleMachineIdentityProto> id_proto = |
| proto_reader::ReadProto<GoogleMachineIdentityProto>(gmi_path); |
| if (!id_proto.ok()) { |
| LOG(ERROR) << "Failed to deserialize the GMI file"; |
| return absl::InvalidArgumentError("Failed to deserialize the GMI file"); |
| } |
| return id_proto->fqdn(); |
| } |
| |
| } // namespace gmi_reader |