//  Copyright 2026 Google LLC
//
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11-devel
// 	protoc        v4.25.3
// source: ateom.proto

package ateompb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type RunWorkloadRequest struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	ActorTemplateNamespace string                 `protobuf:"bytes,1,opt,name=actor_template_namespace,json=actorTemplateNamespace,proto3" json:"actor_template_namespace,omitempty"`
	ActorTemplateName      string                 `protobuf:"bytes,2,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	ActorId                string                 `protobuf:"bytes,3,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	RunscPath              string                 `protobuf:"bytes,4,opt,name=runsc_path,json=runscPath,proto3" json:"runsc_path,omitempty"`
	Spec                   *WorkloadSpec          `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *RunWorkloadRequest) Reset() {
	*x = RunWorkloadRequest{}
	mi := &file_ateom_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RunWorkloadRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RunWorkloadRequest) ProtoMessage() {}

func (x *RunWorkloadRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ateom_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RunWorkloadRequest.ProtoReflect.Descriptor instead.
func (*RunWorkloadRequest) Descriptor() ([]byte, []int) {
	return file_ateom_proto_rawDescGZIP(), []int{0}
}

func (x *RunWorkloadRequest) GetActorTemplateNamespace() string {
	if x != nil {
		return x.ActorTemplateNamespace
	}
	return ""
}

func (x *RunWorkloadRequest) GetActorTemplateName() string {
	if x != nil {
		return x.ActorTemplateName
	}
	return ""
}

func (x *RunWorkloadRequest) GetActorId() string {
	if x != nil {
		return x.ActorId
	}
	return ""
}

func (x *RunWorkloadRequest) GetRunscPath() string {
	if x != nil {
		return x.RunscPath
	}
	return ""
}

func (x *RunWorkloadRequest) GetSpec() *WorkloadSpec {
	if x != nil {
		return x.Spec
	}
	return nil
}

// WorkloadSpec parallels Pod, but with far fewer configurable fields.
type WorkloadSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Containers    []*Container           `protobuf:"bytes,1,rep,name=containers,proto3" json:"containers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WorkloadSpec) Reset() {
	*x = WorkloadSpec{}
	mi := &file_ateom_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WorkloadSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WorkloadSpec) ProtoMessage() {}

func (x *WorkloadSpec) ProtoReflect() protoreflect.Message {
	mi := &file_ateom_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WorkloadSpec.ProtoReflect.Descriptor instead.
func (*WorkloadSpec) Descriptor() ([]byte, []int) {
	return file_ateom_proto_rawDescGZIP(), []int{1}
}

func (x *WorkloadSpec) GetContainers() []*Container {
	if x != nil {
		return x.Containers
	}
	return nil
}

type Container struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Container) Reset() {
	*x = Container{}
	mi := &file_ateom_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Container) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Container) ProtoMessage() {}

func (x *Container) ProtoReflect() protoreflect.Message {
	mi := &file_ateom_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Container.ProtoReflect.Descriptor instead.
func (*Container) Descriptor() ([]byte, []int) {
	return file_ateom_proto_rawDescGZIP(), []int{2}
}

func (x *Container) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type RunWorkloadResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RunWorkloadResponse) Reset() {
	*x = RunWorkloadResponse{}
	mi := &file_ateom_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RunWorkloadResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RunWorkloadResponse) ProtoMessage() {}

func (x *RunWorkloadResponse) ProtoReflect() protoreflect.Message {
	mi := &file_ateom_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RunWorkloadResponse.ProtoReflect.Descriptor instead.
func (*RunWorkloadResponse) Descriptor() ([]byte, []int) {
	return file_ateom_proto_rawDescGZIP(), []int{3}
}

type CheckpointWorkloadRequest struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	ActorTemplateNamespace string                 `protobuf:"bytes,1,opt,name=actor_template_namespace,json=actorTemplateNamespace,proto3" json:"actor_template_namespace,omitempty"`
	ActorTemplateName      string                 `protobuf:"bytes,2,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	ActorId                string                 `protobuf:"bytes,3,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	RunscPath              string                 `protobuf:"bytes,4,opt,name=runsc_path,json=runscPath,proto3" json:"runsc_path,omitempty"`
	Spec                   *WorkloadSpec          `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"`
	// An object storage URI prefix below which the checkpoint data will be
	// stored.
	//
	// The structure of the checkpoint should generally be treated as opaque. For
	// gVisor, the checkpoint consists of a checkpoint.img file that contains the
	// memory, sentry state, and filesystem deltas.
	//
	// For example: "gs://bucket/actors/1234/snapshots/5678/"
	SnapshotUriPrefix string `protobuf:"bytes,6,opt,name=snapshot_uri_prefix,json=snapshotUriPrefix,proto3" json:"snapshot_uri_prefix,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *CheckpointWorkloadRequest) Reset() {
	*x = CheckpointWorkloadRequest{}
	mi := &file_ateom_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CheckpointWorkloadRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckpointWorkloadRequest) ProtoMessage() {}

func (x *CheckpointWorkloadRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ateom_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CheckpointWorkloadRequest.ProtoReflect.Descriptor instead.
func (*CheckpointWorkloadRequest) Descriptor() ([]byte, []int) {
	return file_ateom_proto_rawDescGZIP(), []int{4}
}

func (x *CheckpointWorkloadRequest) GetActorTemplateNamespace() string {
	if x != nil {
		return x.ActorTemplateNamespace
	}
	return ""
}

func (x *CheckpointWorkloadRequest) GetActorTemplateName() string {
	if x != nil {
		return x.ActorTemplateName
	}
	return ""
}

func (x *CheckpointWorkloadRequest) GetActorId() string {
	if x != nil {
		return x.ActorId
	}
	return ""
}

func (x *CheckpointWorkloadRequest) GetRunscPath() string {
	if x != nil {
		return x.RunscPath
	}
	return ""
}

func (x *CheckpointWorkloadRequest) GetSpec() *WorkloadSpec {
	if x != nil {
		return x.Spec
	}
	return nil
}

func (x *CheckpointWorkloadRequest) GetSnapshotUriPrefix() string {
	if x != nil {
		return x.SnapshotUriPrefix
	}
	return ""
}

type CheckpointWorkloadResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CheckpointWorkloadResponse) Reset() {
	*x = CheckpointWorkloadResponse{}
	mi := &file_ateom_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CheckpointWorkloadResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckpointWorkloadResponse) ProtoMessage() {}

func (x *CheckpointWorkloadResponse) ProtoReflect() protoreflect.Message {
	mi := &file_ateom_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CheckpointWorkloadResponse.ProtoReflect.Descriptor instead.
func (*CheckpointWorkloadResponse) Descriptor() ([]byte, []int) {
	return file_ateom_proto_rawDescGZIP(), []int{5}
}

type RestoreWorkloadRequest struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	ActorTemplateNamespace string                 `protobuf:"bytes,1,opt,name=actor_template_namespace,json=actorTemplateNamespace,proto3" json:"actor_template_namespace,omitempty"`
	ActorTemplateName      string                 `protobuf:"bytes,2,opt,name=actor_template_name,json=actorTemplateName,proto3" json:"actor_template_name,omitempty"`
	ActorId                string                 `protobuf:"bytes,3,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	RunscPath              string                 `protobuf:"bytes,4,opt,name=runsc_path,json=runscPath,proto3" json:"runsc_path,omitempty"`
	Spec                   *WorkloadSpec          `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"`
	// The object storage URI prefix of the snapshot to restore.
	SnapshotUriPrefix string `protobuf:"bytes,6,opt,name=snapshot_uri_prefix,json=snapshotUriPrefix,proto3" json:"snapshot_uri_prefix,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *RestoreWorkloadRequest) Reset() {
	*x = RestoreWorkloadRequest{}
	mi := &file_ateom_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RestoreWorkloadRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RestoreWorkloadRequest) ProtoMessage() {}

func (x *RestoreWorkloadRequest) ProtoReflect() protoreflect.Message {
	mi := &file_ateom_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RestoreWorkloadRequest.ProtoReflect.Descriptor instead.
func (*RestoreWorkloadRequest) Descriptor() ([]byte, []int) {
	return file_ateom_proto_rawDescGZIP(), []int{6}
}

func (x *RestoreWorkloadRequest) GetActorTemplateNamespace() string {
	if x != nil {
		return x.ActorTemplateNamespace
	}
	return ""
}

func (x *RestoreWorkloadRequest) GetActorTemplateName() string {
	if x != nil {
		return x.ActorTemplateName
	}
	return ""
}

func (x *RestoreWorkloadRequest) GetActorId() string {
	if x != nil {
		return x.ActorId
	}
	return ""
}

func (x *RestoreWorkloadRequest) GetRunscPath() string {
	if x != nil {
		return x.RunscPath
	}
	return ""
}

func (x *RestoreWorkloadRequest) GetSpec() *WorkloadSpec {
	if x != nil {
		return x.Spec
	}
	return nil
}

func (x *RestoreWorkloadRequest) GetSnapshotUriPrefix() string {
	if x != nil {
		return x.SnapshotUriPrefix
	}
	return ""
}

type RestoreWorkloadResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RestoreWorkloadResponse) Reset() {
	*x = RestoreWorkloadResponse{}
	mi := &file_ateom_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RestoreWorkloadResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RestoreWorkloadResponse) ProtoMessage() {}

func (x *RestoreWorkloadResponse) ProtoReflect() protoreflect.Message {
	mi := &file_ateom_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RestoreWorkloadResponse.ProtoReflect.Descriptor instead.
func (*RestoreWorkloadResponse) Descriptor() ([]byte, []int) {
	return file_ateom_proto_rawDescGZIP(), []int{7}
}

var File_ateom_proto protoreflect.FileDescriptor

const file_ateom_proto_rawDesc = "" +
	"\n" +
	"\vateom.proto\x12\x05ateom\"\xe1\x01\n" +
	"\x12RunWorkloadRequest\x128\n" +
	"\x18actor_template_namespace\x18\x01 \x01(\tR\x16actorTemplateNamespace\x12.\n" +
	"\x13actor_template_name\x18\x02 \x01(\tR\x11actorTemplateName\x12\x19\n" +
	"\bactor_id\x18\x03 \x01(\tR\aactorId\x12\x1d\n" +
	"\n" +
	"runsc_path\x18\x04 \x01(\tR\trunscPath\x12'\n" +
	"\x04spec\x18\x05 \x01(\v2\x13.ateom.WorkloadSpecR\x04spec\"@\n" +
	"\fWorkloadSpec\x120\n" +
	"\n" +
	"containers\x18\x01 \x03(\v2\x10.ateom.ContainerR\n" +
	"containers\"\x1f\n" +
	"\tContainer\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\"\x15\n" +
	"\x13RunWorkloadResponse\"\x98\x02\n" +
	"\x19CheckpointWorkloadRequest\x128\n" +
	"\x18actor_template_namespace\x18\x01 \x01(\tR\x16actorTemplateNamespace\x12.\n" +
	"\x13actor_template_name\x18\x02 \x01(\tR\x11actorTemplateName\x12\x19\n" +
	"\bactor_id\x18\x03 \x01(\tR\aactorId\x12\x1d\n" +
	"\n" +
	"runsc_path\x18\x04 \x01(\tR\trunscPath\x12'\n" +
	"\x04spec\x18\x05 \x01(\v2\x13.ateom.WorkloadSpecR\x04spec\x12.\n" +
	"\x13snapshot_uri_prefix\x18\x06 \x01(\tR\x11snapshotUriPrefix\"\x1c\n" +
	"\x1aCheckpointWorkloadResponse\"\x95\x02\n" +
	"\x16RestoreWorkloadRequest\x128\n" +
	"\x18actor_template_namespace\x18\x01 \x01(\tR\x16actorTemplateNamespace\x12.\n" +
	"\x13actor_template_name\x18\x02 \x01(\tR\x11actorTemplateName\x12\x19\n" +
	"\bactor_id\x18\x03 \x01(\tR\aactorId\x12\x1d\n" +
	"\n" +
	"runsc_path\x18\x04 \x01(\tR\trunscPath\x12'\n" +
	"\x04spec\x18\x05 \x01(\v2\x13.ateom.WorkloadSpecR\x04spec\x12.\n" +
	"\x13snapshot_uri_prefix\x18\x06 \x01(\tR\x11snapshotUriPrefix\"\x19\n" +
	"\x17RestoreWorkloadResponse2\x80\x02\n" +
	"\x05Ateom\x12F\n" +
	"\vRunWorkload\x12\x19.ateom.RunWorkloadRequest\x1a\x1a.ateom.RunWorkloadResponse\"\x00\x12[\n" +
	"\x12CheckpointWorkload\x12 .ateom.CheckpointWorkloadRequest\x1a!.ateom.CheckpointWorkloadResponse\"\x00\x12R\n" +
	"\x0fRestoreWorkload\x12\x1d.ateom.RestoreWorkloadRequest\x1a\x1e.ateom.RestoreWorkloadResponse\"\x00B4Z2github.com/agent-substrate/substrate/proto/ateompbb\x06proto3"

var (
	file_ateom_proto_rawDescOnce sync.Once
	file_ateom_proto_rawDescData []byte
)

func file_ateom_proto_rawDescGZIP() []byte {
	file_ateom_proto_rawDescOnce.Do(func() {
		file_ateom_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ateom_proto_rawDesc), len(file_ateom_proto_rawDesc)))
	})
	return file_ateom_proto_rawDescData
}

var file_ateom_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_ateom_proto_goTypes = []any{
	(*RunWorkloadRequest)(nil),         // 0: ateom.RunWorkloadRequest
	(*WorkloadSpec)(nil),               // 1: ateom.WorkloadSpec
	(*Container)(nil),                  // 2: ateom.Container
	(*RunWorkloadResponse)(nil),        // 3: ateom.RunWorkloadResponse
	(*CheckpointWorkloadRequest)(nil),  // 4: ateom.CheckpointWorkloadRequest
	(*CheckpointWorkloadResponse)(nil), // 5: ateom.CheckpointWorkloadResponse
	(*RestoreWorkloadRequest)(nil),     // 6: ateom.RestoreWorkloadRequest
	(*RestoreWorkloadResponse)(nil),    // 7: ateom.RestoreWorkloadResponse
}
var file_ateom_proto_depIdxs = []int32{
	1, // 0: ateom.RunWorkloadRequest.spec:type_name -> ateom.WorkloadSpec
	2, // 1: ateom.WorkloadSpec.containers:type_name -> ateom.Container
	1, // 2: ateom.CheckpointWorkloadRequest.spec:type_name -> ateom.WorkloadSpec
	1, // 3: ateom.RestoreWorkloadRequest.spec:type_name -> ateom.WorkloadSpec
	0, // 4: ateom.Ateom.RunWorkload:input_type -> ateom.RunWorkloadRequest
	4, // 5: ateom.Ateom.CheckpointWorkload:input_type -> ateom.CheckpointWorkloadRequest
	6, // 6: ateom.Ateom.RestoreWorkload:input_type -> ateom.RestoreWorkloadRequest
	3, // 7: ateom.Ateom.RunWorkload:output_type -> ateom.RunWorkloadResponse
	5, // 8: ateom.Ateom.CheckpointWorkload:output_type -> ateom.CheckpointWorkloadResponse
	7, // 9: ateom.Ateom.RestoreWorkload:output_type -> ateom.RestoreWorkloadResponse
	7, // [7:10] is the sub-list for method output_type
	4, // [4:7] is the sub-list for method input_type
	4, // [4:4] is the sub-list for extension type_name
	4, // [4:4] is the sub-list for extension extendee
	0, // [0:4] is the sub-list for field type_name
}

func init() { file_ateom_proto_init() }
func file_ateom_proto_init() {
	if File_ateom_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_ateom_proto_rawDesc), len(file_ateom_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   8,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_ateom_proto_goTypes,
		DependencyIndexes: file_ateom_proto_depIdxs,
		MessageInfos:      file_ateom_proto_msgTypes,
	}.Build()
	File_ateom_proto = out.File
	file_ateom_proto_goTypes = nil
	file_ateom_proto_depIdxs = nil
}
