syntax = "proto3"; package api; import "google/api/annotations.proto"; import "google/protobuf/empty.proto"; import "workflow_template.proto"; import "workflow.proto"; import "metric.proto"; service CronWorkflowService { rpc CreateCronWorkflow (CreateCronWorkflowRequest) returns (CronWorkflow) { option (google.api.http) = { post: "/apis/v1beta1/{namespace}/cron_workflow" body: "cronWorkflow" }; } rpc GetCronWorkflow(GetCronWorkflowRequest) returns (CronWorkflow) { option (google.api.http) = { get: "/apis/v1beta1/{namespace}/cron_workflow/{name}" }; } rpc ListCronWorkflows(ListCronWorkflowRequest) returns (ListCronWorkflowsResponse) { option (google.api.http) = { get: "/apis/v1beta1/{namespace}/cron_workflows" }; } } message GetCronWorkflowRequest { string namespace = 1; string name = 2; } message CreateCronWorkflowRequest { string namespace = 1; CronWorkflow cronWorkflow = 2; } message ListCronWorkflowRequest { string namespace = 1; int32 pageSize = 4; int32 page = 5; } message ListCronWorkflowsResponse { int32 count = 1; repeated CronWorkflow cronWorkflows = 2; int32 page = 3; int32 pages = 4; int32 totalCount = 5; } message CronWorkflow { string schedule = 1; string timezone = 2; bool suspend = 3; string concurrencyPolicy = 4; int64 startingDeadlineSeconds = 5; int32 successfulJobsHistoryLimit = 6; int32 failedJobsHistoryLimit = 7; WorkflowExecution workflowExecution = 8; }