diff --git a/proto/api/temporal/api/workflowservice/v1/service.proto b/proto/api/temporal/api/workflowservice/v1/service.proto index 57866c8537..e62d3cbf7f 100644 --- a/proto/api/temporal/api/workflowservice/v1/service.proto +++ b/proto/api/temporal/api/workflowservice/v1/service.proto @@ -462,7 +462,7 @@ service WorkflowService { // StartBatchOperation starts a new batch operation rpc StartBatchOperation (StartBatchOperationRequest) returns (StartBatchOperationResponse) { option (google.api.http) = { - post: "/api/v1/namespaces/{namespace}/workflows/batch/terminate" + post: "/api/v1/namespaces/{namespace}/batch-operations" body: "*" }; } @@ -470,7 +470,22 @@ service WorkflowService { // DescribeBatchOperation returns the information about a batch operation rpc DescribeBatchOperation (DescribeBatchOperationRequest) returns (DescribeBatchOperationResponse) { option (google.api.http) = { - get: "/api/v1/namespaces/{namespace}/workflows/batch/describe" + get: "/api/v1/namespaces/{namespace}/batch-operations/describe" + }; + } + + // ListBatchOperations returns the information about a batch operation + rpc ListBatchOperations (ListBatchOperationsRequest) returns (ListBatchOperationsResponse) { + option (google.api.http) = { + get: "/api/v1/namespaces/{namespace}/batch-operations" + }; + } + + // ListBatchOperations returns the information about a batch operation + rpc StopBatchOperation (StopBatchOperationRequest) returns (StopBatchOperationResponse) { + option (google.api.http) = { + put: "/api/v1/namespaces/{namespace}/batch-operations/stop", + body: "*" }; } } diff --git a/server/generated/api/workflowservice/v1/service.pb.go b/server/generated/api/workflowservice/v1/service.pb.go index 56b0558657..d05b691c0d 100644 --- a/server/generated/api/workflowservice/v1/service.pb.go +++ b/server/generated/api/workflowservice/v1/service.pb.go @@ -31,117 +31,121 @@ func init() { } var fileDescriptor_bded41be6e20a31f = []byte{ - // 1760 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5f, 0x6b, 0x1c, 0xd5, - 0x1b, 0xce, 0xd9, 0x8b, 0xdf, 0xc5, 0x81, 0xa4, 0xbf, 0x9e, 0xd6, 0x84, 0xa6, 0xed, 0xb4, 0xae, - 0x20, 0x1a, 0xc8, 0x4e, 0xd3, 0xd2, 0x34, 0x69, 0xda, 0xc4, 0x64, 0xd3, 0x26, 0xd5, 0x6a, 0xdb, - 0xa4, 0xa2, 0xf4, 0xc2, 0x38, 0x99, 0x3d, 0xdd, 0x0c, 0xd9, 0xcc, 0x6c, 0xe6, 0x9c, 0xd9, 0x1a, - 0x62, 0xb1, 0x88, 0x1f, 0xa0, 0x22, 0x8a, 0x54, 0xf4, 0x4a, 0x44, 0x05, 0x6d, 0x51, 0x14, 0xbc, - 0x2c, 0x08, 0x0a, 0xde, 0x04, 0x54, 0x28, 0xe2, 0x85, 0xdd, 0x16, 0x54, 0xf0, 0xa2, 0x1f, 0x41, - 0xce, 0xd9, 0x73, 0xa6, 0x3b, 0xb3, 0xf3, 0xe7, 0xcc, 0x6c, 0x5b, 0xef, 0x76, 0x93, 0xf7, 0x79, - 0xce, 0xf3, 0xbc, 0xef, 0xf9, 0xf3, 0xce, 0x9c, 0x85, 0xc3, 0x14, 0xaf, 0xd5, 0x1d, 0xd7, 0xa8, - 0xe9, 0x46, 0xdd, 0xd2, 0x2f, 0x39, 0xee, 0xea, 0xc5, 0x9a, 0x73, 0x89, 0x60, 0xb7, 0x61, 0x99, - 0x58, 0x6f, 0x8c, 0xe8, 0xe2, 0x63, 0xa9, 0xee, 0x3a, 0xd4, 0x41, 0xfb, 0x64, 0x78, 0xc9, 0xa8, - 0x5b, 0xa5, 0x50, 0x78, 0xa9, 0x31, 0x32, 0x38, 0x9a, 0xc6, 0xe7, 0xe2, 0x75, 0x0f, 0x13, 0xba, - 0xe4, 0x62, 0x52, 0x77, 0x6c, 0x22, 0x88, 0x07, 0xf7, 0x54, 0x1d, 0xa7, 0x5a, 0xc3, 0x1c, 0x65, - 0xd8, 0xb6, 0x43, 0x0d, 0x6a, 0x39, 0x36, 0x69, 0xfd, 0xf7, 0xe0, 0x9f, 0xa7, 0xe1, 0xb6, 0x97, - 0x04, 0xd7, 0x62, 0x8b, 0x0b, 0x7d, 0x06, 0xe0, 0xf6, 0x05, 0x5c, 0xb5, 0x08, 0xc5, 0xee, 0x0b, - 0xc6, 0x1a, 0x26, 0x75, 0xc3, 0xc4, 0x68, 0xbc, 0x94, 0xa2, 0xb0, 0xd4, 0x81, 0x59, 0x68, 0x29, - 0x1a, 0x3c, 0x9a, 0x07, 0xda, 0x32, 0x51, 0xdc, 0xfb, 0xe6, 0xcf, 0x77, 0xdf, 0x29, 0x0c, 0x14, - 0x11, 0x37, 0xd0, 0x18, 0xd1, 0x6d, 0x19, 0x42, 0x8e, 0x82, 0x21, 0xf4, 0x15, 0x80, 0xdb, 0x67, - 0x31, 0x31, 0x5d, 0x6b, 0x19, 0x67, 0xd1, 0xda, 0x81, 0x51, 0xd7, 0x1a, 0x01, 0x15, 0x5a, 0x9f, - 0xe4, 0x5a, 0xf7, 0x23, 0xad, 0x53, 0xab, 0xbe, 0xe9, 0x7f, 0xbe, 0x8c, 0x3e, 0x04, 0xb0, 0xef, - 0xb4, 0x45, 0xa8, 0xcf, 0x40, 0xd0, 0x68, 0xea, 0xb0, 0x41, 0x80, 0x94, 0x7b, 0x24, 0x33, 0x4e, - 0x68, 0x1d, 0xe4, 0x5a, 0x77, 0xa2, 0x88, 0xbc, 0xa2, 0xeb, 0x00, 0x6e, 0x7b, 0xb1, 0x5e, 0x31, - 0x68, 0x5b, 0x4a, 0xd3, 0x07, 0x0a, 0x21, 0xa4, 0xc2, 0xb1, 0xec, 0x40, 0x21, 0xf1, 0x69, 0x2e, - 0xf1, 0x89, 0xc1, 0x94, 0x74, 0xb2, 0x69, 0xf0, 0x0d, 0x80, 0x68, 0x16, 0xd7, 0x5d, 0x6c, 0x06, - 0x44, 0xab, 0x14, 0x33, 0x0c, 0x92, 0xba, 0x27, 0x72, 0x61, 0x83, 0x33, 0x61, 0x28, 0x6d, 0x26, - 0x34, 0x01, 0xec, 0x5f, 0xa4, 0x86, 0x4b, 0xe5, 0x1a, 0x3c, 0xf1, 0x1a, 0x36, 0x3d, 0xb6, 0x40, - 0xd1, 0x64, 0xea, 0xf8, 0xd1, 0x40, 0xa9, 0x7f, 0x2a, 0x37, 0x5e, 0x78, 0x98, 0xe3, 0x1e, 0xa6, - 0x8b, 0xc7, 0x92, 0x3d, 0xdc, 0xdf, 0x8a, 0xf4, 0x4d, 0xf9, 0x71, 0xc9, 0xaa, 0x5c, 0xd6, 0x09, - 0xa3, 0x67, 0xc5, 0x79, 0xbb, 0x00, 0x77, 0xcf, 0xe1, 0xce, 0x91, 0xe6, 0x2d, 0x42, 0x1d, 0x77, - 0x03, 0x95, 0x53, 0x95, 0x26, 0xa0, 0xa5, 0xdd, 0xd9, 0xee, 0x48, 0x84, 0xe7, 0x2a, 0xf7, 0x6c, - 0xa0, 0x25, 0x75, 0xcf, 0x58, 0x72, 0x95, 0x02, 0xee, 0x5d, 0xcf, 0x0e, 0xfc, 0xd3, 0xf5, 0x6c, - 0xfe, 0x77, 0xdc, 0xc0, 0x36, 0x25, 0xe8, 0xcb, 0x02, 0x2c, 0x26, 0x0a, 0x6a, 0x60, 0x97, 0x60, - 0xf4, 0x6c, 0x77, 0xae, 0x38, 0x89, 0xcc, 0xd0, 0x73, 0x0f, 0x84, 0x4b, 0x24, 0xca, 0xe1, 0x89, - 0xb2, 0x50, 0xf5, 0x21, 0x27, 0x4a, 0x77, 0x45, 0x26, 0xde, 0x07, 0xf0, 0xb1, 0xb3, 0x4e, 0xad, - 0x26, 0x05, 0x9e, 0x37, 0xc8, 0xea, 0x39, 0x0f, 0x7b, 0x18, 0x1d, 0x4f, 0xf5, 0x15, 0x89, 0x93, - 0x69, 0x99, 0xcc, 0x0b, 0x17, 0x99, 0xe8, 0x41, 0x5f, 0x00, 0xb8, 0xa7, 0xf5, 0xb5, 0xd2, 0x1e, - 0x56, 0x76, 0xd6, 0xea, 0x35, 0x4c, 0x71, 0x05, 0xcd, 0x2a, 0x9c, 0x7f, 0xf1, 0x70, 0x29, 0xf4, - 0x44, 0x97, 0x2c, 0xbe, 0xde, 0x8f, 0x01, 0xdc, 0x15, 0x11, 0x7a, 0xd2, 0xb0, 0x6a, 0xb8, 0x82, - 0xa6, 0xf3, 0x0c, 0xd3, 0xc2, 0x4a, 0xa5, 0x33, 0xdd, 0x50, 0xf8, 0x32, 0x65, 0xc5, 0xa7, 0x4d, - 0x6a, 0x35, 0x2c, 0xba, 0x91, 0xb5, 0xe2, 0x1d, 0xb8, 0x6c, 0x15, 0x8f, 0x80, 0xfb, 0xd2, 0x3e, - 0x07, 0x70, 0xf7, 0x02, 0x36, 0x1d, 0xb7, 0xd2, 0x1e, 0x35, 0x8f, 0x0d, 0x97, 0x2e, 0x63, 0x83, - 0x2a, 0xec, 0x68, 0x09, 0x68, 0xf5, 0x1d, 0x2d, 0x91, 0xc4, 0x17, 0xfb, 0x2d, 0x80, 0xfb, 0x12, - 0x22, 0x67, 0x36, 0x4e, 0x55, 0xd0, 0x5c, 0x37, 0x63, 0x31, 0x06, 0x29, 0x7a, 0xbe, 0x7b, 0xa2, - 0xa8, 0x75, 0xd5, 0x1e, 0x9e, 0x63, 0x5d, 0x45, 0xc2, 0x33, 0xaf, 0xab, 0x18, 0x16, 0x5f, 0xef, - 0x77, 0x00, 0xee, 0x4f, 0x0a, 0xe5, 0x99, 0x9e, 0xef, 0x6a, 0xb4, 0xf6, 0x54, 0x9f, 0x7a, 0x00, - 0x4c, 0x51, 0x7b, 0x42, 0x7b, 0x78, 0xd6, 0x3d, 0xa1, 0x13, 0x9b, 0x79, 0x4f, 0x88, 0xa2, 0xf0, - 0x65, 0xde, 0x00, 0x70, 0x6f, 0x6c, 0x1c, 0xcf, 0xef, 0x89, 0xfc, 0xe3, 0xb4, 0x27, 0xf7, 0x64, - 0xb7, 0x34, 0xa1, 0xbd, 0xa2, 0xb3, 0x10, 0x86, 0x6d, 0x62, 0x96, 0xdb, 0x72, 0xae, 0x32, 0x0a, - 0x74, 0x96, 0xbd, 0x22, 0x81, 0x24, 0xb4, 0x57, 0xc4, 0x46, 0x2a, 0xef, 0x15, 0x89, 0x0c, 0x59, - 0xf6, 0x8a, 0x14, 0x22, 0x5f, 0xf8, 0xf5, 0x02, 0xd4, 0x04, 0x6f, 0x2b, 0xa2, 0xb3, 0xa1, 0x56, - 0x29, 0x69, 0x12, 0x81, 0x94, 0x3d, 0xd7, 0x35, 0x8f, 0x50, 0xfd, 0x3a, 0xef, 0xa1, 0x1a, 0xc5, - 0xf5, 0x1c, 0x0d, 0x76, 0x62, 0x33, 0x15, 0x11, 0x25, 0xbb, 0x2a, 0x93, 0x6b, 0x62, 0x5d, 0xf9, - 0xb5, 0x02, 0x1c, 0x58, 0xb4, 0xaa, 0xb6, 0x11, 0x91, 0x2a, 0x85, 0x67, 0x87, 0x68, 0xa4, 0xcc, - 0xd1, 0x33, 0xf9, 0x09, 0xfe, 0xc3, 0xe4, 0x10, 0xae, 0x89, 0x25, 0x87, 0x6d, 0xe5, 0x42, 0xa1, - 0x45, 0x57, 0x62, 0x9e, 0xd0, 0xe6, 0x55, 0x4d, 0xc6, 0x52, 0xa8, 0x6f, 0xe5, 0xe9, 0x4c, 0xfe, - 0x52, 0x78, 0xaf, 0x00, 0xfb, 0x17, 0x30, 0xc1, 0xb9, 0x9e, 0x29, 0xa3, 0x81, 0xea, 0xcf, 0x94, - 0x71, 0x78, 0xa1, 0x6e, 0x93, 0x57, 0xd5, 0x2b, 0xd6, 0x1f, 0x61, 0x55, 0x5d, 0x26, 0x89, 0x15, - 0xf5, 0x93, 0x02, 0x1c, 0x3c, 0x8f, 0xdd, 0x35, 0xcb, 0x36, 0x28, 0xee, 0x4c, 0x4e, 0xfa, 0x09, - 0x15, 0x0f, 0x96, 0x09, 0x2a, 0x77, 0xc5, 0x21, 0x92, 0xf4, 0x06, 0x4f, 0xd2, 0x46, 0x91, 0x3e, - 0xc2, 0x24, 0x51, 0x29, 0x8b, 0x25, 0xea, 0x77, 0x00, 0x07, 0x4f, 0x5b, 0x84, 0x9e, 0xa9, 0x63, - 0xbb, 0x43, 0x26, 0x51, 0x48, 0x54, 0x3c, 0x58, 0x3d, 0x51, 0x49, 0x1c, 0x22, 0x51, 0x87, 0x79, - 0xa2, 0x74, 0x34, 0xac, 0x9c, 0x28, 0xa7, 0x8e, 0x6d, 0x74, 0x17, 0xc0, 0x3d, 0x8c, 0xbd, 0x5c, - 0x73, 0x08, 0xae, 0x44, 0x18, 0x9c, 0x55, 0x12, 0x17, 0x07, 0x57, 0xef, 0x2b, 0x93, 0x59, 0x84, - 0xc9, 0x23, 0xdc, 0xe4, 0x08, 0xd2, 0x95, 0x4d, 0x9a, 0x9c, 0x12, 0xfd, 0x04, 0x60, 0x3f, 0x1b, - 0x21, 0xc2, 0xe0, 0xa4, 0x92, 0xb4, 0x78, 0x6b, 0x53, 0xb9, 0xf1, 0xc2, 0xd4, 0x01, 0x6e, 0x6a, - 0x08, 0x3d, 0xa5, 0x6a, 0x0a, 0xfd, 0x03, 0xa0, 0xc6, 0x48, 0xa7, 0x5d, 0x73, 0xc5, 0x6a, 0x44, - 0x96, 0xed, 0xa4, 0x92, 0xaa, 0x78, 0x02, 0xf5, 0x03, 0x3e, 0x8d, 0x47, 0xb8, 0x1c, 0xe7, 0x2e, - 0x0f, 0xa1, 0x11, 0xe5, 0xd2, 0x19, 0x82, 0x14, 0x7d, 0x00, 0x60, 0xff, 0xa2, 0x69, 0xd8, 0xb9, - 0x8a, 0x17, 0x0d, 0xcc, 0xf0, 0x62, 0x30, 0x06, 0xef, 0x1f, 0x31, 0xbf, 0x00, 0x38, 0x50, 0x76, - 0x3c, 0x3b, 0x6a, 0x6e, 0xa5, 0xd3, 0xc7, 0x20, 0xd5, 0x7b, 0x87, 0x58, 0x02, 0x21, 0x70, 0x94, - 0xe7, 0xfd, 0x00, 0x2a, 0xa9, 0x2f, 0x19, 0xc6, 0x88, 0xbe, 0x06, 0x70, 0xc7, 0x1c, 0xa6, 0x8b, - 0x98, 0x95, 0x61, 0x9a, 0x52, 0xd7, 0x5a, 0xf6, 0x28, 0x26, 0x68, 0x42, 0xe5, 0xcd, 0x59, 0x18, - 0x25, 0xed, 0x1c, 0xcb, 0x07, 0x16, 0x56, 0x1e, 0xe7, 0x56, 0x76, 0xa3, 0x5d, 0xd2, 0x0a, 0xe1, - 0x91, 0xc3, 0xc6, 0x7d, 0x75, 0x6d, 0x8f, 0x6e, 0xe7, 0x3c, 0xec, 0x86, 0x9e, 0x91, 0x95, 0x1f, - 0xdd, 0x3a, 0xb1, 0x99, 0x1f, 0xdd, 0xa2, 0x28, 0xfc, 0x39, 0xf3, 0x2e, 0x80, 0x3b, 0x79, 0x77, - 0xb0, 0x48, 0x2d, 0x73, 0xb5, 0xed, 0x6d, 0xce, 0x31, 0xb5, 0xa6, 0x22, 0x04, 0x93, 0xe2, 0x8e, - 0xe7, 0x44, 0xfb, 0xba, 0xfe, 0x06, 0xb0, 0x97, 0x0b, 0x97, 0x13, 0x0a, 0x1d, 0x4e, 0xa5, 0x0c, - 0xc4, 0x4b, 0x25, 0xa3, 0x59, 0x61, 0x42, 0x82, 0xc5, 0x4b, 0x6c, 0x16, 0x5f, 0x79, 0x68, 0xaf, - 0x52, 0xd7, 0xd9, 0xb8, 0xec, 0x60, 0x7f, 0xab, 0x00, 0x77, 0xc9, 0xeb, 0xab, 0xce, 0x06, 0x68, - 0x5a, 0xf9, 0xea, 0x2b, 0xb6, 0xff, 0x99, 0xe9, 0x86, 0x42, 0xe4, 0xe3, 0x55, 0x9e, 0x8f, 0x0b, - 0xe8, 0xe5, 0x87, 0x95, 0x0f, 0xb4, 0xd5, 0x76, 0x69, 0x78, 0x7f, 0x1e, 0xaa, 0x5f, 0x1a, 0x76, - 0x4c, 0xc2, 0xa3, 0x79, 0xa0, 0xc2, 0xee, 0x2c, 0xb7, 0x3b, 0x89, 0xd2, 0xae, 0x59, 0xa8, 0x41, - 0x56, 0x87, 0xd7, 0x19, 0x94, 0xe8, 0x9b, 0xec, 0xcb, 0x12, 0xff, 0x52, 0x62, 0x21, 0x97, 0xd1, - 0x35, 0x00, 0xfb, 0xe6, 0x30, 0x2d, 0xd7, 0x3c, 0x42, 0xb1, 0x7b, 0xca, 0xbe, 0xe8, 0x28, 0x5c, - 0x29, 0x06, 0x01, 0xea, 0x57, 0x8a, 0x61, 0x9c, 0x70, 0x32, 0xc0, 0x9d, 0x6c, 0x47, 0xdb, 0xa4, - 0x13, 0xb3, 0x15, 0x84, 0xae, 0x00, 0xd8, 0xcb, 0x36, 0xb9, 0x0d, 0x42, 0xf1, 0x1a, 0xd7, 0x76, - 0x58, 0x69, 0x53, 0xf4, 0xe3, 0xd5, 0x97, 0x58, 0x08, 0xe6, 0xaf, 0xf2, 0x8f, 0x00, 0x1c, 0x60, - 0xa7, 0xb6, 0x9f, 0xff, 0xb3, 0x86, 0x4b, 0x2d, 0xd5, 0x13, 0x2b, 0x06, 0xa9, 0x7e, 0x62, 0xc5, - 0x12, 0xb4, 0xbf, 0x79, 0xe9, 0x2b, 0xbb, 0xd8, 0xa0, 0x78, 0xd1, 0x5c, 0xc1, 0x15, 0xaf, 0x86, - 0x15, 0x0a, 0x18, 0x04, 0xa8, 0x17, 0x30, 0x8c, 0x13, 0x2a, 0x0e, 0xf1, 0x02, 0x0e, 0x17, 0xd3, - 0xba, 0x32, 0x22, 0x80, 0xfc, 0x06, 0xfe, 0x07, 0x00, 0xff, 0x2f, 0x67, 0xb7, 0x2f, 0x7d, 0x4c, - 0x79, 0x41, 0x84, 0xc5, 0x8f, 0xe7, 0x40, 0x0a, 0xf9, 0x93, 0x5c, 0xfe, 0x18, 0x1a, 0x55, 0x95, - 0xaf, 0x6f, 0xca, 0x8f, 0x7c, 0x5b, 0xf8, 0x1e, 0xc0, 0xbe, 0xd6, 0x5d, 0x74, 0x86, 0x12, 0x04, - 0x01, 0xea, 0x25, 0x08, 0xe3, 0x84, 0x87, 0x69, 0xee, 0x61, 0xa2, 0x98, 0xd3, 0x03, 0x2b, 0xc8, - 0x4d, 0x00, 0x7b, 0xcf, 0x1a, 0xd4, 0x5c, 0xf1, 0x5d, 0xa4, 0xaf, 0xb6, 0x40, 0xbc, 0xfa, 0x6a, - 0x0b, 0xc1, 0x82, 0x1e, 0x0e, 0x76, 0xe1, 0x81, 0xf5, 0x34, 0x6c, 0xcd, 0x48, 0xee, 0xe7, 0xd9, - 0x40, 0x96, 0x5d, 0x3d, 0x6f, 0xad, 0x61, 0xa2, 0x70, 0x50, 0xc5, 0x62, 0xd5, 0x0f, 0xaa, 0x04, - 0x0a, 0x7f, 0xd1, 0xde, 0x04, 0xb0, 0x6f, 0x16, 0xb3, 0x4e, 0x27, 0xc3, 0x8c, 0x09, 0x02, 0xd4, - 0x67, 0x4c, 0x18, 0x17, 0x9c, 0xf5, 0x43, 0x79, 0x67, 0xfd, 0x0d, 0x00, 0x7b, 0xdb, 0xbd, 0x12, - 0x85, 0xe9, 0x12, 0x88, 0x57, 0x9f, 0x2e, 0x21, 0x58, 0xc6, 0x67, 0x41, 0xdf, 0x00, 0xfa, 0x15, - 0xc0, 0x1d, 0xfc, 0x35, 0xd8, 0x0c, 0xab, 0xcb, 0x99, 0x3a, 0x76, 0xf9, 0x6f, 0x9a, 0x14, 0xfa, - 0xf4, 0x08, 0x94, 0x7a, 0x9f, 0x1e, 0x09, 0x16, 0x26, 0xca, 0xdc, 0xc4, 0xf1, 0xe2, 0x98, 0x72, - 0xd3, 0xb2, 0xcc, 0x88, 0x82, 0xef, 0x5d, 0x7e, 0x03, 0xb0, 0x5f, 0xee, 0x6e, 0x21, 0x6b, 0x93, - 0xca, 0xdb, 0x62, 0xb4, 0xbb, 0xa9, 0xdc, 0x78, 0x61, 0x70, 0x8a, 0x1b, 0x1c, 0x47, 0x47, 0x32, - 0x1a, 0xac, 0x48, 0xda, 0xab, 0x60, 0xeb, 0xb6, 0xd6, 0x73, 0xeb, 0xb6, 0xd6, 0x73, 0xef, 0xb6, - 0x06, 0xae, 0x34, 0x35, 0xf0, 0x69, 0x53, 0x03, 0x3f, 0x36, 0x35, 0xb0, 0xd5, 0xd4, 0xc0, 0x1f, - 0x4d, 0x0d, 0xfc, 0xd5, 0xd4, 0x7a, 0xee, 0x35, 0x35, 0x70, 0xf5, 0x8e, 0xd6, 0xb3, 0x75, 0x47, - 0xeb, 0xb9, 0x75, 0x47, 0xeb, 0xb9, 0x70, 0xa1, 0x6a, 0xd1, 0x15, 0x6f, 0xb9, 0x64, 0x3a, 0x6b, - 0xba, 0xb4, 0x60, 0x39, 0xba, 0x67, 0x0d, 0x33, 0xed, 0xd8, 0xd5, 0x1b, 0x07, 0x75, 0xf1, 0xa9, - 0x8a, 0x6d, 0xa6, 0x1a, 0x57, 0x62, 0x7e, 0x21, 0x37, 0x11, 0xfa, 0xd3, 0xf2, 0xff, 0xf8, 0x6f, - 0xe0, 0x0e, 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x8d, 0x3d, 0x9e, 0xab, 0x27, 0x00, 0x00, + // 1824 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0xcf, 0x6f, 0x1b, 0x45, + 0x14, 0xce, 0xf8, 0xc0, 0x61, 0xa4, 0xa4, 0x74, 0x5a, 0x12, 0xd5, 0x6d, 0xb7, 0xc5, 0x48, 0x08, + 0x22, 0xc5, 0xdb, 0xf4, 0x47, 0x9a, 0x1f, 0x6d, 0xd2, 0xc4, 0x69, 0x93, 0x42, 0xa1, 0x6d, 0x5c, + 0x04, 0xea, 0x81, 0xb0, 0x59, 0x4f, 0x9d, 0x55, 0x9c, 0x5d, 0x67, 0x67, 0xec, 0x12, 0x85, 0x8a, + 0x0a, 0xf1, 0x07, 0x14, 0x21, 0x10, 0x2a, 0x82, 0x13, 0x42, 0x80, 0x04, 0xad, 0x40, 0x20, 0x71, + 0xac, 0x84, 0x04, 0x08, 0x84, 0x22, 0xc1, 0xa1, 0x12, 0x1c, 0xa8, 0xdb, 0x03, 0x48, 0x1c, 0xfa, + 0x07, 0x70, 0x40, 0x33, 0x9e, 0xd9, 0x7a, 0xd7, 0xbb, 0xde, 0xd9, 0x75, 0x5b, 0x6e, 0x76, 0xf2, + 0xbe, 0x6f, 0xbe, 0xef, 0xbd, 0x99, 0x37, 0x33, 0xbb, 0x86, 0x43, 0x14, 0xaf, 0x56, 0x1d, 0xd7, + 0xa8, 0xe8, 0x46, 0xd5, 0xd2, 0x2f, 0x3a, 0xee, 0xca, 0x85, 0x8a, 0x73, 0x91, 0x60, 0xb7, 0x6e, + 0x99, 0x58, 0xaf, 0x0f, 0xeb, 0xe2, 0x63, 0xbe, 0xea, 0x3a, 0xd4, 0x41, 0x7b, 0x64, 0x78, 0xde, + 0xa8, 0x5a, 0xf9, 0x40, 0x78, 0xbe, 0x3e, 0x9c, 0x1d, 0x89, 0xe3, 0x73, 0xf1, 0x5a, 0x0d, 0x13, + 0xba, 0xe8, 0x62, 0x52, 0x75, 0x6c, 0x22, 0x88, 0xb3, 0xbb, 0xca, 0x8e, 0x53, 0xae, 0x60, 0x8e, + 0x32, 0x6c, 0xdb, 0xa1, 0x06, 0xb5, 0x1c, 0x9b, 0x34, 0xff, 0xbb, 0xff, 0xdf, 0xd3, 0x70, 0xcb, + 0x8b, 0x82, 0xab, 0xd8, 0xe4, 0x42, 0x9f, 0x02, 0xb8, 0x75, 0x01, 0x97, 0x2d, 0x42, 0xb1, 0xfb, + 0xbc, 0xb1, 0x8a, 0x49, 0xd5, 0x30, 0x31, 0x1a, 0xcb, 0xc7, 0x28, 0xcc, 0xb7, 0x61, 0x16, 0x9a, + 0x8a, 0xb2, 0xe3, 0x69, 0xa0, 0x4d, 0x13, 0xb9, 0xdd, 0x6f, 0xfc, 0x7a, 0xe7, 0xed, 0xcc, 0x40, + 0x0e, 0x71, 0x03, 0xf5, 0x61, 0xdd, 0x96, 0x21, 0x64, 0x1c, 0x0c, 0xa2, 0x2f, 0x01, 0xdc, 0x3a, + 0x8b, 0x89, 0xe9, 0x5a, 0x4b, 0x38, 0x89, 0xd6, 0x36, 0x8c, 0xba, 0xd6, 0x10, 0xa8, 0xd0, 0xfa, + 0x24, 0xd7, 0xba, 0x17, 0x69, 0xed, 0x5a, 0xf5, 0x0d, 0xef, 0xf3, 0x25, 0xf4, 0x01, 0x80, 0x7d, + 0xa7, 0x2c, 0x42, 0x3d, 0x06, 0x82, 0x46, 0x62, 0x87, 0xf5, 0x03, 0xa4, 0xdc, 0xc3, 0x89, 0x71, + 0x42, 0x6b, 0x96, 0x6b, 0xdd, 0x8e, 0x42, 0xf2, 0x8a, 0xae, 0x01, 0xb8, 0xe5, 0x85, 0x6a, 0xc9, + 0xa0, 0x2d, 0x29, 0x8d, 0x1f, 0x28, 0x80, 0x90, 0x0a, 0x47, 0x93, 0x03, 0x85, 0xc4, 0xa7, 0xb9, + 0xc4, 0x27, 0xb2, 0x31, 0xe9, 0x64, 0xd3, 0xe0, 0x6b, 0x00, 0xd1, 0x2c, 0xae, 0xba, 0xd8, 0xf4, + 0x89, 0x56, 0x29, 0x66, 0x10, 0x24, 0x75, 0x4f, 0xa4, 0xc2, 0xfa, 0x67, 0xc2, 0x60, 0xdc, 0x4c, + 0x68, 0x00, 0xd8, 0x5f, 0xa4, 0x86, 0x4b, 0xe5, 0x1a, 0x3c, 0xfe, 0x2a, 0x36, 0x6b, 0x6c, 0x81, + 0xa2, 0xc9, 0xd8, 0xf1, 0xc3, 0x81, 0x52, 0xff, 0x54, 0x6a, 0xbc, 0xf0, 0x30, 0xc7, 0x3d, 0x4c, + 0xe7, 0x8e, 0x74, 0xf6, 0x70, 0xaf, 0x15, 0xe9, 0x1b, 0xf2, 0xe3, 0xa2, 0x55, 0xba, 0xa4, 0x13, + 0x46, 0xcf, 0x8a, 0xf3, 0x56, 0x06, 0xee, 0x9c, 0xc3, 0xed, 0x23, 0xcd, 0x5b, 0x84, 0x3a, 0xee, + 0x3a, 0x2a, 0xc4, 0x2a, 0xed, 0x80, 0x96, 0x76, 0x67, 0xbb, 0x23, 0x11, 0x9e, 0xcb, 0xdc, 0xb3, + 0x81, 0x16, 0xd5, 0x3d, 0x63, 0xc9, 0x95, 0xf7, 0xb9, 0x77, 0x6b, 0xb6, 0xef, 0x9f, 0x6e, 0xcd, + 0xe6, 0x7f, 0xc7, 0x75, 0x6c, 0x53, 0x82, 0xbe, 0xc8, 0xc0, 0x5c, 0x47, 0x41, 0x75, 0xec, 0x12, + 0x8c, 0x9e, 0xe9, 0xce, 0x15, 0x27, 0x91, 0x19, 0x7a, 0xf6, 0xbe, 0x70, 0x89, 0x44, 0x39, 0x3c, + 0x51, 0x16, 0x2a, 0x3f, 0xe0, 0x44, 0xe9, 0xae, 0xc8, 0xc4, 0x7b, 0x00, 0x3e, 0x76, 0xc6, 0xa9, + 0x54, 0xa4, 0xc0, 0x73, 0x06, 0x59, 0x39, 0x5b, 0xc3, 0x35, 0x8c, 0x8e, 0xc6, 0xfa, 0x0a, 0xc5, + 0xc9, 0xb4, 0x4c, 0xa6, 0x85, 0x8b, 0x4c, 0xf4, 0xa0, 0xcf, 0x01, 0xdc, 0xd5, 0xfc, 0x5a, 0x6a, + 0x0d, 0x2b, 0x38, 0xab, 0xd5, 0x0a, 0xa6, 0xb8, 0x84, 0x66, 0x15, 0xf6, 0xbf, 0x68, 0xb8, 0x14, + 0x7a, 0xbc, 0x4b, 0x16, 0x4f, 0xef, 0x47, 0x00, 0xee, 0x08, 0x09, 0x3d, 0x61, 0x58, 0x15, 0x5c, + 0x42, 0xd3, 0x69, 0x86, 0x69, 0x62, 0xa5, 0xd2, 0x99, 0x6e, 0x28, 0x3c, 0x99, 0xb2, 0xe2, 0xd3, + 0x26, 0xb5, 0xea, 0x16, 0x5d, 0x4f, 0x5a, 0xf1, 0x36, 0x5c, 0xb2, 0x8a, 0x87, 0xc0, 0x3d, 0x69, + 0x9f, 0x01, 0xb8, 0x73, 0x01, 0x9b, 0x8e, 0x5b, 0x6a, 0x8d, 0x9a, 0xc7, 0x86, 0x4b, 0x97, 0xb0, + 0x41, 0x15, 0x3a, 0x5a, 0x07, 0xb4, 0x7a, 0x47, 0xeb, 0x48, 0xe2, 0x89, 0xfd, 0x06, 0xc0, 0x3d, + 0x1d, 0x22, 0x67, 0xd6, 0x4f, 0x96, 0xd0, 0x5c, 0x37, 0x63, 0x31, 0x06, 0x29, 0x7a, 0xbe, 0x7b, + 0xa2, 0xb0, 0x75, 0xd5, 0x1a, 0x9e, 0x62, 0x5d, 0x85, 0xc2, 0x13, 0xaf, 0xab, 0x08, 0x16, 0x4f, + 0xef, 0xb7, 0x00, 0xee, 0xed, 0x14, 0xca, 0x33, 0x3d, 0xdf, 0xd5, 0x68, 0xad, 0xa9, 0x3e, 0x79, + 0x1f, 0x98, 0xc2, 0x7a, 0x42, 0x6b, 0x78, 0xd2, 0x9e, 0xd0, 0x8e, 0x4d, 0xdc, 0x13, 0xc2, 0x28, + 0x3c, 0x99, 0xd7, 0x01, 0xdc, 0x1d, 0x19, 0xc7, 0xf3, 0x7b, 0x3c, 0xfd, 0x38, 0xad, 0xc9, 0x3d, + 0xd1, 0x2d, 0x4d, 0xa0, 0x57, 0xb4, 0x17, 0xc2, 0xb0, 0x4d, 0xcc, 0x72, 0x5b, 0x48, 0x55, 0x46, + 0x81, 0x4e, 0xd2, 0x2b, 0x3a, 0x90, 0x04, 0x7a, 0x45, 0x64, 0xa4, 0x72, 0xaf, 0xe8, 0xc8, 0x90, + 0xa4, 0x57, 0xc4, 0x10, 0x79, 0xc2, 0xaf, 0x65, 0xa0, 0x26, 0x78, 0x9b, 0x11, 0xed, 0x07, 0x6a, + 0x95, 0x92, 0x76, 0x22, 0x90, 0xb2, 0xe7, 0xba, 0xe6, 0x11, 0xaa, 0x5f, 0xe3, 0x67, 0xa8, 0x7a, + 0x6e, 0x2d, 0xc5, 0x01, 0xbb, 0xe3, 0x61, 0x2a, 0x24, 0x4a, 0x9e, 0xaa, 0x4c, 0xae, 0x89, 0x9d, + 0xca, 0xaf, 0x66, 0xe0, 0x40, 0xd1, 0x2a, 0xdb, 0x46, 0x48, 0xaa, 0x14, 0xee, 0x0e, 0xe1, 0x48, + 0x99, 0xa3, 0x63, 0xe9, 0x09, 0xfe, 0xc7, 0xe4, 0x10, 0xae, 0x89, 0x25, 0x87, 0xb5, 0x72, 0xa1, + 0xd0, 0xa2, 0xcb, 0x11, 0x37, 0xb4, 0x79, 0x55, 0x93, 0x91, 0x14, 0xea, 0xad, 0x3c, 0x9e, 0xc9, + 0x5b, 0x0a, 0xef, 0x66, 0x60, 0xff, 0x02, 0x26, 0x38, 0xd5, 0x9d, 0x32, 0x1c, 0xa8, 0x7e, 0xa7, + 0x8c, 0xc2, 0x0b, 0x75, 0x1b, 0xbc, 0xaa, 0xb5, 0x5c, 0xf5, 0x21, 0x56, 0xd5, 0x65, 0x92, 0x58, + 0x51, 0x3f, 0xce, 0xc0, 0xec, 0x39, 0xec, 0xae, 0x5a, 0xb6, 0x41, 0x71, 0x7b, 0x72, 0xe2, 0x77, + 0xa8, 0x68, 0xb0, 0x4c, 0x50, 0xa1, 0x2b, 0x0e, 0x91, 0xa4, 0xd7, 0x79, 0x92, 0xd6, 0x73, 0xf4, + 0x21, 0x26, 0x89, 0x4a, 0x59, 0x2c, 0x51, 0x7f, 0x00, 0x98, 0x3d, 0x65, 0x11, 0x7a, 0xba, 0x8a, + 0xed, 0x36, 0x99, 0x44, 0x21, 0x51, 0xd1, 0x60, 0xf5, 0x44, 0x75, 0xe2, 0x10, 0x89, 0x3a, 0xc4, + 0x13, 0xa5, 0xa3, 0x21, 0xe5, 0x44, 0x39, 0x55, 0x6c, 0xa3, 0x3b, 0x00, 0xee, 0x62, 0xec, 0x85, + 0x8a, 0x43, 0x70, 0x29, 0xc4, 0xe0, 0xac, 0x92, 0xb8, 0x28, 0xb8, 0xfa, 0xb9, 0xb2, 0x33, 0x8b, + 0x30, 0x79, 0x98, 0x9b, 0x1c, 0x46, 0xba, 0xb2, 0x49, 0x93, 0x53, 0xa2, 0x9f, 0x00, 0xec, 0x67, + 0x23, 0x84, 0x18, 0x9c, 0x54, 0x92, 0x16, 0x6d, 0x6d, 0x2a, 0x35, 0x5e, 0x98, 0xda, 0xc7, 0x4d, + 0x0d, 0xa2, 0xa7, 0x54, 0x4d, 0xa1, 0x7f, 0x00, 0xd4, 0x18, 0xe9, 0xb4, 0x6b, 0x2e, 0x5b, 0xf5, + 0xd0, 0xb2, 0x9d, 0x50, 0x52, 0x15, 0x4d, 0xa0, 0xbe, 0xc1, 0xc7, 0xf1, 0x08, 0x97, 0x63, 0xdc, + 0xe5, 0x01, 0x34, 0xac, 0x5c, 0x3a, 0x43, 0x90, 0xa2, 0xf7, 0x01, 0xec, 0x2f, 0x9a, 0x86, 0x9d, + 0xaa, 0x78, 0xe1, 0xc0, 0x04, 0x0f, 0x06, 0x23, 0xf0, 0xde, 0x16, 0xf3, 0x1b, 0x80, 0x03, 0x05, + 0xa7, 0x66, 0x87, 0xcd, 0xad, 0x78, 0xfa, 0x08, 0xa4, 0xfa, 0xd9, 0x21, 0x92, 0x40, 0x08, 0x1c, + 0xe1, 0x79, 0xdf, 0x87, 0xf2, 0xea, 0x4b, 0x86, 0x31, 0xa2, 0xaf, 0x00, 0xdc, 0x36, 0x87, 0x69, + 0x11, 0xb3, 0x32, 0x4c, 0x53, 0xea, 0x5a, 0x4b, 0x35, 0x8a, 0x09, 0x9a, 0x50, 0x79, 0x72, 0x16, + 0x44, 0x49, 0x3b, 0x47, 0xd2, 0x81, 0x85, 0x95, 0xc7, 0xb9, 0x95, 0x9d, 0x68, 0x87, 0xb4, 0x42, + 0x78, 0xe4, 0x90, 0x71, 0x4f, 0x5d, 0xcb, 0xd5, 0xed, 0x6c, 0x0d, 0xbb, 0x81, 0x3b, 0xb2, 0xf2, + 0xd5, 0xad, 0x1d, 0x9b, 0xf8, 0xea, 0x16, 0x46, 0xe1, 0xcd, 0x99, 0x77, 0x00, 0xdc, 0xce, 0x4f, + 0x07, 0x45, 0x6a, 0x99, 0x2b, 0x2d, 0x4f, 0x73, 0x8e, 0xa8, 0x1d, 0x2a, 0x02, 0x30, 0x29, 0xee, + 0x68, 0x4a, 0xb4, 0xa7, 0xeb, 0x6f, 0x00, 0x7b, 0xb9, 0x70, 0x39, 0xa1, 0xd0, 0xa1, 0x58, 0x4a, + 0x5f, 0xbc, 0x54, 0x32, 0x92, 0x14, 0x26, 0x24, 0x58, 0xbc, 0xc4, 0x66, 0xee, 0xe5, 0x07, 0xf6, + 0x28, 0x75, 0x8d, 0x8d, 0xcb, 0x36, 0xf6, 0x37, 0x33, 0x70, 0x87, 0x7c, 0x7d, 0xd5, 0x7e, 0x00, + 0x9a, 0x56, 0x7e, 0xf5, 0x15, 0x79, 0xfe, 0x99, 0xe9, 0x86, 0x42, 0xe4, 0xe3, 0x15, 0x9e, 0x8f, + 0xf3, 0xe8, 0xa5, 0x07, 0x95, 0x0f, 0xb4, 0xd9, 0xf2, 0xd2, 0xf0, 0xde, 0x3c, 0x54, 0x7f, 0x69, + 0xd8, 0x36, 0x09, 0xc7, 0xd3, 0x40, 0x85, 0xdd, 0x59, 0x6e, 0x77, 0x12, 0xc5, 0xbd, 0x66, 0xa1, + 0x06, 0x59, 0x19, 0x5a, 0x63, 0x50, 0xa2, 0x6f, 0xb0, 0x2f, 0x8b, 0xfc, 0x4b, 0x9e, 0x85, 0x5c, + 0x42, 0x57, 0x01, 0xec, 0x9b, 0xc3, 0xb4, 0x50, 0xa9, 0x11, 0x8a, 0xdd, 0x93, 0xf6, 0x05, 0x47, + 0xe1, 0x95, 0xa2, 0x1f, 0xa0, 0xfe, 0x4a, 0x31, 0x88, 0x13, 0x4e, 0x06, 0xb8, 0x93, 0xad, 0x68, + 0x8b, 0x74, 0x62, 0x36, 0x83, 0xd0, 0x65, 0x00, 0x7b, 0x59, 0x93, 0x5b, 0x27, 0x14, 0xaf, 0x72, + 0x6d, 0x87, 0x94, 0x9a, 0xa2, 0x17, 0xaf, 0xbe, 0xc4, 0x02, 0x30, 0x6f, 0x95, 0x7f, 0x08, 0xe0, + 0x00, 0xdb, 0xb5, 0xbd, 0xfc, 0x9f, 0x31, 0x5c, 0x6a, 0xa9, 0xee, 0x58, 0x11, 0x48, 0xf5, 0x1d, + 0x2b, 0x92, 0xa0, 0xf5, 0xc9, 0x4b, 0x5f, 0xc1, 0xc5, 0x06, 0xc5, 0x45, 0x73, 0x19, 0x97, 0x6a, + 0x15, 0xac, 0x50, 0x40, 0x3f, 0x40, 0xbd, 0x80, 0x41, 0x9c, 0x50, 0x71, 0x80, 0x17, 0x70, 0x28, + 0x17, 0x77, 0x2a, 0x23, 0x02, 0xc8, 0xdf, 0xc0, 0x7f, 0x0f, 0xe0, 0xa3, 0x72, 0x76, 0x7b, 0xd2, + 0x47, 0x95, 0x17, 0x44, 0x50, 0xfc, 0x58, 0x0a, 0xa4, 0x90, 0x3f, 0xc9, 0xe5, 0x8f, 0xa2, 0x11, + 0x55, 0xf9, 0xfa, 0x86, 0xfc, 0xc8, 0xdb, 0xc2, 0x77, 0x00, 0xf6, 0x35, 0xdf, 0x45, 0x27, 0x28, + 0x81, 0x1f, 0xa0, 0x5e, 0x82, 0x20, 0x4e, 0x78, 0x98, 0xe6, 0x1e, 0x26, 0x72, 0x29, 0x3d, 0xb0, + 0x82, 0xdc, 0x00, 0xb0, 0xf7, 0x8c, 0x41, 0xcd, 0x65, 0xcf, 0x45, 0xfc, 0x6a, 0xf3, 0xc5, 0xab, + 0xaf, 0xb6, 0x00, 0xcc, 0xef, 0x61, 0x7f, 0x17, 0x1e, 0xd8, 0x99, 0x86, 0xad, 0x19, 0xc9, 0xfd, + 0x1c, 0x1b, 0xc8, 0xb2, 0xcb, 0xe7, 0xac, 0x55, 0x4c, 0x14, 0x36, 0xaa, 0x48, 0xac, 0xfa, 0x46, + 0xd5, 0x81, 0xc2, 0x5b, 0xb4, 0x37, 0x00, 0xec, 0x9b, 0xc5, 0xec, 0xa4, 0x93, 0x60, 0xc6, 0xf8, + 0x01, 0xea, 0x33, 0x26, 0x88, 0xf3, 0xcf, 0xfa, 0xc1, 0xb4, 0xb3, 0xfe, 0x3a, 0x80, 0xbd, 0xad, + 0x5e, 0x89, 0xc2, 0x74, 0xf1, 0xc5, 0xab, 0x4f, 0x97, 0x00, 0x2c, 0xe1, 0x5d, 0xd0, 0x33, 0x80, + 0x7e, 0x06, 0x70, 0x1b, 0x7f, 0x0c, 0x36, 0xc3, 0xea, 0x72, 0xba, 0x8a, 0x5d, 0xfe, 0x9b, 0x26, + 0x85, 0x73, 0x7a, 0x08, 0x4a, 0xfd, 0x9c, 0x1e, 0x0a, 0x16, 0x26, 0xc6, 0xb9, 0x89, 0x83, 0xb9, + 0xb8, 0x5b, 0xfa, 0x12, 0x83, 0x0f, 0x39, 0x12, 0xcf, 0x3b, 0xe8, 0xef, 0x00, 0xf6, 0xcb, 0xa6, + 0x16, 0x70, 0x34, 0xa9, 0xdc, 0x0d, 0xc3, 0x4d, 0x4d, 0xa5, 0xc6, 0x0b, 0x5f, 0xc7, 0xb8, 0xaf, + 0x71, 0x34, 0x9a, 0xd0, 0x97, 0x5e, 0x12, 0xbc, 0xe8, 0x47, 0x00, 0xb7, 0xb1, 0xc2, 0xfb, 0x07, + 0x50, 0xb9, 0x54, 0x85, 0xa0, 0xd4, 0x8b, 0x15, 0x0a, 0x4e, 0xf8, 0x48, 0x25, 0x68, 0x0a, 0xfd, + 0x02, 0x20, 0x2a, 0x52, 0xa7, 0x1a, 0xa8, 0xd2, 0xb8, 0xc2, 0xd4, 0x09, 0x82, 0xd4, 0x7f, 0x66, + 0x14, 0x86, 0x15, 0x46, 0xa6, 0xb8, 0x91, 0xb1, 0xec, 0xc1, 0xa4, 0xd5, 0x21, 0xd4, 0xa9, 0x8e, + 0x83, 0xc1, 0x99, 0x2b, 0x60, 0xf3, 0x96, 0xd6, 0x73, 0xf3, 0x96, 0xd6, 0x73, 0xf7, 0x96, 0x06, + 0x2e, 0x37, 0x34, 0xf0, 0x49, 0x43, 0x03, 0x3f, 0x34, 0x34, 0xb0, 0xd9, 0xd0, 0xc0, 0x9f, 0x0d, + 0x0d, 0xfc, 0xd5, 0xd0, 0x7a, 0xee, 0x36, 0x34, 0x70, 0xe5, 0xb6, 0xd6, 0xb3, 0x79, 0x5b, 0xeb, + 0xb9, 0x79, 0x5b, 0xeb, 0x39, 0x7f, 0xbe, 0x6c, 0xd1, 0xe5, 0xda, 0x52, 0xde, 0x74, 0x56, 0x75, + 0x29, 0xdf, 0x72, 0xf4, 0x9a, 0x35, 0xc4, 0x74, 0x63, 0x57, 0xaf, 0xef, 0xd7, 0xc5, 0xa7, 0x32, + 0xb6, 0xd9, 0xa8, 0xb8, 0x14, 0xf1, 0xb3, 0xc5, 0x89, 0xc0, 0x9f, 0x96, 0x1e, 0xe1, 0x3f, 0x4c, + 0x3c, 0xf0, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x68, 0x50, 0x69, 0xda, 0x40, 0x29, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -388,6 +392,10 @@ type WorkflowServiceClient interface { StartBatchOperation(ctx context.Context, in *v1.StartBatchOperationRequest, opts ...grpc.CallOption) (*v1.StartBatchOperationResponse, error) // DescribeBatchOperation returns the information about a batch operation DescribeBatchOperation(ctx context.Context, in *v1.DescribeBatchOperationRequest, opts ...grpc.CallOption) (*v1.DescribeBatchOperationResponse, error) + // ListBatchOperations returns the information about a batch operation + ListBatchOperations(ctx context.Context, in *v1.ListBatchOperationsRequest, opts ...grpc.CallOption) (*v1.ListBatchOperationsResponse, error) + // ListBatchOperations returns the information about a batch operation + StopBatchOperation(ctx context.Context, in *v1.StopBatchOperationRequest, opts ...grpc.CallOption) (*v1.StopBatchOperationResponse, error) } type workflowServiceClient struct { @@ -839,6 +847,24 @@ func (c *workflowServiceClient) DescribeBatchOperation(ctx context.Context, in * return out, nil } +func (c *workflowServiceClient) ListBatchOperations(ctx context.Context, in *v1.ListBatchOperationsRequest, opts ...grpc.CallOption) (*v1.ListBatchOperationsResponse, error) { + out := new(v1.ListBatchOperationsResponse) + err := c.cc.Invoke(ctx, "/temporal.api.workflowservice.v1.WorkflowService/ListBatchOperations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) StopBatchOperation(ctx context.Context, in *v1.StopBatchOperationRequest, opts ...grpc.CallOption) (*v1.StopBatchOperationResponse, error) { + out := new(v1.StopBatchOperationResponse) + err := c.cc.Invoke(ctx, "/temporal.api.workflowservice.v1.WorkflowService/StopBatchOperation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // WorkflowServiceServer is the server API for WorkflowService service. type WorkflowServiceServer interface { // RegisterNamespace creates a new namespace which can be used as a container for all resources. @@ -1073,6 +1099,10 @@ type WorkflowServiceServer interface { StartBatchOperation(context.Context, *v1.StartBatchOperationRequest) (*v1.StartBatchOperationResponse, error) // DescribeBatchOperation returns the information about a batch operation DescribeBatchOperation(context.Context, *v1.DescribeBatchOperationRequest) (*v1.DescribeBatchOperationResponse, error) + // ListBatchOperations returns the information about a batch operation + ListBatchOperations(context.Context, *v1.ListBatchOperationsRequest) (*v1.ListBatchOperationsResponse, error) + // ListBatchOperations returns the information about a batch operation + StopBatchOperation(context.Context, *v1.StopBatchOperationRequest) (*v1.StopBatchOperationResponse, error) } // UnimplementedWorkflowServiceServer can be embedded to have forward compatible implementations. @@ -1226,6 +1256,12 @@ func (*UnimplementedWorkflowServiceServer) StartBatchOperation(ctx context.Conte func (*UnimplementedWorkflowServiceServer) DescribeBatchOperation(ctx context.Context, req *v1.DescribeBatchOperationRequest) (*v1.DescribeBatchOperationResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DescribeBatchOperation not implemented") } +func (*UnimplementedWorkflowServiceServer) ListBatchOperations(ctx context.Context, req *v1.ListBatchOperationsRequest) (*v1.ListBatchOperationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListBatchOperations not implemented") +} +func (*UnimplementedWorkflowServiceServer) StopBatchOperation(ctx context.Context, req *v1.StopBatchOperationRequest) (*v1.StopBatchOperationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method StopBatchOperation not implemented") +} func RegisterWorkflowServiceServer(s *grpc.Server, srv WorkflowServiceServer) { s.RegisterService(&_WorkflowService_serviceDesc, srv) @@ -2113,6 +2149,42 @@ func _WorkflowService_DescribeBatchOperation_Handler(srv interface{}, ctx contex return interceptor(ctx, in, info, handler) } +func _WorkflowService_ListBatchOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1.ListBatchOperationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListBatchOperations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/temporal.api.workflowservice.v1.WorkflowService/ListBatchOperations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListBatchOperations(ctx, req.(*v1.ListBatchOperationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_StopBatchOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1.StopBatchOperationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).StopBatchOperation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/temporal.api.workflowservice.v1.WorkflowService/StopBatchOperation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).StopBatchOperation(ctx, req.(*v1.StopBatchOperationRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _WorkflowService_serviceDesc = grpc.ServiceDesc{ ServiceName: "temporal.api.workflowservice.v1.WorkflowService", HandlerType: (*WorkflowServiceServer)(nil), @@ -2313,6 +2385,14 @@ var _WorkflowService_serviceDesc = grpc.ServiceDesc{ MethodName: "DescribeBatchOperation", Handler: _WorkflowService_DescribeBatchOperation_Handler, }, + { + MethodName: "ListBatchOperations", + Handler: _WorkflowService_ListBatchOperations_Handler, + }, + { + MethodName: "StopBatchOperation", + Handler: _WorkflowService_StopBatchOperation_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "temporal/api/workflowservice/v1/service.proto", diff --git a/server/generated/api/workflowservice/v1/service.pb.gw.go b/server/generated/api/workflowservice/v1/service.pb.gw.go index a42de0beea..5a38dde6b3 100644 --- a/server/generated/api/workflowservice/v1/service.pb.gw.go +++ b/server/generated/api/workflowservice/v1/service.pb.gw.go @@ -2456,6 +2456,148 @@ func local_request_WorkflowService_DescribeBatchOperation_0(ctx context.Context, } +var ( + filter_WorkflowService_ListBatchOperations_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_WorkflowService_ListBatchOperations_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq workflowservice.ListBatchOperationsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + + protoReq.Namespace, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListBatchOperations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListBatchOperations(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_WorkflowService_ListBatchOperations_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq workflowservice.ListBatchOperationsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + + protoReq.Namespace, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListBatchOperations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListBatchOperations(ctx, &protoReq) + return msg, metadata, err + +} + +func request_WorkflowService_StopBatchOperation_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq workflowservice.StopBatchOperationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + + protoReq.Namespace, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + + msg, err := client.StopBatchOperation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_WorkflowService_StopBatchOperation_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq workflowservice.StopBatchOperationRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + + protoReq.Namespace, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + + msg, err := server.StopBatchOperation(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterWorkflowServiceHandlerServer registers the http handlers for service WorkflowService to "mux". // UnaryRPC :call WorkflowServiceServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -3152,6 +3294,52 @@ func RegisterWorkflowServiceHandlerServer(ctx context.Context, mux *runtime.Serv }) + mux.Handle("GET", pattern_WorkflowService_ListBatchOperations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListBatchOperations_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkflowService_ListBatchOperations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_WorkflowService_StopBatchOperation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_StopBatchOperation_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkflowService_StopBatchOperation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -3793,6 +3981,46 @@ func RegisterWorkflowServiceHandlerClient(ctx context.Context, mux *runtime.Serv }) + mux.Handle("GET", pattern_WorkflowService_ListBatchOperations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListBatchOperations_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkflowService_ListBatchOperations_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PUT", pattern_WorkflowService_StopBatchOperation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_StopBatchOperation_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_WorkflowService_StopBatchOperation_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -3853,9 +4081,13 @@ var ( pattern_WorkflowService_ListSchedules_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "schedules"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_WorkflowService_StartBatchOperation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "workflows", "batch", "terminate"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_WorkflowService_StartBatchOperation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "batch-operations"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_WorkflowService_DescribeBatchOperation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"api", "v1", "namespaces", "namespace", "batch-operations", "describe"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_WorkflowService_DescribeBatchOperation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "workflows", "batch", "describe"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_WorkflowService_ListBatchOperations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "batch-operations"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_WorkflowService_StopBatchOperation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"api", "v1", "namespaces", "namespace", "batch-operations", "stop"}, "", runtime.AssumeColonVerbOpt(true))) ) var ( @@ -3918,4 +4150,8 @@ var ( forward_WorkflowService_StartBatchOperation_0 = runtime.ForwardResponseMessage forward_WorkflowService_DescribeBatchOperation_0 = runtime.ForwardResponseMessage + + forward_WorkflowService_ListBatchOperations_0 = runtime.ForwardResponseMessage + + forward_WorkflowService_StopBatchOperation_0 = runtime.ForwardResponseMessage ) diff --git a/server/generated/openapi/service.swagger.json b/server/generated/openapi/service.swagger.json index 9933d2af4f..689c495db9 100644 --- a/server/generated/openapi/service.swagger.json +++ b/server/generated/openapi/service.swagger.json @@ -250,6 +250,211 @@ ] } }, + "/api/v1/namespaces/{namespace}/batch-operations": { + "get": { + "summary": "ListBatchOperations returns the information about a batch operation", + "operationId": "WorkflowService_ListBatchOperations", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListBatchOperationsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "namespace", + "description": "Namespace that contains the batch operation", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "pageSize", + "description": "List page size", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "nextPageToken", + "description": "Next page token", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + } + ], + "tags": [ + "WorkflowService" + ] + }, + "post": { + "summary": "StartBatchOperation starts a new batch operation", + "operationId": "WorkflowService_StartBatchOperation", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1StartBatchOperationResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "namespace", + "description": "Namespace that contains the batch operation", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "visibilityQuery": { + "type": "string", + "title": "Visibility query defines the the group of workflow to do batch operation" + }, + "jobId": { + "type": "string", + "title": "Job ID defines the unique ID for the batch job" + }, + "reason": { + "type": "string", + "title": "Reason to perform the batch operation" + }, + "terminationOperation": { + "$ref": "#/definitions/v1BatchOperationTermination" + }, + "signalOperation": { + "$ref": "#/definitions/v1BatchOperationSignal" + }, + "cancellationOperation": { + "$ref": "#/definitions/v1BatchOperationCancellation" + }, + "deletionOperation": { + "$ref": "#/definitions/v1BatchOperationDeletion" + } + } + } + } + ], + "tags": [ + "WorkflowService" + ] + } + }, + "/api/v1/namespaces/{namespace}/batch-operations/describe": { + "get": { + "summary": "DescribeBatchOperation returns the information about a batch operation", + "operationId": "WorkflowService_DescribeBatchOperation", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1DescribeBatchOperationResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "namespace", + "description": "Namespace that contains the batch operation", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "jobId", + "description": "Batch job id", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "WorkflowService" + ] + } + }, + "/api/v1/namespaces/{namespace}/batch-operations/stop": { + "put": { + "summary": "ListBatchOperations returns the information about a batch operation", + "operationId": "WorkflowService_StopBatchOperation", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1StopBatchOperationResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "namespace", + "description": "Namespace that contains the batch operation", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "jobId": { + "type": "string", + "title": "Batch job id" + }, + "reason": { + "type": "string", + "title": "Reason to stop a batch operation" + }, + "identity": { + "type": "string", + "title": "Identity of the operator" + } + } + } + } + ], + "tags": [ + "WorkflowService" + ] + } + }, "/api/v1/namespaces/{namespace}/schedules": { "get": { "summary": "List all schedules in a namespace.", @@ -743,111 +948,6 @@ ] } }, - "/api/v1/namespaces/{namespace}/workflows/batch/describe": { - "get": { - "summary": "DescribeBatchOperation returns the information about a batch operation", - "operationId": "WorkflowService_DescribeBatchOperation", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/v1DescribeBatchOperationResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "namespace", - "description": "Namespace that contains the batch operation", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "jobId", - "description": "Batch job id", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "WorkflowService" - ] - } - }, - "/api/v1/namespaces/{namespace}/workflows/batch/terminate": { - "post": { - "summary": "StartBatchOperation starts a new batch operation", - "operationId": "WorkflowService_StartBatchOperation", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/v1StartBatchOperationResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "namespace", - "description": "Namespace that contains the batch operation", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "visibilityQuery": { - "type": "string", - "title": "Visibility query defines the the group of workflow to do batch operation" - }, - "jobId": { - "type": "string", - "title": "Job ID defines the unique ID for the batch job" - }, - "reason": { - "type": "string", - "title": "Reason to perform the batch operation" - }, - "terminationOperation": { - "$ref": "#/definitions/v1BatchOperationTermination" - }, - "signalOperation": { - "$ref": "#/definitions/v1BatchOperationSignal" - }, - "cancellationOperation": { - "$ref": "#/definitions/v1BatchOperationCancellation" - }, - "deletionOperation": { - "$ref": "#/definitions/v1BatchOperationDeletion" - } - } - } - } - ], - "tags": [ - "WorkflowService" - ] - } - }, "/api/v1/namespaces/{namespace}/workflows/closed": { "get": { "summary": "ListClosedWorkflowExecutions is a visibility API to list the closed executions in a specific namespace.", @@ -1794,9 +1894,11 @@ "v1AcceptWorkflowUpdateCommandAttributes": { "type": "object", "properties": { - "updateId": { - "type": "string", - "title": "A unique identifier for an update within a given workflow context" + "meta": { + "$ref": "#/definitions/v1Meta" + }, + "input": { + "$ref": "#/definitions/v1Input" } } }, @@ -2134,6 +2236,29 @@ }, "description": "BatchOperationDeletion sends deletion requests to batch workflows.\nKeep the parameter in sync with temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest." }, + "v1BatchOperationInfo": { + "type": "object", + "properties": { + "jobId": { + "type": "string", + "title": "Batch job ID" + }, + "state": { + "$ref": "#/definitions/v1BatchOperationState", + "title": "Batch operation state" + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "Batch operation start time" + }, + "closeTime": { + "type": "string", + "format": "date-time", + "title": "Batch operation close time" + } + } + }, "v1BatchOperationSignal": { "type": "object", "properties": { @@ -2530,6 +2655,9 @@ }, "modifyWorkflowPropertiesCommandAttributes": { "$ref": "#/definitions/v1ModifyWorkflowPropertiesCommandAttributes" + }, + "rejectWorkflowUpdateCommandAttributes": { + "$ref": "#/definitions/v1RejectWorkflowUpdateCommandAttributes" } } }, @@ -2552,7 +2680,8 @@ "COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES", "COMMAND_TYPE_ACCEPT_WORKFLOW_UPDATE", "COMMAND_TYPE_COMPLETE_WORKFLOW_UPDATE", - "COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES" + "COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES", + "COMMAND_TYPE_REJECT_WORKFLOW_UPDATE" ], "default": "COMMAND_TYPE_UNSPECIFIED", "description": "Whenever this list of command types is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering.\n\n - COMMAND_TYPE_ACCEPT_WORKFLOW_UPDATE: Indicates that an update has been accepted for processing workflow code\n - COMMAND_TYPE_COMPLETE_WORKFLOW_UPDATE: Indicates that an update has completed and carries either the success or\nfailure outcome of said update." @@ -2568,19 +2697,11 @@ "v1CompleteWorkflowUpdateCommandAttributes": { "type": "object", "properties": { - "updateId": { - "type": "string", - "title": "A unique identifier for an update within a given workflow context" - }, - "durabilityPreference": { - "$ref": "#/definitions/v1WorkflowUpdateDurabilityPreference", - "description": "Whether the server should attempt to bypass making this update rejection\ndurable in history. This field is only consulted when the result field\nindicates failure. Leaving this field in its default state (i.e.\nUPDATE_WORKFLOW_REJECTION_DURABILITY_PREFERENCE_UNSPECIFIED) will result\nin making the rejection durable." - }, - "success": { - "$ref": "#/definitions/v1Payloads" + "meta": { + "$ref": "#/definitions/v1Meta" }, - "failure": { - "$ref": "#/definitions/v1Failure" + "output": { + "$ref": "#/definitions/v1Output" } } }, @@ -2882,7 +3003,7 @@ "EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED", "EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED", "EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES", - "EVENT_TYPE_WORKFLOW_UPDATE_REQUESTED", + "EVENT_TYPE_WORKFLOW_UPDATE_REJECTED", "EVENT_TYPE_WORKFLOW_UPDATE_ACCEPTED", "EVENT_TYPE_WORKFLOW_UPDATE_COMPLETED", "EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY", @@ -2890,7 +3011,7 @@ "EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED" ], "default": "EVENT_TYPE_UNSPECIFIED", - "description": "- EVENT_TYPE_UNSPECIFIED: Place holder and should never appear in a Workflow execution history\n - EVENT_TYPE_WORKFLOW_EXECUTION_STARTED: Workflow execution has been triggered/started\nIt contains Workflow execution inputs, as well as Workflow timeout configurations\n - EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED: Workflow execution has successfully completed and contains Workflow execution results\n - EVENT_TYPE_WORKFLOW_EXECUTION_FAILED: Workflow execution has unsuccessfully completed and contains the Workflow execution error\n - EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT: Workflow execution has timed out by the Temporal Server\nUsually due to the Workflow having not been completed within timeout settings\n - EVENT_TYPE_WORKFLOW_TASK_SCHEDULED: Workflow Task has been scheduled and the SDK client should now be able to process any new history events\n - EVENT_TYPE_WORKFLOW_TASK_STARTED: Workflow Task has started and the SDK client has picked up the Workflow Task and is processing new history events\n - EVENT_TYPE_WORKFLOW_TASK_COMPLETED: Workflow Task has completed\nThe SDK client picked up the Workflow Task and processed new history events\nSDK client may or may not ask the Temporal Server to do additional work, such as:\nEVENT_TYPE_ACTIVITY_TASK_SCHEDULED\nEVENT_TYPE_TIMER_STARTED\nEVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES\nEVENT_TYPE_MARKER_RECORDED\nEVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED\nEVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED\nEVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED\nEVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED\nEVENT_TYPE_WORKFLOW_EXECUTION_FAILED\nEVENT_TYPE_WORKFLOW_EXECUTION_CANCELED\nEVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW\n - EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT: Workflow Task encountered a timeout\nEither an SDK client with a local cache was not available at the time, or it took too long for the SDK client to process the task\n - EVENT_TYPE_WORKFLOW_TASK_FAILED: Workflow Task encountered a failure\nUsually this means that the Workflow was non-deterministic\nHowever, the Workflow reset functionality also uses this event\n - EVENT_TYPE_ACTIVITY_TASK_SCHEDULED: Activity Task was scheduled\nThe SDK client should pick up this activity task and execute\nThis event type contains activity inputs, as well as activity timeout configurations\n - EVENT_TYPE_ACTIVITY_TASK_STARTED: Activity Task has started executing\nThe SDK client has picked up the Activity Task and is processing the Activity invocation\n - EVENT_TYPE_ACTIVITY_TASK_COMPLETED: Activity Task has finished successfully\nThe SDK client has picked up and successfully completed the Activity Task\nThis event type contains Activity execution results\n - EVENT_TYPE_ACTIVITY_TASK_FAILED: Activity Task has finished unsuccessfully\nThe SDK picked up the Activity Task but unsuccessfully completed it\nThis event type contains Activity execution errors\n - EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT: Activity has timed out according to the Temporal Server\nActivity did not complete within the timeout settings\n - EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED: A request to cancel the Activity has occurred\nThe SDK client will be able to confirm cancellation of an Activity during an Activity heartbeat\n - EVENT_TYPE_ACTIVITY_TASK_CANCELED: Activity has been cancelled\n - EVENT_TYPE_TIMER_STARTED: A timer has started\n - EVENT_TYPE_TIMER_FIRED: A timer has fired\n - EVENT_TYPE_TIMER_CANCELED: A time has been cancelled\n - EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED: A request has been made to cancel the Workflow execution\n - EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED: SDK client has confirmed the cancellation request and the Workflow execution has been cancelled\n - EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED: Workflow has requested that the Temporal Server try to cancel another Workflow\n - EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED: Temporal Server could not cancel the targeted Workflow\nThis is usually because the target Workflow could not be found\n - EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED: Temporal Server has successfully requested the cancellation of the target Workflow\n - EVENT_TYPE_MARKER_RECORDED: A marker has been recorded.\nThis event type is transparent to the Temporal Server\nThe Server will only store it and will not try to understand it.\n - EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED: Workflow has received a Signal event\nThe event type contains the Signal name, as well as a Signal payload\n - EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED: Workflow execution has been forcefully terminated\nThis is usually because the terminate Workflow API was called\n - EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW: Workflow has successfully completed and a new Workflow has been started within the same transaction\nContains last Workflow execution results as well as new Workflow execution inputs\n - EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED: Temporal Server will try to start a child Workflow\n - EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED: Child Workflow execution cannot be started/triggered\nUsually due to a child Workflow ID collision\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED: Child Workflow execution has successfully started/triggered\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED: Child Workflow execution has successfully completed\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED: Child Workflow execution has unsuccessfully completed\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED: Child Workflow execution has been cancelled\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT: Child Workflow execution has timed out by the Temporal Server\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED: Child Workflow execution has been terminated\n - EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED: Temporal Server will try to Signal the targeted Workflow\nContains the Signal name, as well as a Signal payload\n - EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED: Temporal Server cannot Signal the targeted Workflow\nUsually because the Workflow could not be found\n - EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED: Temporal Server has successfully Signaled the targeted Workflow\n - EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES: Workflow search attributes should be updated and synchronized with the visibility store\n - EVENT_TYPE_WORKFLOW_UPDATE_REQUESTED: Workflow update request has been received\n - EVENT_TYPE_WORKFLOW_UPDATE_ACCEPTED: Workflow update request has been accepted by user workflow code\n - EVENT_TYPE_WORKFLOW_UPDATE_COMPLETED: Workflow update has been completed\n - EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY: Some property or properties of the workflow as a whole have changed by non-workflow code.\nThe distinction of external vs. command-based modification is important so the SDK can\nmaintain determinism when using the command-based approach.\n - EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY: Some property or properties of an already-scheduled activity have changed by non-workflow code.\nThe distinction of external vs. command-based modification is important so the SDK can\nmaintain determinism when using the command-based approach.\n - EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED: Workflow properties modified by user workflow code", + "description": "- EVENT_TYPE_UNSPECIFIED: Place holder and should never appear in a Workflow execution history\n - EVENT_TYPE_WORKFLOW_EXECUTION_STARTED: Workflow execution has been triggered/started\nIt contains Workflow execution inputs, as well as Workflow timeout configurations\n - EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED: Workflow execution has successfully completed and contains Workflow execution results\n - EVENT_TYPE_WORKFLOW_EXECUTION_FAILED: Workflow execution has unsuccessfully completed and contains the Workflow execution error\n - EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT: Workflow execution has timed out by the Temporal Server\nUsually due to the Workflow having not been completed within timeout settings\n - EVENT_TYPE_WORKFLOW_TASK_SCHEDULED: Workflow Task has been scheduled and the SDK client should now be able to process any new history events\n - EVENT_TYPE_WORKFLOW_TASK_STARTED: Workflow Task has started and the SDK client has picked up the Workflow Task and is processing new history events\n - EVENT_TYPE_WORKFLOW_TASK_COMPLETED: Workflow Task has completed\nThe SDK client picked up the Workflow Task and processed new history events\nSDK client may or may not ask the Temporal Server to do additional work, such as:\nEVENT_TYPE_ACTIVITY_TASK_SCHEDULED\nEVENT_TYPE_TIMER_STARTED\nEVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES\nEVENT_TYPE_MARKER_RECORDED\nEVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED\nEVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED\nEVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED\nEVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED\nEVENT_TYPE_WORKFLOW_EXECUTION_FAILED\nEVENT_TYPE_WORKFLOW_EXECUTION_CANCELED\nEVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW\n - EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT: Workflow Task encountered a timeout\nEither an SDK client with a local cache was not available at the time, or it took too long for the SDK client to process the task\n - EVENT_TYPE_WORKFLOW_TASK_FAILED: Workflow Task encountered a failure\nUsually this means that the Workflow was non-deterministic\nHowever, the Workflow reset functionality also uses this event\n - EVENT_TYPE_ACTIVITY_TASK_SCHEDULED: Activity Task was scheduled\nThe SDK client should pick up this activity task and execute\nThis event type contains activity inputs, as well as activity timeout configurations\n - EVENT_TYPE_ACTIVITY_TASK_STARTED: Activity Task has started executing\nThe SDK client has picked up the Activity Task and is processing the Activity invocation\n - EVENT_TYPE_ACTIVITY_TASK_COMPLETED: Activity Task has finished successfully\nThe SDK client has picked up and successfully completed the Activity Task\nThis event type contains Activity execution results\n - EVENT_TYPE_ACTIVITY_TASK_FAILED: Activity Task has finished unsuccessfully\nThe SDK picked up the Activity Task but unsuccessfully completed it\nThis event type contains Activity execution errors\n - EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT: Activity has timed out according to the Temporal Server\nActivity did not complete within the timeout settings\n - EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED: A request to cancel the Activity has occurred\nThe SDK client will be able to confirm cancellation of an Activity during an Activity heartbeat\n - EVENT_TYPE_ACTIVITY_TASK_CANCELED: Activity has been cancelled\n - EVENT_TYPE_TIMER_STARTED: A timer has started\n - EVENT_TYPE_TIMER_FIRED: A timer has fired\n - EVENT_TYPE_TIMER_CANCELED: A time has been cancelled\n - EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED: A request has been made to cancel the Workflow execution\n - EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED: SDK client has confirmed the cancellation request and the Workflow execution has been cancelled\n - EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED: Workflow has requested that the Temporal Server try to cancel another Workflow\n - EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED: Temporal Server could not cancel the targeted Workflow\nThis is usually because the target Workflow could not be found\n - EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED: Temporal Server has successfully requested the cancellation of the target Workflow\n - EVENT_TYPE_MARKER_RECORDED: A marker has been recorded.\nThis event type is transparent to the Temporal Server\nThe Server will only store it and will not try to understand it.\n - EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED: Workflow has received a Signal event\nThe event type contains the Signal name, as well as a Signal payload\n - EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED: Workflow execution has been forcefully terminated\nThis is usually because the terminate Workflow API was called\n - EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW: Workflow has successfully completed and a new Workflow has been started within the same transaction\nContains last Workflow execution results as well as new Workflow execution inputs\n - EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED: Temporal Server will try to start a child Workflow\n - EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED: Child Workflow execution cannot be started/triggered\nUsually due to a child Workflow ID collision\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED: Child Workflow execution has successfully started/triggered\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED: Child Workflow execution has successfully completed\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED: Child Workflow execution has unsuccessfully completed\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED: Child Workflow execution has been cancelled\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT: Child Workflow execution has timed out by the Temporal Server\n - EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED: Child Workflow execution has been terminated\n - EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED: Temporal Server will try to Signal the targeted Workflow\nContains the Signal name, as well as a Signal payload\n - EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED: Temporal Server cannot Signal the targeted Workflow\nUsually because the Workflow could not be found\n - EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED: Temporal Server has successfully Signaled the targeted Workflow\n - EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES: Workflow search attributes should be updated and synchronized with the visibility store\n - EVENT_TYPE_WORKFLOW_UPDATE_REJECTED: Workflow update request has been received\n - EVENT_TYPE_WORKFLOW_UPDATE_ACCEPTED: Workflow update request has been accepted by user workflow code\n - EVENT_TYPE_WORKFLOW_UPDATE_COMPLETED: Workflow update has been completed\n - EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY: Some property or properties of the workflow as a whole have changed by non-workflow code.\nThe distinction of external vs. command-based modification is important so the SDK can\nmaintain determinism when using the command-based approach.\n - EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY: Some property or properties of an already-scheduled activity have changed by non-workflow code.\nThe distinction of external vs. command-based modification is important so the SDK can\nmaintain determinism when using the command-based approach.\n - EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED: Workflow properties modified by user workflow code", "title": "Whenever this list of events is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering" }, "v1ExternalWorkflowExecutionCancelRequestedEventAttributes": { @@ -3273,8 +3394,8 @@ "upsertWorkflowSearchAttributesEventAttributes": { "$ref": "#/definitions/v1UpsertWorkflowSearchAttributesEventAttributes" }, - "workflowUpdateRequestedEventAttributes": { - "$ref": "#/definitions/v1WorkflowUpdateRequestedEventAttributes" + "workflowUpdateRejectedEventAttributes": { + "$ref": "#/definitions/v1WorkflowUpdateRejectedEventAttributes" }, "workflowUpdateAcceptedEventAttributes": { "$ref": "#/definitions/v1WorkflowUpdateAcceptedEventAttributes" @@ -3312,10 +3433,39 @@ "INDEXED_VALUE_TYPE_INT", "INDEXED_VALUE_TYPE_DOUBLE", "INDEXED_VALUE_TYPE_BOOL", - "INDEXED_VALUE_TYPE_DATETIME" + "INDEXED_VALUE_TYPE_DATETIME", + "INDEXED_VALUE_TYPE_KEYWORD_LIST" ], "default": "INDEXED_VALUE_TYPE_UNSPECIFIED" }, + "v1Input": { + "type": "object", + "properties": { + "header": { + "$ref": "#/definitions/v1Header", + "description": "Headers that are passed with the interaction to and from the processing workflow.\nThese can include things like auth or tracing tokens." + }, + "name": { + "type": "string", + "title": "The name of the input handler to invoke on the target workflow" + }, + "args": { + "$ref": "#/definitions/v1Payloads", + "description": "The arguments to pass to the named handler." + } + }, + "description": "Input carries interaction input that comes from the caller." + }, + "v1InteractionType": { + "type": "string", + "enum": [ + "INTERACTION_TYPE_UNSPECIFIED", + "INTERACTION_TYPE_WORKFLOW_QUERY", + "INTERACTION_TYPE_WORKFLOW_UPDATE", + "INTERACTION_TYPE_WORKFLOW_SIGNAL" + ], + "default": "INTERACTION_TYPE_UNSPECIFIED" + }, "v1IntervalSpec": { "type": "object", "properties": { @@ -3328,6 +3478,17 @@ }, "description": "IntervalSpec matches times that can be expressed as:\nepoch + n * interval + phase\nwhere n is an integer.\nphase defaults to zero if missing. interval is required.\nBoth interval and phase must be non-negative and are truncated to the nearest\nsecond before any calculations.\nFor example, an interval of 1 hour with phase of zero would match every hour,\non the hour. The same interval but a phase of 19 minutes would match every\nxx:19:00. An interval of 28 days with phase zero would match\n2022-02-17T00:00:00Z (among other times). The same interval with a phase of 3\ndays, 5 hours, and 23 minutes would match 2022-02-20T05:23:00Z instead." }, + "v1Invocation": { + "type": "object", + "properties": { + "meta": { + "$ref": "#/definitions/v1Meta" + }, + "input": { + "$ref": "#/definitions/v1Input" + } + } + }, "v1ListArchivedWorkflowExecutionsResponse": { "type": "object", "properties": { @@ -3343,6 +3504,22 @@ } } }, + "v1ListBatchOperationsResponse": { + "type": "object", + "properties": { + "operationInfo": { + "type": "array", + "items": { + "$ref": "#/definitions/v1BatchOperationInfo" + }, + "title": "BatchOperationInfo contains the basic info about batch operation" + }, + "nextPageToken": { + "type": "string", + "format": "byte" + } + } + }, "v1ListClosedWorkflowExecutionsResponse": { "type": "object", "properties": { @@ -3487,6 +3664,32 @@ }, "title": "A user-defined set of *unindexed* fields that are exposed when listing/searching workflows" }, + "v1Meta": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "An ID with workflow-scoped uniqueness for this interaction" + }, + "eventId": { + "type": "string", + "format": "int64", + "description": "The event ID after which this interaction can execute. The effects of\nhistory up to and including this event ID should be visible to the\ninteraction when it executes." + }, + "interactionType": { + "$ref": "#/definitions/v1InteractionType", + "description": "The type of this interaction." + }, + "identity": { + "type": "string", + "description": "A string identifying the agent that requested this interaction." + }, + "requestId": { + "type": "string" + } + }, + "title": "Meta carries metadata about an interaction for use by the system (i.e. not\ngenerall user-visible)" + }, "v1ModifyWorkflowPropertiesCommandAttributes": { "type": "object", "properties": { @@ -3640,6 +3843,22 @@ }, "description": "NewWorkflowExecutionInfo is a shared message that encapsulates all the\nrequired arguments to starting a workflow in different contexts." }, + "v1Output": { + "type": "object", + "properties": { + "header": { + "$ref": "#/definitions/v1Header", + "description": "Headers that are passed with the interaction to and from the processing workflow.\nThese can include things like auth or tracing tokens." + }, + "success": { + "$ref": "#/definitions/v1Payloads" + }, + "failure": { + "$ref": "#/definitions/v1Failure" + } + }, + "description": "Output carries the output data from an interaction." + }, "v1ParentClosePolicy": { "type": "string", "enum": [ @@ -3943,6 +4162,12 @@ "$ref": "#/definitions/v1WorkflowQuery" }, "title": "Queries that should be executed after applying the history in this task. Responses should be\nattached to `RespondWorkflowTaskCompletedRequest::query_results`" + }, + "interactions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Invocation" + } } } }, @@ -4121,6 +4346,17 @@ "v1RegisterNamespaceResponse": { "type": "object" }, + "v1RejectWorkflowUpdateCommandAttributes": { + "type": "object", + "properties": { + "meta": { + "$ref": "#/definitions/v1Meta" + }, + "failure": { + "$ref": "#/definitions/v1Failure" + } + } + }, "v1ReleaseInfo": { "type": "object", "properties": { @@ -4369,6 +4605,10 @@ "$ref": "#/definitions/v1PollActivityTaskQueueResponse" }, "title": "See `ScheduleActivityTaskCommandAttributes::request_start`" + }, + "resetHistoryEventId": { + "type": "string", + "format": "int64" } } }, @@ -5156,6 +5396,9 @@ } } }, + "v1StopBatchOperationResponse": { + "type": "object" + }, "v1StructuredCalendarSpec": { "type": "object", "properties": { @@ -6041,10 +6284,14 @@ "WORKFLOW_TASK_FAILED_CAUSE_SCHEDULE_ACTIVITY_DUPLICATE_ID", "WORKFLOW_TASK_FAILED_CAUSE_BAD_SEARCH_ATTRIBUTES", "WORKFLOW_TASK_FAILED_CAUSE_NON_DETERMINISTIC_ERROR", - "WORKFLOW_TASK_FAILED_CAUSE_BAD_MODIFY_WORKFLOW_PROPERTIES_ATTRIBUTES" + "WORKFLOW_TASK_FAILED_CAUSE_BAD_MODIFY_WORKFLOW_PROPERTIES_ATTRIBUTES", + "WORKFLOW_TASK_FAILED_CAUSE_PENDING_CHILD_WORKFLOWS_LIMIT_EXCEEDED", + "WORKFLOW_TASK_FAILED_CAUSE_PENDING_ACTIVITIES_LIMIT_EXCEEDED", + "WORKFLOW_TASK_FAILED_CAUSE_PENDING_SIGNALS_LIMIT_EXCEEDED", + "WORKFLOW_TASK_FAILED_CAUSE_PENDING_REQUEST_CANCEL_LIMIT_EXCEEDED" ], "default": "WORKFLOW_TASK_FAILED_CAUSE_UNSPECIFIED", - "description": "Workflow tasks can fail for various reasons. Note that some of these reasons can only originate\nfrom the server, and some of them can only originate from the SDK/worker.\n\n - WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_COMMAND: Between starting and completing the workflow task (with a workflow completion command), some\nnew command (like a signal) was processed into workflow history. The outstanding task will be\nfailed with this reason, and a worker must pick up a new task.\n - WORKFLOW_TASK_FAILED_CAUSE_RESET_STICKY_TASK_QUEUE: The worker wishes to fail the task and have the next one be generated on a normal, not sticky\nqueue. Generally workers should prefer to use the explicit `ResetStickyTaskQueue` RPC call.\n - WORKFLOW_TASK_FAILED_CAUSE_NON_DETERMINISTIC_ERROR: The worker encountered a mismatch while replaying history between what was expected, and\nwhat the workflow code actually did." + "description": "Workflow tasks can fail for various reasons. Note that some of these reasons can only originate\nfrom the server, and some of them can only originate from the SDK/worker.\n\n - WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_COMMAND: Between starting and completing the workflow task (with a workflow completion command), some\nnew command (like a signal) was processed into workflow history. The outstanding task will be\nfailed with this reason, and a worker must pick up a new task.\n - WORKFLOW_TASK_FAILED_CAUSE_RESET_STICKY_TASK_QUEUE: The worker wishes to fail the task and have the next one be generated on a normal, not sticky\nqueue. Generally workers should prefer to use the explicit `ResetStickyTaskQueue` RPC call.\n - WORKFLOW_TASK_FAILED_CAUSE_NON_DETERMINISTIC_ERROR: The worker encountered a mismatch while replaying history between what was expected, and\nwhat the workflow code actually did.\n - WORKFLOW_TASK_FAILED_CAUSE_PENDING_CHILD_WORKFLOWS_LIMIT_EXCEEDED: We send the below error codes to users when their requests would violate a size constraint\nof their workflow. We do this to ensure that the state of their workflow does not become too\nlarge because that can cause severe performance degradation. You can modify the thresholds for\neach of these errors within your dynamic config.\n\nSpawning a new child workflow would cause this workflow to exceed its limit of pending child\nworkflows.\n - WORKFLOW_TASK_FAILED_CAUSE_PENDING_ACTIVITIES_LIMIT_EXCEEDED: Starting a new activity would cause this workflow to exceed its limit of pending activities\nthat we track.\n - WORKFLOW_TASK_FAILED_CAUSE_PENDING_SIGNALS_LIMIT_EXCEEDED: A workflow has a buffer of signals that have not yet reached their destination. We return this\nerror when sending a new signal would exceed the capacity of this buffer.\n - WORKFLOW_TASK_FAILED_CAUSE_PENDING_REQUEST_CANCEL_LIMIT_EXCEEDED: Similarly, we have a buffer of pending requests to cancel other workflows. We return this error\nwhen our capacity for pending cancel requests is already reached." }, "v1WorkflowTaskFailedEventAttributes": { "type": "object", @@ -6170,74 +6417,36 @@ } } }, - "v1WorkflowUpdate": { - "type": "object", - "properties": { - "header": { - "$ref": "#/definitions/v1Header", - "description": "Headers that are passed with the update to the processing workflow.\nThese can include things like auth or tracing tokens." - }, - "name": { - "type": "string", - "description": "The name of the update function to invoke on the target workflow." - }, - "args": { - "$ref": "#/definitions/v1Payloads", - "description": "The arguments to pass to the named update function." - } - } - }, "v1WorkflowUpdateAcceptedEventAttributes": { "type": "object", "properties": { - "header": { - "$ref": "#/definitions/v1Header" + "meta": { + "$ref": "#/definitions/v1Meta" }, - "updateId": { - "type": "string" + "input": { + "$ref": "#/definitions/v1Input" } } }, "v1WorkflowUpdateCompletedEventAttributes": { "type": "object", "properties": { - "systemHeader": { - "$ref": "#/definitions/v1Header" - }, - "updateId": { - "type": "string" + "meta": { + "$ref": "#/definitions/v1Meta" }, - "success": { - "$ref": "#/definitions/v1Payloads" - }, - "failure": { - "$ref": "#/definitions/v1Failure" + "output": { + "$ref": "#/definitions/v1Output" } } }, - "v1WorkflowUpdateDurabilityPreference": { - "type": "string", - "enum": [ - "WORKFLOW_UPDATE_DURABILITY_PREFERENCE_UNSPECIFIED", - "WORKFLOW_UPDATE_DURABILITY_PREFERENCE_BYPASS" - ], - "default": "WORKFLOW_UPDATE_DURABILITY_PREFERENCE_UNSPECIFIED", - "description": " - WORKFLOW_UPDATE_DURABILITY_PREFERENCE_UNSPECIFIED: The workflow expresses no preference as to the durability of the\nthe associated update.\n - WORKFLOW_UPDATE_DURABILITY_PREFERENCE_BYPASS: Used by a workflow to indicate that no workflow state mutation occurred\nwhile processing the update and that it wishes that the update not be\nmade durable (and thus not take up space in workflow history)." - }, - "v1WorkflowUpdateRequestedEventAttributes": { + "v1WorkflowUpdateRejectedEventAttributes": { "type": "object", "properties": { - "header": { - "$ref": "#/definitions/v1Header" + "meta": { + "$ref": "#/definitions/v1Meta" }, - "requestId": { - "type": "string" - }, - "updateId": { - "type": "string" - }, - "update": { - "$ref": "#/definitions/v1WorkflowUpdate" + "failure": { + "$ref": "#/definitions/v1Failure" } } }