From af5282fe0e80872ba0ed8d778f6fe52f26f72db0 Mon Sep 17 00:00:00 2001 From: Brian Neville <29639579+brianneville@users.noreply.github.com> Date: Thu, 7 Aug 2025 15:57:53 +0100 Subject: [PATCH] factory_reset: add mechanism to delete images Add a way to delete images on the system before proceeding with the factory reset. --- factory_reset/factory_reset.pb.go | 183 +++++++++++++++++++++--------- factory_reset/factory_reset.proto | 14 +++ 2 files changed, 141 insertions(+), 56 deletions(-) diff --git a/factory_reset/factory_reset.pb.go b/factory_reset/factory_reset.pb.go index 5b193144..25a07e20 100644 --- a/factory_reset/factory_reset.pb.go +++ b/factory_reset/factory_reset.pb.go @@ -21,14 +21,64 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type StartRequest_DeleteImages int32 + +const ( + StartRequest_UNSPECIFIED StartRequest_DeleteImages = 0 + StartRequest_SENSITIVE_IMAGES StartRequest_DeleteImages = 1 + StartRequest_ALL_IMAGES StartRequest_DeleteImages = 2 +) + +// Enum value maps for StartRequest_DeleteImages. +var ( + StartRequest_DeleteImages_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "SENSITIVE_IMAGES", + 2: "ALL_IMAGES", + } + StartRequest_DeleteImages_value = map[string]int32{ + "UNSPECIFIED": 0, + "SENSITIVE_IMAGES": 1, + "ALL_IMAGES": 2, + } +) + +func (x StartRequest_DeleteImages) Enum() *StartRequest_DeleteImages { + p := new(StartRequest_DeleteImages) + *p = x + return p +} + +func (x StartRequest_DeleteImages) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StartRequest_DeleteImages) Descriptor() protoreflect.EnumDescriptor { + return file_factory_reset_factory_reset_proto_enumTypes[0].Descriptor() +} + +func (StartRequest_DeleteImages) Type() protoreflect.EnumType { + return &file_factory_reset_factory_reset_proto_enumTypes[0] +} + +func (x StartRequest_DeleteImages) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StartRequest_DeleteImages.Descriptor instead. +func (StartRequest_DeleteImages) EnumDescriptor() ([]byte, []int) { + return file_factory_reset_factory_reset_proto_rawDescGZIP(), []int{0, 0} +} + type StartRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FactoryOs bool `protobuf:"varint,1,opt,name=factory_os,json=factoryOs,proto3" json:"factory_os,omitempty"` - ZeroFill bool `protobuf:"varint,2,opt,name=zero_fill,json=zeroFill,proto3" json:"zero_fill,omitempty"` - RetainCerts bool `protobuf:"varint,3,opt,name=retain_certs,json=retainCerts,proto3" json:"retain_certs,omitempty"` + FactoryOs bool `protobuf:"varint,1,opt,name=factory_os,json=factoryOs,proto3" json:"factory_os,omitempty"` + ZeroFill bool `protobuf:"varint,2,opt,name=zero_fill,json=zeroFill,proto3" json:"zero_fill,omitempty"` + RetainCerts bool `protobuf:"varint,3,opt,name=retain_certs,json=retainCerts,proto3" json:"retain_certs,omitempty"` + DeleteImages StartRequest_DeleteImages `protobuf:"varint,4,opt,name=delete_images,json=deleteImages,proto3,enum=gnoi.factory_reset.StartRequest_DeleteImages" json:"delete_images,omitempty"` } func (x *StartRequest) Reset() { @@ -84,6 +134,13 @@ func (x *StartRequest) GetRetainCerts() bool { return false } +func (x *StartRequest) GetDeleteImages() StartRequest_DeleteImages { + if x != nil { + return x.DeleteImages + } + return StartRequest_UNSPECIFIED +} + type ResetSuccess struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -283,45 +340,55 @@ var file_factory_reset_factory_reset_proto_rawDesc = []byte{ 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x1a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6f, 0x69, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, - 0x5f, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x66, 0x61, 0x63, 0x74, 0x6f, - 0x72, 0x79, 0x4f, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x69, 0x6c, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x7a, 0x65, 0x72, 0x6f, 0x46, 0x69, 0x6c, - 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x65, 0x72, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x43, - 0x65, 0x72, 0x74, 0x73, 0x22, 0x0e, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x22, 0xa4, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6f, - 0x73, 0x5f, 0x75, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x14, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x4f, 0x73, 0x55, 0x6e, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x7a, 0x65, 0x72, - 0x6f, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x75, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x7a, 0x65, 0x72, 0x6f, 0x46, 0x69, - 0x6c, 0x6c, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xa7, 0x01, 0x0a, 0x0d, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, - 0x0d, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6e, 0x6f, 0x69, 0x2e, 0x66, 0x61, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x74, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6e, - 0x6f, 0x69, 0x2e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, - 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x72, - 0x65, 0x73, 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x5c, 0x0a, 0x0c, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x4c, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x20, - 0x2e, 0x67, 0x6e, 0x6f, 0x69, 0x2e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, - 0x73, 0x65, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x21, 0x2e, 0x67, 0x6e, 0x6f, 0x69, 0x2e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x42, 0x32, 0xd2, 0x3e, 0x05, 0x30, 0x2e, 0x31, 0x2e, 0x30, 0x5a, 0x28, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6f, 0x69, 0x2f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x5f, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x66, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x4f, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x69, + 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x7a, 0x65, 0x72, 0x6f, 0x46, 0x69, + 0x6c, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x65, 0x72, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, + 0x43, 0x65, 0x72, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, + 0x6e, 0x6f, 0x69, 0x2e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, + 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x0c, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x22, 0x45, 0x0a, 0x0c, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, + 0x4e, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x53, 0x10, 0x01, + 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x53, 0x10, 0x02, + 0x22, 0x0e, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x22, 0xa4, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x34, 0x0a, 0x16, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6f, 0x73, 0x5f, 0x75, 0x6e, + 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x14, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x4f, 0x73, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x69, + 0x6c, 0x6c, 0x5f, 0x75, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x7a, 0x65, 0x72, 0x6f, 0x46, 0x69, 0x6c, 0x6c, 0x55, 0x6e, + 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xa7, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x72, 0x65, 0x73, + 0x65, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6e, 0x6f, 0x69, 0x2e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, + 0x72, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6e, 0x6f, 0x69, 0x2e, 0x66, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x74, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x32, 0x5c, 0x0a, 0x0c, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, + 0x74, 0x12, 0x4c, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x20, 0x2e, 0x67, 0x6e, 0x6f, + 0x69, 0x2e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x2e, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, + 0x6e, 0x6f, 0x69, 0x2e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, + 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, + 0x32, 0xd2, 0x3e, 0x05, 0x30, 0x2e, 0x31, 0x2e, 0x30, 0x5a, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2f, 0x67, 0x6e, 0x6f, 0x69, 0x2f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, + 0x73, 0x65, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -336,23 +403,26 @@ func file_factory_reset_factory_reset_proto_rawDescGZIP() []byte { return file_factory_reset_factory_reset_proto_rawDescData } +var file_factory_reset_factory_reset_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_factory_reset_factory_reset_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_factory_reset_factory_reset_proto_goTypes = []interface{}{ - (*StartRequest)(nil), // 0: gnoi.factory_reset.StartRequest - (*ResetSuccess)(nil), // 1: gnoi.factory_reset.ResetSuccess - (*ResetError)(nil), // 2: gnoi.factory_reset.ResetError - (*StartResponse)(nil), // 3: gnoi.factory_reset.StartResponse + (StartRequest_DeleteImages)(0), // 0: gnoi.factory_reset.StartRequest.DeleteImages + (*StartRequest)(nil), // 1: gnoi.factory_reset.StartRequest + (*ResetSuccess)(nil), // 2: gnoi.factory_reset.ResetSuccess + (*ResetError)(nil), // 3: gnoi.factory_reset.ResetError + (*StartResponse)(nil), // 4: gnoi.factory_reset.StartResponse } var file_factory_reset_factory_reset_proto_depIdxs = []int32{ - 1, // 0: gnoi.factory_reset.StartResponse.reset_success:type_name -> gnoi.factory_reset.ResetSuccess - 2, // 1: gnoi.factory_reset.StartResponse.reset_error:type_name -> gnoi.factory_reset.ResetError - 0, // 2: gnoi.factory_reset.FactoryReset.Start:input_type -> gnoi.factory_reset.StartRequest - 3, // 3: gnoi.factory_reset.FactoryReset.Start:output_type -> gnoi.factory_reset.StartResponse - 3, // [3:4] is the sub-list for method output_type - 2, // [2:3] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 0, // 0: gnoi.factory_reset.StartRequest.delete_images:type_name -> gnoi.factory_reset.StartRequest.DeleteImages + 2, // 1: gnoi.factory_reset.StartResponse.reset_success:type_name -> gnoi.factory_reset.ResetSuccess + 3, // 2: gnoi.factory_reset.StartResponse.reset_error:type_name -> gnoi.factory_reset.ResetError + 1, // 3: gnoi.factory_reset.FactoryReset.Start:input_type -> gnoi.factory_reset.StartRequest + 4, // 4: gnoi.factory_reset.FactoryReset.Start:output_type -> gnoi.factory_reset.StartResponse + 4, // [4:5] is the sub-list for method output_type + 3, // [3:4] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } func init() { file_factory_reset_factory_reset_proto_init() } @@ -419,13 +489,14 @@ func file_factory_reset_factory_reset_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_factory_reset_factory_reset_proto_rawDesc, - NumEnums: 0, + NumEnums: 1, NumMessages: 4, NumExtensions: 0, NumServices: 1, }, GoTypes: file_factory_reset_factory_reset_proto_goTypes, DependencyIndexes: file_factory_reset_factory_reset_proto_depIdxs, + EnumInfos: file_factory_reset_factory_reset_proto_enumTypes, MessageInfos: file_factory_reset_factory_reset_proto_msgTypes, }.Build() File_factory_reset_factory_reset_proto = out.File diff --git a/factory_reset/factory_reset.proto b/factory_reset/factory_reset.proto index a035c636..6664bb8a 100644 --- a/factory_reset/factory_reset.proto +++ b/factory_reset/factory_reset.proto @@ -36,6 +36,20 @@ message StartRequest { bool zero_fill = 2; // Instructs the Target to retain certificates bool retain_certs = 3; + + enum DeleteImages { + // do not delete any images. + UNSPECIFIED = 0; + // delete only images which the target deems sensitive + SENSITIVE_IMAGES = 1; + // delete all images on the target (including sensitive images) + ALL_IMAGES = 2; + } + // Instructs the target to cleanup images before proceeding with the + // factory reset. + // If sensitive images exist and delete_images is UNSPECIFIED, then + // the target will return an INVALID_ARGUMENT error + DeleteImages delete_images = 4; } message ResetSuccess {