syntax = "proto3"; package api; import "google/api/annotations.proto"; import "google/protobuf/empty.proto"; import "workflow.proto"; import "label.proto"; service CronWorkflowService { rpc CreateCronWorkflow (CreateCronWorkflowRequest) returns (CronWorkflow) { option (google.api.http) = { post: "/apis/v1beta1/{namespace}/cron_workflow" body: "cronWorkflow" }; } rpc UpdateCronWorkflow(UpdateCronWorkflowRequest) returns (CronWorkflow) { option (google.api.http) = { post: "/apis/v1beta1/{namespace}/cron_workflow/{name}" 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" additional_bindings { get: "/apis/v1beta1/{namespace}/cron_workflows/{workflow_template_uid}" } }; } rpc TerminateCronWorkflow (TerminateCronWorkflowRequest) returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/apis/v1beta1/{namespace}/cron_workflows/{name}/terminate" }; } rpc GetCronWorkflowLabels (GetLabelsRequest) returns (GetLabelsResponse) { option (google.api.http) = { get: "/apis/v1beta1/{namespace}/cron_workflows/{name}/labels" }; } rpc AddCronWorkflowLabels (AddLabelsRequest) returns (GetLabelsResponse) { option (google.api.http) = { post: "/apis/v1beta1/{namespace}/cron_workflows/{name}/labels" body: "labels" }; } rpc ReplaceCronWorkflowLabels (ReplaceLabelsRequest) returns (GetLabelsResponse) { option (google.api.http) = { put: "/apis/v1beta1/{namespace}/cron_workflows/{name}/labels" body: "labels" }; } rpc DeleteCronWorkflowLabel (DeleteLabelRequest) returns (GetLabelsResponse) { option (google.api.http) = { delete: "/apis/v1beta1/{namespace}/cron_workflows/{name}/labels/{key}" }; } } message TerminateCronWorkflowRequest { string namespace = 1; string name = 2; } message GetCronWorkflowRequest { string namespace = 1; string name = 2; } message CreateCronWorkflowRequest { string namespace = 1; CronWorkflow cronWorkflow = 2; } message UpdateCronWorkflowRequest { string namespace = 1 ; string name = 2; CronWorkflow cronWorkflow = 3; } message ListCronWorkflowRequest { string namespace = 1; string workflow_template_uid = 2; int32 pageSize = 3; int32 page = 4; } message ListCronWorkflowsResponse { int32 count = 1; repeated CronWorkflow cronWorkflows = 2; int32 page = 3; int32 pages = 4; int32 totalCount = 5; } message CronWorkflow { string name = 1; string schedule = 2; string timezone = 3; bool suspend = 4; string concurrencyPolicy = 5; int64 startingDeadlineSeconds = 6; int32 successfulJobsHistoryLimit = 7; int32 failedJobsHistoryLimit = 8; WorkflowExecution workflowExecution = 9; }