mirror of
https://github.com/andwati/zitadel.git
synced 2026-11-11 16:45:13 +00:00
# Which Problems Are Solved We have not enough internal and external input about our ideas for the new API design. # How the Problems Are Solved We make the concepts easily accessible by publishing them in our docs and making them concise. # Additional Context - Contributes to #6305 - Replaces the PR #7821 which defines protos in more detail Only resources and settings are in the scope of this concept. A possible solution for defining the outscoped methods could for example look like this: ## ZITADELInsights query services for auditing, analytics and data synchronization. - Events - Milestones ## ZITADELOperations - Health - Failed Events - Views - Metrics (version, uptime etc.)
95 lines
2.9 KiB
Protocol Buffer
95 lines
2.9 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package zitadel.resources.action.v3alpha;
|
|
|
|
import "google/api/annotations.proto";
|
|
import "google/api/field_behavior.proto";
|
|
import "google/protobuf/duration.proto";
|
|
import "google/protobuf/struct.proto";
|
|
import "protoc-gen-openapiv2/options/annotations.proto";
|
|
import "validate/validate.proto";
|
|
import "zitadel/protoc_gen_zitadel/v2/options.proto";
|
|
|
|
import "zitadel/resources/object/v3alpha/object.proto";
|
|
|
|
option go_package = "github.com/zitadel/zitadel/pkg/grpc/resources/action/v3alpha;action";
|
|
|
|
message Target {
|
|
string name = 1 [
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
example: "\"ip_allow_list\"";
|
|
}
|
|
];
|
|
// Defines the target type and how the response of the target is treated.
|
|
oneof target_type {
|
|
SetRESTWebhook rest_webhook = 4;
|
|
SetRESTRequestResponse rest_request_response = 5;
|
|
}
|
|
// Timeout defines the duration until ZITADEL cancels the execution.
|
|
google.protobuf.Duration timeout = 6 [
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
example: "\"10s\"";
|
|
}
|
|
];
|
|
oneof execution_type {
|
|
// Set the execution to run asynchronously.
|
|
bool is_async = 7;
|
|
// Define if any error stops the whole execution. By default the process continues as normal.
|
|
bool interrupt_on_error = 8;
|
|
}
|
|
}
|
|
|
|
message GetTarget {
|
|
zitadel.resources.object.v3alpha.Details details = 1;
|
|
Target target = 2;
|
|
}
|
|
|
|
message PatchTarget {
|
|
optional string name = 1 [
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
example: "\"ip_allow_list\"";
|
|
}
|
|
];
|
|
// Defines the target type and how the response of the target is treated.
|
|
oneof target_type {
|
|
SetRESTWebhook rest_webhook = 3;
|
|
SetRESTRequestResponse rest_request_response = 4;
|
|
}
|
|
// Timeout defines the duration until ZITADEL cancels the execution.
|
|
optional google.protobuf.Duration timeout = 5 [
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
example: "\"10s\"";
|
|
}
|
|
];
|
|
oneof execution_type {
|
|
// Set the execution to run asynchronously.
|
|
bool is_async = 6;
|
|
// Define if any error stops the whole execution. By default the process continues as normal.
|
|
bool interrupt_on_error = 7;
|
|
}
|
|
}
|
|
|
|
message SetRESTWebhook {
|
|
string url = 1 [
|
|
(validate.rules).string = {min_len: 1, max_len: 1000, uri: true},
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
min_length: 1,
|
|
max_length: 1000,
|
|
example: "\"https://example.com/hooks/ip_check\"";
|
|
}
|
|
];
|
|
}
|
|
|
|
message SetRESTRequestResponse {
|
|
string url = 1 [
|
|
(validate.rules).string = {min_len: 1, max_len: 1000, uri: true},
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
|
min_length: 1,
|
|
max_length: 1000,
|
|
example: "\"https://example.com/hooks/ip_check\"";
|
|
}
|
|
];
|
|
}
|