diff --git a/odpf/metadata/optimus/v1/job.proto b/odpf/metadata/optimus/v1/job.proto deleted file mode 100644 index 2f6a8e78..00000000 --- a/odpf/metadata/optimus/v1/job.proto +++ /dev/null @@ -1,91 +0,0 @@ -syntax = "proto3"; - -package odpf.metadata.optimus.v1; - -option java_package = "io.odpf.proton.metadata.optimus"; -option java_outer_classname = "Optimus"; -option go_package = "github.com/odpf/proton/metadata/optimus"; - -import "google/protobuf/timestamp.proto"; - -message JobMetadataKey { - string urn = 1; -} - -message JobMetadata { - string urn = 1; - string name = 2; - string tenant = 3; - int32 version = 4; - string description = 5; - repeated JobLabel labels = 6; - string owner = 7; - - JobTask task = 8; - JobSchedule schedule = 9; - JobBehavior behaviour = 10; - - repeated JobHook hooks = 11; - repeated JobDependency dependencies = 12; - - string namespace = 13; - - google.protobuf.Timestamp event_timestamp = 100; -} - -message JobTask { - string name = 1; - string image = 2; - string description = 3; - string destination = 4; - repeated JobTaskConfig config = 5; - JobTaskWindow window = 6; - int32 priority = 7; -} - -message JobHook { - string name = 1; - string image = 2; - string description = 3; - repeated JobHookConfig config = 4; - string type = 5; - repeated string depends_on = 6; -} - -message JobDependency { - string tenant = 1; - string job = 2; - string type = 3; -} - -message JobTaskWindow { - string size = 1; - string offset = 2; - string truncate_to = 3; -} - -message JobSchedule { - google.protobuf.Timestamp start_date = 1; - google.protobuf.Timestamp end_date = 2; - string interval = 3; -} - -message JobBehavior { - bool depends_on_past = 1; - bool catchup = 2; -} - -message JobLabel { - string name = 1; - string value = 2; -} - -message JobTaskConfig { - string name = 1; - string value = 2; -} - -message JobHookConfig { - string name = 1; - string value = 2; -} diff --git a/odpf/optimus/cluster/command.proto b/odpf/optimus/cluster/v1beta1/command.proto similarity index 65% rename from odpf/optimus/cluster/command.proto rename to odpf/optimus/cluster/v1beta1/command.proto index a37969b8..2a9ae8dd 100644 --- a/odpf/optimus/cluster/command.proto +++ b/odpf/optimus/cluster/v1beta1/command.proto @@ -1,22 +1,20 @@ syntax = "proto3"; -package odpf.optimus.internal; +package odpf.optimus.cluster.v1beta1; option go_package = "github.com/odpf/proton/optimus"; -option java_multiple_files = true; -option java_package = "io.odpf.proton.optimus.internal"; -option java_outer_classname = "CommandLogProto"; message CommandLog { - enum Type { - COMMAND_TYPE_UNKNOWN = 0; - COMMAND_TYPE_NOOP = 1; - COMMAND_TYPE_SCHEDULE_JOB = 2; - COMMAND_TYPE_UPDATE_JOB = 3; - } - Type type = 1; + CommandLogType type = 1; bytes payload = 2; } +enum CommandLogType { + COMMAND_LOG_TYPE_UNSPECIFIED = 0; + COMMAND_LOG_TYPE_NOOP = 1; + COMMAND_LOG_TYPE_SCHEDULE_JOB = 2; + COMMAND_LOG_TYPE_UPDATE_JOB = 3; +} + message CommandNoop { string id = 1; } diff --git a/odpf/optimus/runtime_service.proto b/odpf/optimus/core/v1beta1/runtime.proto similarity index 85% rename from odpf/optimus/runtime_service.proto rename to odpf/optimus/core/v1beta1/runtime.proto index a708ca0c..4981c428 100644 --- a/odpf/optimus/runtime_service.proto +++ b/odpf/optimus/core/v1beta1/runtime.proto @@ -1,5 +1,5 @@ syntax = "proto3"; -package odpf.optimus; +package odpf.optimus.core.v1beta1; import "google/api/annotations.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; @@ -30,7 +30,7 @@ service RuntimeService { // server ping with version rpc Version(VersionRequest) returns (VersionResponse) { option (google.api.http) = { - post: "/v1/version" + post: "/v1beta1/version" body: "*" }; } @@ -45,43 +45,43 @@ service RuntimeService { // CreateJobSpecification registers a new job for a namespace which belongs to a project rpc CreateJobSpecification(CreateJobSpecificationRequest) returns (CreateJobSpecificationResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/namespace/{namespace}/job" + post: "/v1beta1/project/{project_name}/namespace/{namespace_name}/job" body: "*" }; } - // ReadJobSpecification reads a provided job spec of a namespace - rpc ReadJobSpecification(ReadJobSpecificationRequest) returns (ReadJobSpecificationResponse) { + // GetJobSpecification reads a provided job spec of a namespace + rpc GetJobSpecification(GetJobSpecificationRequest) returns (GetJobSpecificationResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/namespace/{namespace}/job/{job_name}" + get: "/v1beta1/project/{project_name}/namespace/{namespace_name}/job/{job_name}" }; } // DeleteJobSpecification deletes a job spec of a namespace rpc DeleteJobSpecification(DeleteJobSpecificationRequest) returns (DeleteJobSpecificationResponse) { option (google.api.http) = { - delete: "/v1/project/{project_name}/namespace/{namespace}/job/{job_name}" + delete: "/v1beta1/project/{project_name}/namespace/{namespace_name}/job/{job_name}" }; } // ListJobSpecification returns list of jobs created in a project rpc ListJobSpecification(ListJobSpecificationRequest) returns (ListJobSpecificationResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/namespace/{namespace}/job" + get: "/v1beta1/project/{project_name}/namespace/{namespace_name}/job" }; } // GetJobTask provides task details specific to plugin used in a job rpc GetJobTask(GetJobTaskRequest) returns (GetJobTaskResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/namespace/{namespace}/job/{job_name}/task" + get: "/v1beta1/project/{project_name}/namespace/{namespace_name}/job/{job_name}/task" }; } // CheckJobSpecification checks if a job specification is valid rpc CheckJobSpecification(CheckJobSpecificationRequest) returns (CheckJobSpecificationResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/job/check" + post: "/v1beta1/project/{project_name}/job/check" }; } // CheckJobSpecifications checks if the job specifications are valid @@ -90,35 +90,35 @@ service RuntimeService { // RegisterProject creates a new optimus project rpc RegisterProject(RegisterProjectRequest) returns (RegisterProjectResponse) { option (google.api.http) = { - post: "/v1/project" + post: "/v1beta1/project" body: "*" }; } // RegisterProjectNamespace creates a new namespace for a project rpc RegisterProjectNamespace(RegisterProjectNamespaceRequest) returns (RegisterProjectNamespaceResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/namespace" + post: "/v1beta1/project/{project_name}/namespace" body: "*" }; } // RegisterSecret creates a new secret of a project rpc RegisterSecret(RegisterSecretRequest) returns (RegisterSecretResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/secret/{secret_name}" + post: "/v1beta1/project/{project_name}/secret/{secret_name}" body: "*" }; } // ListProjects returns list of registered projects and configurations rpc ListProjects(ListProjectsRequest) returns (ListProjectsResponse) { option (google.api.http) = { - get: "/v1/project" + get: "/v1beta1/project" }; } // ListProjectNamespaces returns list of namespaces of a project rpc ListProjectNamespaces(ListProjectNamespacesRequest) returns (ListProjectNamespacesResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/namespace" + get: "/v1beta1/project/{project_name}/namespace" }; } @@ -126,20 +126,20 @@ service RuntimeService { // to pull task/hook compiled configuration and assets. rpc RegisterInstance(RegisterInstanceRequest) returns (RegisterInstanceResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/job/{job_name}/instance" + post: "/v1beta1/project/{project_name}/job/{job_name}/instance" body: "*" }; } // JobStatus returns the current and past run status of jobs rpc JobStatus(JobStatusRequest) returns (JobStatusResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/job/{job_name}/status" + get: "/v1beta1/project/{project_name}/job/{job_name}/status" }; } // RegisterJobEvent notifies optimus service about an event related to job rpc RegisterJobEvent(RegisterJobEventRequest) returns (RegisterJobEventResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/namespace/{namespace}/job/{job_name}/event" + post: "/v1beta1/project/{project_name}/namespace/{namespace_name}/job/{job_name}/event" body: "*" }; } @@ -147,7 +147,7 @@ service RuntimeService { // of the execution window rpc GetWindow(GetWindowRequest) returns (GetWindowResponse) { option (google.api.http) = { - get: "/v1/window" + get: "/v1beta1/window" }; } @@ -157,7 +157,7 @@ service RuntimeService { // ListResourceSpecification lists all resource specifications of a datastore in project rpc ListResourceSpecification(ListResourceSpecificationRequest) returns (ListResourceSpecificationResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/namespace/{namespace}/datastore/{datastore_name}/resource" + get: "/v1beta1/project/{project_name}/namespace/{namespace_name}/datastore/{datastore_name}/resource" }; } @@ -165,65 +165,65 @@ service RuntimeService { // CreateResource registers a new resource of a namespace which belongs to a project rpc CreateResource(CreateResourceRequest) returns (CreateResourceResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/namespace/{namespace}/datastore/{datastore_name}/resource" + post: "/v1beta1/project/{project_name}/namespace/{namespace_name}/datastore/{datastore_name}/resource" body: "*" }; } // ReadResource reads a provided resource spec of a namespace rpc ReadResource(ReadResourceRequest) returns (ReadResourceResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/namespace/{namespace}/datastore/{datastore_name}/resource/{resource_name}" + get: "/v1beta1/project/{project_name}/namespace/{namespace_name}/datastore/{datastore_name}/resource/{resource_name}" }; } // UpdateResource updates a resource specification of a datastore in project rpc UpdateResource(UpdateResourceRequest) returns (UpdateResourceResponse) { option (google.api.http) = { - put: "/v1/project/{project_name}/namespace/{namespace}/datastore/{datastore_name}/resource" + put: "/v1beta1/project/{project_name}/namespace/{namespace_name}/datastore/{datastore_name}/resource" body: "*" }; } rpc ReplayDryRun(ReplayDryRunRequest) returns (ReplayDryRunResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/replay/dryrun" + post: "/v1beta1/project/{project_name}/replay/dryrun" body: "*" }; } rpc Replay(ReplayRequest) returns (ReplayResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/replay" + post: "/v1beta1/project/{project_name}/replay" body: "*" }; } rpc GetReplayStatus(GetReplayStatusRequest) returns (GetReplayStatusResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/replay/{id}" + get: "/v1beta1/project/{project_name}/replay/{id}" }; } rpc ListReplays(ListReplaysRequest) returns (ListReplaysResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/replay" + get: "/v1beta1/project/{project_name}/replay" }; } rpc BackupDryRun(BackupDryRunRequest) returns (BackupDryRunResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/namespace/{namespace}/datastore/{datastore_name}/backup-dryrun" + post: "/v1beta1/project/{project_name}/namespace/{namespace_name}/datastore/{datastore_name}/backupDryrun" body: "*" }; } rpc CreateBackup(CreateBackupRequest) returns (CreateBackupResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/namespace/{namespace}/datastore/{datastore_name}/backup" + post: "/v1beta1/project/{project_name}/namespace/{namespace_name}/datastore/{datastore_name}/backup" body: "*" }; } rpc ListBackups(ListBackupsRequest) returns (ListBackupsResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/namespace/{namespace}/datastore/{datastore_name}/backup" + get: "/v1beta1/project/{project_name}/namespace/{namespace_name}/datastore/{datastore_name}/backup" }; } rpc GetBackup(GetBackupRequest) returns (GetBackupResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/namespace/{namespace}/datastore/{datastore_name}/backup/{id}" + get: "/v1/project/{project_name}/namespace/{namespace_name}/datastore/{datastore_name}/backup/{id}" }; } // TODO(kush.sharma): disabled ATM @@ -233,7 +233,7 @@ service RuntimeService { // this doesn't necessarily deploy the job in db first rpc RunJob(RunJobRequest) returns (RunJobResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/namespace/{namespace}/run" + post: "/v1beta1/project/{project_name}/namespace/{namespace_name}/run" body: "*" }; } @@ -348,9 +348,9 @@ message InstanceSpec { google.protobuf.Timestamp executed_at = 5; enum Type { - UNSPECIFIED = 0; - TASK = 1; - HOOK = 2; + TYPE_UNSPECIFIED = 0; + TYPE_TASK = 1; + TYPE_HOOK = 2; } string name = 6; Type type = 7; @@ -364,9 +364,9 @@ message InstanceSpecData { // type of data, could be an env var or file enum Type { - UNSPECIFIED = 0; - ENV = 1; - FILE = 2; + TYPE_UNSPECIFIED = 0; + TYPE_ENV = 1; + TYPE_FILE = 2; } Type type = 5; } @@ -383,10 +383,10 @@ message JobStatus { message JobEvent { enum Type { - UNSPECIFIED = 0; - SLA_MISS = 1; - FAILURE = 2; - SUCCESS = 3; + TYPE_UNSPECIFIED = 0; + TYPE_SLA_MISS = 1; + TYPE_FAILURE = 2; + TYPE_SUCCESS = 3; } Type type = 1; google.protobuf.Struct value = 2; @@ -430,7 +430,7 @@ message JobTask { repeated Dependency dependencies = 5; } -//~~~ rpc req/res +// rpc req/res message VersionRequest { string client = 1; @@ -443,7 +443,7 @@ message VersionResponse { message DeployJobSpecificationRequest { string project_name = 1; // unique project identifier repeated JobSpecification jobs = 2; - string namespace = 4; + string namespace_name = 4; } message DeployJobSpecificationResponse { @@ -459,7 +459,7 @@ message DeployJobSpecificationResponse { message ListJobSpecificationRequest { string project_name = 1; - string namespace = 2; + string namespace_name = 2; } message ListJobSpecificationResponse{ @@ -468,7 +468,7 @@ message ListJobSpecificationResponse{ message GetJobTaskRequest { string project_name = 1; - string namespace = 2; + string namespace_name = 2; string job_name = 3; } @@ -479,7 +479,7 @@ message GetJobTaskResponse { message CheckJobSpecificationRequest { string project_name = 1; JobSpecification job = 2; - string namespace = 3; + string namespace_name = 3; } message CheckJobSpecificationResponse { @@ -489,7 +489,7 @@ message CheckJobSpecificationResponse { message CheckJobSpecificationsRequest { string project_name = 1; repeated JobSpecification jobs = 2; - string namespace = 3; + string namespace_name = 3; } message CheckJobSpecificationsResponse { @@ -525,7 +525,7 @@ message RegisterProjectNamespaceResponse { message CreateJobSpecificationRequest { string project_name = 1; - string namespace = 2; + string namespace_name = 2; JobSpecification spec = 3; } @@ -534,19 +534,19 @@ message CreateJobSpecificationResponse { string message = 2; } -message ReadJobSpecificationRequest { +message GetJobSpecificationRequest { string project_name = 1; - string namespace = 2; + string namespace_name = 2; string job_name = 3; } -message ReadJobSpecificationResponse { +message GetJobSpecificationResponse { JobSpecification spec = 1; } message DeleteJobSpecificationRequest { string project_name = 1; - string namespace = 2; + string namespace_name = 2; string job_name = 3; } @@ -632,7 +632,7 @@ message DeployResourceSpecificationRequest { string project_name = 1; string datastore_name = 2; repeated ResourceSpecification resources = 3; - string namespace = 4; + string namespace_name = 4; } message DeployResourceSpecificationResponse { @@ -650,7 +650,7 @@ message DeployResourceSpecificationResponse { message ListResourceSpecificationRequest { string project_name = 1; string datastore_name = 2; - string namespace = 3; + string namespace_name = 3; } message ListResourceSpecificationResponse { @@ -661,7 +661,7 @@ message CreateResourceRequest { string project_name = 1; string datastore_name = 2; ResourceSpecification resource = 3; - string namespace = 4; + string namespace_name = 4; } message CreateResourceResponse { @@ -673,7 +673,7 @@ message ReadResourceRequest { string project_name = 1; string datastore_name = 2; string resource_name = 3; - string namespace = 4; + string namespace_name = 4; } message ReadResourceResponse { @@ -686,7 +686,7 @@ message UpdateResourceRequest { string project_name = 1; string datastore_name = 2; ResourceSpecification resource = 3; - string namespace = 4; + string namespace_name = 4; } message UpdateResourceResponse { @@ -697,7 +697,7 @@ message UpdateResourceResponse { message ReplayRequest { string project_name = 1; string job_name = 2; - string namespace = 3; + string namespace_name = 3; string start_date = 4; string end_date = 5; bool force = 6; @@ -716,7 +716,7 @@ message ReplayResponse { message ReplayDryRunRequest { string project_name = 1; string job_name = 2; - string namespace = 3; + string namespace_name = 3; string start_date = 4; string end_date = 5; @@ -765,7 +765,7 @@ message GetReplayStatusRequest { message RegisterJobEventRequest { string project_name = 1; string job_name = 2; - string namespace = 3; + string namespace_name = 3; JobEvent event = 4; } @@ -792,7 +792,7 @@ message ReplaySpec { message RunJobRequest { string project_name = 1; - string namespace = 2; + string namespace_name = 2; // job specification order of execution is undefined // attributes realted to schedule behaviour are ignored like interval, @@ -806,7 +806,7 @@ message BackupDryRunRequest { string project_name = 1; string datastore_name = 2; string resource_name = 3; - string namespace = 4; + string namespace_name = 4; string description = 5; bool ignore_downstream = 6 [deprecated=true]; @@ -825,7 +825,7 @@ message CreateBackupRequest { string project_name = 1; string datastore_name = 2; string resource_name = 3; - string namespace = 4; + string namespace_name = 4; string description = 5; bool ignore_downstream = 6 [deprecated=true]; map config = 7; @@ -844,7 +844,7 @@ message CreateBackupResponse { message ListBackupsRequest { string project_name = 1; string datastore_name = 2; - string namespace = 3; + string namespace_name = 3; } message ListBackupsResponse { @@ -862,7 +862,7 @@ message BackupSpec { message GetBackupRequest { string project_name = 1; string datastore_name = 2; - string namespace = 3; + string namespace_name = 3; string id = 4; } diff --git a/odpf/optimus/plugins/base.proto b/odpf/optimus/plugins/v1beta1/base.proto similarity index 78% rename from odpf/optimus/plugins/base.proto rename to odpf/optimus/plugins/v1beta1/base.proto index 64fd79dc..e15c61ff 100644 --- a/odpf/optimus/plugins/base.proto +++ b/odpf/optimus/plugins/v1beta1/base.proto @@ -1,5 +1,5 @@ syntax = "proto3"; -package odpf.optimus.plugins; +package odpf.optimus.plugins.v1beta1; option go_package = "github.com/odpf/proton/optimus"; option java_multiple_files = true; @@ -7,32 +7,32 @@ option java_package = "io.odpf.proton.optimus.plugins"; option java_outer_classname = "BasePluginProto"; -// Base must be implemented by all plugins -service Base { +// BaseService must be implemented by all plugins +service BaseService { // PluginInfo provides basic details for this plugin rpc PluginInfo(PluginInfoRequest) returns (PluginInfoResponse); } // PluginType enumerates the type of plugins Optimus supports enum PluginType { - PluginType_UNKNOWN = 0; - PluginType_TASK = 1; - PluginType_HOOK = 2; + PLUGIN_TYPE_UNSPECIFIED = 0; + PLUGIN_TYPE_TASK = 1; + PLUGIN_TYPE_HOOK = 2; } // PluginMod enumerates the type of mods this plugin supports enum PluginMod { - PluginMod_UNKNOWN = 0; - PluginMod_CLI = 1; - PluginMod_DEPENDENCYRESOLVER = 2; + PLUGIN_MOD_UNSPECIFIED = 0; + PLUGIN_MOD_CLI = 1; + PLUGIN_MOD_DEPENDENCYRESOLVER = 2; } // HookType enumerates the type of hook Optimus supports enum HookType { - HookType_UNKNOWN = 0; - HookType_PRE = 1; - HookType_POST = 2; - HookType_FAIL = 3; + HOOK_TYPE_UNSPECIFIED = 0; + HOOK_TYPE_PRE = 1; + HOOK_TYPE_POST = 2; + HOOK_TYPE_FAIL = 3; } message PluginInfoRequest {} diff --git a/odpf/optimus/plugins/cli.proto b/odpf/optimus/plugins/v1beta1/cli.proto similarity index 89% rename from odpf/optimus/plugins/cli.proto rename to odpf/optimus/plugins/v1beta1/cli.proto index ff1e88ed..3120a3b2 100644 --- a/odpf/optimus/plugins/cli.proto +++ b/odpf/optimus/plugins/v1beta1/cli.proto @@ -1,5 +1,5 @@ syntax = "proto3"; -package odpf.optimus.plugins; +package odpf.optimus.plugins.v1beta1; option go_package = "github.com/odpf/proton/optimus"; option java_multiple_files = true; @@ -7,11 +7,11 @@ option java_package = "io.odpf.proton.optimus.plugins"; option java_outer_classname = "CLIModProto"; import "google/protobuf/timestamp.proto"; -import "odpf/optimus/plugins/base.proto"; -import "odpf/optimus/runtime_service.proto"; +import "odpf/optimus/plugins/v1beta1/base.proto"; +import "odpf/optimus/core/v1beta1/runtime.proto"; -// CLIMod must be implemented to interact with users via optimus cli -service CLIMod { +// CLIModService must be implemented to interact with users via optimus cli +service CLIModService { // GetQuestions list down all the cli inputs required to generate spec files // name used for question will be directly mapped to DefaultConfig() parameters rpc GetQuestions(GetQuestionsRequest) returns (GetQuestionsResponse); @@ -110,9 +110,9 @@ message DefaultAssetsResponse { message CompileAssetsRequest { Configs configs = 1; Assets assets = 2; - odpf.optimus.TaskWindow window = 3; + odpf.optimus.core.v1beta1.TaskWindow window = 3; google.protobuf.Timestamp instance_schedule = 4; - repeated odpf.optimus.InstanceSpecData instance_data = 5; + repeated odpf.optimus.core.v1beta1.InstanceSpecData instance_data = 5; PluginOptions options = 40; } diff --git a/odpf/optimus/plugins/dependency_resolver.proto b/odpf/optimus/plugins/v1beta1/dependency_resolver.proto similarity index 69% rename from odpf/optimus/plugins/dependency_resolver.proto rename to odpf/optimus/plugins/v1beta1/dependency_resolver.proto index 2048c117..6bb8ff2a 100644 --- a/odpf/optimus/plugins/dependency_resolver.proto +++ b/odpf/optimus/plugins/v1beta1/dependency_resolver.proto @@ -1,18 +1,18 @@ syntax = "proto3"; -package odpf.optimus.plugins; +package odpf.optimus.plugins.v1beta1; option go_package = "github.com/odpf/proton/optimus"; option java_multiple_files = true; option java_package = "io.odpf.proton.optimus.plugins"; option java_outer_classname = "DependencyResolverModProto"; -import "odpf/optimus/plugins/cli.proto"; -import "odpf/optimus/plugins/base.proto"; -import "odpf/optimus/runtime_service.proto"; +import "odpf/optimus/plugins/v1beta1/cli.proto"; +import "odpf/optimus/plugins/v1beta1/base.proto"; +import "odpf/optimus/core/v1beta1/runtime.proto"; -// DependencyResolverMod must be implemented by all plugins want to support automatic +// DependencyResolverModService must be implemented by all plugins want to support automatic // dependency resolution -service DependencyResolverMod { +service DependencyResolverModService { // GenerateDestination derive destination from config and assets rpc GenerateDestination(GenerateDestinationRequest) returns (GenerateDestinationResponse); @@ -24,7 +24,7 @@ service DependencyResolverMod { message GenerateDestinationRequest { Configs config = 1; Assets assets = 2; - odpf.optimus.ProjectSpecification project = 3; + odpf.optimus.core.v1beta1.ProjectSpecification project = 3; PluginOptions options = 40; } @@ -36,7 +36,7 @@ message GenerateDestinationResponse { message GenerateDependenciesRequest { Configs config = 1; Assets assets = 2; - odpf.optimus.ProjectSpecification project = 3; + odpf.optimus.core.v1beta1.ProjectSpecification project = 3; PluginOptions options = 40; }