diff --git a/command/v1/message.pb.go b/command/v1/message.pb.go index a9da640b..d86923f2 100644 --- a/command/v1/message.pb.go +++ b/command/v1/message.pb.go @@ -1247,6 +1247,7 @@ func (m *ProtocolMessageCommandAttributes) GetMessageId() string { type Command struct { CommandType v13.CommandType `protobuf:"varint,1,opt,name=command_type,json=commandType,proto3,enum=temporal.api.enums.v1.CommandType" json:"command_type,omitempty"` // Types that are valid to be assigned to Attributes: + // // *Command_ScheduleActivityTaskCommandAttributes // *Command_StartTimerCommandAttributes // *Command_CompleteWorkflowExecutionCommandAttributes diff --git a/common/v1/message.pb.go b/common/v1/message.pb.go index 9946e8da..56e35c4b 100644 --- a/common/v1/message.pb.go +++ b/common/v1/message.pb.go @@ -576,7 +576,8 @@ type MeteringMetadata struct { // purposes, and does not affect workflow state. // // (-- api-linter: core::0141::forbidden-types=disabled - // aip.dev/not-precedent: Negative values make no sense to represent. --) + // + // aip.dev/not-precedent: Negative values make no sense to represent. --) NonfirstLocalActivityExecutionAttempts uint32 `protobuf:"varint,13,opt,name=nonfirst_local_activity_execution_attempts,json=nonfirstLocalActivityExecutionAttempts,proto3" json:"nonfirst_local_activity_execution_attempts,omitempty"` } diff --git a/enums/v1/workflow.pb.go b/enums/v1/workflow.pb.go index c4952a4d..8f44f3ed 100644 --- a/enums/v1/workflow.pb.go +++ b/enums/v1/workflow.pb.go @@ -145,7 +145,8 @@ func (ContinueAsNewInitiator) EnumDescriptor() ([]byte, []int) { } // (-- api-linter: core::0216::synonyms=disabled -// aip.dev/not-precedent: There is WorkflowExecutionState already in another package. --) +// +// aip.dev/not-precedent: There is WorkflowExecutionState already in another package. --) type WorkflowExecutionStatus int32 const ( diff --git a/failure/v1/message.pb.go b/failure/v1/message.pb.go index 536dc53f..d37d3731 100644 --- a/failure/v1/message.pb.go +++ b/failure/v1/message.pb.go @@ -513,6 +513,7 @@ type Failure struct { EncodedAttributes *v1.Payload `protobuf:"bytes,20,opt,name=encoded_attributes,json=encodedAttributes,proto3" json:"encoded_attributes,omitempty"` Cause *Failure `protobuf:"bytes,4,opt,name=cause,proto3" json:"cause,omitempty"` // Types that are valid to be assigned to FailureInfo: + // // *Failure_ApplicationFailureInfo // *Failure_TimeoutFailureInfo // *Failure_CanceledFailureInfo diff --git a/history/v1/message.pb.go b/history/v1/message.pb.go index 4c2790d1..8388c6af 100644 --- a/history/v1/message.pb.go +++ b/history/v1/message.pb.go @@ -723,7 +723,8 @@ type WorkflowTaskScheduledEventAttributes struct { // How long the worker has to process this task once receiving it before it times out // // (-- api-linter: core::0140::prepositions=disabled - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) StartToCloseTimeout *time.Duration `protobuf:"bytes,2,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3,stdduration" json:"start_to_close_timeout,omitempty"` // Starting at 1, how many attempts there have been to complete this task Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"` @@ -1165,7 +1166,8 @@ type ActivityTaskScheduledEventAttributes struct { // retries will be attempted. Either this or `start_to_close_timeout` must be specified. // // (-- api-linter: core::0140::prepositions=disabled - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) ScheduleToCloseTimeout *time.Duration `protobuf:"bytes,7,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3,stdduration" json:"schedule_to_close_timeout,omitempty"` // Limits time an activity task can stay in a task queue before a worker picks it up. This // timeout is always non retryable, as all a retry would achieve is to put it back into the same @@ -1173,14 +1175,16 @@ type ActivityTaskScheduledEventAttributes struct { // specified. // // (-- api-linter: core::0140::prepositions=disabled - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) ScheduleToStartTimeout *time.Duration `protobuf:"bytes,8,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3,stdduration" json:"schedule_to_start_timeout,omitempty"` // Maximum time an activity is allowed to execute after being picked up by a worker. This // timeout is always retryable. Either this or `schedule_to_close_timeout` must be // specified. // // (-- api-linter: core::0140::prepositions=disabled - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) StartToCloseTimeout *time.Duration `protobuf:"bytes,9,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3,stdduration" json:"start_to_close_timeout,omitempty"` // Maximum permitted time between successful worker heartbeats. HeartbeatTimeout *time.Duration `protobuf:"bytes,10,opt,name=heartbeat_timeout,json=heartbeatTimeout,proto3,stdduration" json:"heartbeat_timeout,omitempty"` @@ -1783,7 +1787,8 @@ type TimerStartedEventAttributes struct { // How long until this timer fires // // (-- api-linter: core::0140::prepositions=disabled - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) StartToFireTimeout *time.Duration `protobuf:"bytes,2,opt,name=start_to_fire_timeout,json=startToFireTimeout,proto3,stdduration" json:"start_to_fire_timeout,omitempty"` // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with WorkflowTaskCompletedEventId int64 `protobuf:"varint,3,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` @@ -4253,6 +4258,7 @@ type HistoryEvent struct { // The event details. The type must match that in `event_type`. // // Types that are valid to be assigned to Attributes: + // // *HistoryEvent_WorkflowExecutionStartedEventAttributes // *HistoryEvent_WorkflowExecutionCompletedEventAttributes // *HistoryEvent_WorkflowExecutionFailedEventAttributes diff --git a/namespace/v1/message.pb.go b/namespace/v1/message.pb.go index b8766155..f86fd64a 100644 --- a/namespace/v1/message.pb.go +++ b/namespace/v1/message.pb.go @@ -353,8 +353,10 @@ type UpdateNamespaceInfo struct { Data map[string]string `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // New namespace state, server will reject if transition is not allowed. // Allowed transitions are: - // Registered -> [ Deleted | Deprecated | Handover ] - // Handover -> [ Registered ] + // + // Registered -> [ Deleted | Deprecated | Handover ] + // Handover -> [ Registered ] + // // Default is NAMESPACE_STATE_UNSPECIFIED which is do not change state. State v1.NamespaceState `protobuf:"varint,4,opt,name=state,proto3,enum=temporal.api.enums.v1.NamespaceState" json:"state,omitempty"` } diff --git a/operatorservice/v1/request_response.pb.go b/operatorservice/v1/request_response.pb.go index d452b6fd..fc232c20 100644 --- a/operatorservice/v1/request_response.pb.go +++ b/operatorservice/v1/request_response.pb.go @@ -330,9 +330,12 @@ func (m *ListSearchAttributesResponse) GetStorageSchema() map[string]string { } // (-- api-linter: core::0135::request-unknown-fields=disabled -// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --) +// +// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --) +// // (-- api-linter: core::0135::request-name-required=disabled -// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --) +// +// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --) type DeleteNamespaceRequest struct { Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` } diff --git a/protocol/v1/message.pb.go b/protocol/v1/message.pb.go index 0af04118..1d48fb8b 100644 --- a/protocol/v1/message.pb.go +++ b/protocol/v1/message.pb.go @@ -49,7 +49,8 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // (-- api-linter: core::0146::any=disabled -// aip.dev/not-precedent: We want runtime extensibility for the body field --) +// +// aip.dev/not-precedent: We want runtime extensibility for the body field --) type Message struct { // An ID for this specific message. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` diff --git a/schedule/v1/message.pb.go b/schedule/v1/message.pb.go index e46e65dd..43d2e72f 100644 --- a/schedule/v1/message.pb.go +++ b/schedule/v1/message.pb.go @@ -59,11 +59,13 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // CalendarSpec describes an event specification relative to the calendar, // similar to a traditional cron specification, but with labeled fields. Each // field can be one of: -// *: matches always -// x: matches when the field equals x -// x/y : matches when the field equals x+n*y where n is an integer -// x-z: matches when the field is between x and z inclusive -// w,x,y,...: matches when the field is one of the listed values +// +// *: matches always +// x: matches when the field equals x +// x/y : matches when the field equals x+n*y where n is an integer +// x-z: matches when the field is between x and z inclusive +// w,x,y,...: matches when the field is one of the listed values +// // Each x, y, z, ... is either a decimal integer, or a month or day of week name // or abbreviation (in the appropriate fields). // A timestamp matches if all fields match. diff --git a/sdk/v1/task_complete_metadata.pb.go b/sdk/v1/task_complete_metadata.pb.go index ddb33128..924ffa86 100644 --- a/sdk/v1/task_complete_metadata.pb.go +++ b/sdk/v1/task_complete_metadata.pb.go @@ -51,29 +51,31 @@ type WorkflowTaskCompletedMetadata struct { // Internal flags used by the core SDK. SDKs using flags must comply with the following behavior: // // During replay: - // * If a flag is not recognized (value is too high or not defined), it must fail the workflow - // task. - // * If a flag is recognized, it is stored in a set of used flags for the run. Code checks for - // that flag during and after this WFT are allowed to assume that the flag is present. - // * If a code check for a flag does not find the flag in the set of used flags, it must take - // the branch corresponding to the absence of that flag. + // - If a flag is not recognized (value is too high or not defined), it must fail the workflow + // task. + // - If a flag is recognized, it is stored in a set of used flags for the run. Code checks for + // that flag during and after this WFT are allowed to assume that the flag is present. + // - If a code check for a flag does not find the flag in the set of used flags, it must take + // the branch corresponding to the absence of that flag. // // During non-replay execution of new WFTs: - // * The SDK is free to use all flags it knows about. It must record any newly-used (IE: not - // previously recorded) flags when completing the WFT. + // - The SDK is free to use all flags it knows about. It must record any newly-used (IE: not + // previously recorded) flags when completing the WFT. // // SDKs which are too old to even know about this field at all are considered to produce // undefined behavior if they replay workflows which used this mechanism. // // (-- api-linter: core::0141::forbidden-types=disabled - // aip.dev/not-precedent: These really shouldn't have negative values. --) + // + // aip.dev/not-precedent: These really shouldn't have negative values. --) CoreUsedFlags []uint32 `protobuf:"varint,1,rep,packed,name=core_used_flags,json=coreUsedFlags,proto3" json:"core_used_flags,omitempty"` // Flags used by the SDK lang. No attempt is made to distinguish between different SDK languages // here as processing a workflow with a different language than the one which authored it is // already undefined behavior. See `core_used_patches` for more. // // (-- api-linter: core::0141::forbidden-types=disabled - // aip.dev/not-precedent: These really shouldn't have negative values. --) + // + // aip.dev/not-precedent: These really shouldn't have negative values. --) LangUsedFlags []uint32 `protobuf:"varint,2,rep,packed,name=lang_used_flags,json=langUsedFlags,proto3" json:"lang_used_flags,omitempty"` } diff --git a/serviceerror/convert.go b/serviceerror/convert.go index b267277c..402f2130 100644 --- a/serviceerror/convert.go +++ b/serviceerror/convert.go @@ -80,7 +80,7 @@ func FromStatus(st *status.Status) error { return errors.New(st.Message()) // Unsupported codes. - case codes.OutOfRange, + case codes.Aborted, codes.Unauthenticated: // Use standard gRPC error representation for unsupported codes ("rpc error: code = %s desc = %s"). return st.Err() @@ -156,6 +156,13 @@ func FromStatus(st *status.Status) error { default: return newPermissionDenied(st, nil) } + case codes.OutOfRange: + switch errDetails := errDetails.(type) { + case *errordetails.NewerBuildExistsFailure: + return newNewerBuildExists(st, errDetails) + default: + // fall through to st.Err() + } } // `st.Code()` has unknown value (should never happen). diff --git a/serviceerror/newer_build_exists.go b/serviceerror/newer_build_exists.go new file mode 100644 index 00000000..c004bd5b --- /dev/null +++ b/serviceerror/newer_build_exists.go @@ -0,0 +1,77 @@ +// The MIT License +// +// Copyright (c) 2020 Temporal Technologies Inc. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +package serviceerror + +import ( + "fmt" + + "github.com/gogo/status" + "google.golang.org/grpc/codes" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // NewerBuildExists is returned to a poll request from a build that has been superceded by + // a newer build in versioning metadata. + NewerBuildExists struct { + Message string + DefaultBuildID string + st *status.Status + } +) + +// NewNewerBuildExists returns new NewerBuildExists error. +func NewNewerBuildExists(defaultBuildID string) error { + return &NewerBuildExists{ + Message: fmt.Sprintf("Task queue has a newer compatible build: %q", defaultBuildID), + DefaultBuildID: defaultBuildID, + } +} + +// Error returns string message. +func (e *NewerBuildExists) Error() string { + return e.Message +} + +func (e *NewerBuildExists) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.OutOfRange, e.Message) + st, _ = st.WithDetails( + &errordetails.NewerBuildExistsFailure{ + DefaultBuildId: e.DefaultBuildID, + }, + ) + return st +} + +func newNewerBuildExists(st *status.Status, errDetails *errordetails.NewerBuildExistsFailure) error { + return &NewerBuildExists{ + Message: st.Message(), + DefaultBuildID: errDetails.GetDefaultBuildId(), + st: st, + } +} diff --git a/taskqueue/v1/message.pb.go b/taskqueue/v1/message.pb.go index da38f1ed..4c5e4a65 100644 --- a/taskqueue/v1/message.pb.go +++ b/taskqueue/v1/message.pb.go @@ -412,7 +412,8 @@ func (m *PollerInfo) GetWorkerVersionCapabilities() *v11.WorkerVersionCapabiliti type StickyExecutionAttributes struct { WorkerTaskQueue *TaskQueue `protobuf:"bytes,1,opt,name=worker_task_queue,json=workerTaskQueue,proto3" json:"worker_task_queue,omitempty"` // (-- api-linter: core::0140::prepositions=disabled - // aip.dev/not-precedent: "to" is used to indicate interval. --) + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) ScheduleToStartTimeout *time.Duration `protobuf:"bytes,2,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3,stdduration" json:"schedule_to_start_timeout,omitempty"` } diff --git a/workflow/v1/message.pb.go b/workflow/v1/message.pb.go index 1b2c4342..89c4362f 100644 --- a/workflow/v1/message.pb.go +++ b/workflow/v1/message.pb.go @@ -626,7 +626,9 @@ type ResetPointInfo struct { FirstWorkflowTaskCompletedId int64 `protobuf:"varint,3,opt,name=first_workflow_task_completed_id,json=firstWorkflowTaskCompletedId,proto3" json:"first_workflow_task_completed_id,omitempty"` CreateTime *time.Time `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3,stdtime" json:"create_time,omitempty"` // (-- api-linter: core::0214::resource-expiry=disabled - // aip.dev/not-precedent: TTL is not defined for ResetPointInfo. --) + // + // aip.dev/not-precedent: TTL is not defined for ResetPointInfo. --) + // // The time that the run is deleted due to retention. ExpireTime *time.Time `protobuf:"bytes,5,opt,name=expire_time,json=expireTime,proto3,stdtime" json:"expire_time,omitempty"` // false if the reset point has pending childWFs/reqCancels/signalExternals. diff --git a/workflowservice/v1/request_response.pb.go b/workflowservice/v1/request_response.pb.go index c454111a..6dca8083 100644 --- a/workflowservice/v1/request_response.pb.go +++ b/workflowservice/v1/request_response.pb.go @@ -495,9 +495,12 @@ func (m *DescribeNamespaceResponse) GetFailoverHistory() []*v1.FailoverStatus { } // (-- api-linter: core::0134::request-mask-required=disabled -// aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --) +// +// aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --) +// // (-- api-linter: core::0134::request-resource-required=disabled -// aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --) +// +// aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --) type UpdateNamespaceRequest struct { Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` UpdateInfo *v12.UpdateNamespaceInfo `protobuf:"bytes,2,opt,name=update_info,json=updateInfo,proto3" json:"update_info,omitempty"` @@ -4033,9 +4036,12 @@ func (m *TerminateWorkflowExecutionResponse) XXX_DiscardUnknown() { var xxx_messageInfo_TerminateWorkflowExecutionResponse proto.InternalMessageInfo // (-- api-linter: core::0135::request-unknown-fields=disabled -// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --) +// +// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --) +// // (-- api-linter: core::0135::request-name-required=disabled -// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --) +// +// aip.dev/not-precedent: DeleteNamespace RPC doesn't follow Google API format. --) type DeleteWorkflowExecutionRequest struct { Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` // Workflow Execution to delete. If run_id is not specified, the latest one is used. @@ -4129,6 +4135,7 @@ type ListOpenWorkflowExecutionsRequest struct { NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` StartTimeFilter *v111.StartTimeFilter `protobuf:"bytes,4,opt,name=start_time_filter,json=startTimeFilter,proto3" json:"start_time_filter,omitempty"` // Types that are valid to be assigned to Filters: + // // *ListOpenWorkflowExecutionsRequest_ExecutionFilter // *ListOpenWorkflowExecutionsRequest_TypeFilter Filters isListOpenWorkflowExecutionsRequest_Filters `protobuf_oneof:"filters"` @@ -4298,6 +4305,7 @@ type ListClosedWorkflowExecutionsRequest struct { NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` StartTimeFilter *v111.StartTimeFilter `protobuf:"bytes,4,opt,name=start_time_filter,json=startTimeFilter,proto3" json:"start_time_filter,omitempty"` // Types that are valid to be assigned to Filters: + // // *ListClosedWorkflowExecutionsRequest_ExecutionFilter // *ListClosedWorkflowExecutionsRequest_TypeFilter // *ListClosedWorkflowExecutionsRequest_StatusFilter @@ -6016,13 +6024,20 @@ func (m *ListTaskQueuePartitionsResponse) GetWorkflowTaskQueuePartitions() []*v1 } // (-- api-linter: core::0133::request-parent-required=disabled -// aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --) +// +// aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --) +// // (-- api-linter: core::0133::request-unknown-fields=disabled -// aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --) +// +// aip.dev/not-precedent: CreateSchedule doesn't follow Google API format --) +// // (-- api-linter: core::0133::request-resource-behavior=disabled -// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --) +// +// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --) +// // (-- api-linter: core::0203::optional=disabled -// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --) +// +// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --) type CreateScheduleRequest struct { // The namespace the schedule should be created in. Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` @@ -6228,11 +6243,11 @@ func (m *DescribeScheduleRequest) GetScheduleId() string { type DescribeScheduleResponse struct { // The complete current schedule details. This may not match the schedule as // created because: - // - some types of schedule specs may get compiled into others (e.g. - // CronString into StructuredCalendarSpec) - // - some unspecified fields may be replaced by defaults - // - some fields in the state are modified automatically - // - the schedule may have been modified by UpdateSchedule or PatchSchedule + // - some types of schedule specs may get compiled into others (e.g. + // CronString into StructuredCalendarSpec) + // - some unspecified fields may be replaced by defaults + // - some fields in the state are modified automatically + // - the schedule may have been modified by UpdateSchedule or PatchSchedule Schedule *v114.Schedule `protobuf:"bytes,1,opt,name=schedule,proto3" json:"schedule,omitempty"` // Extra schedule state info. Info *v114.ScheduleInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` @@ -6313,7 +6328,8 @@ func (m *DescribeScheduleResponse) GetConflictToken() []byte { } // (-- api-linter: core::0134::request-mask-required=disabled -// aip.dev/not-precedent: UpdateSchedule doesn't follow Google API format --) +// +// aip.dev/not-precedent: UpdateSchedule doesn't follow Google API format --) type UpdateScheduleRequest struct { // The namespace of the schedule to update. Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` @@ -6670,9 +6686,12 @@ func (m *ListScheduleMatchingTimesResponse) GetStartTime() []*time.Time { } // (-- api-linter: core::0135::request-name-required=disabled -// aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --) +// +// aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --) +// // (-- api-linter: core::0135::request-unknown-fields=disabled -// aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --) +// +// aip.dev/not-precedent: DeleteSchedule doesn't follow Google API format --) type DeleteScheduleRequest struct { // The namespace of the schedule to delete. Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` @@ -6884,9 +6903,12 @@ func (m *ListSchedulesResponse) GetNextPageToken() []byte { } // (-- api-linter: core::0134::request-mask-required=disabled -// aip.dev/not-precedent: UpdateWorkerBuildIdCompatibilityRequest doesn't follow Google API format --) +// +// aip.dev/not-precedent: UpdateWorkerBuildIdCompatibilityRequest doesn't follow Google API format --) +// // (-- api-linter: core::0134::request-resource-required=disabled -// aip.dev/not-precedent: UpdateWorkerBuildIdCompatibilityRequest RPC doesn't follow Google API format. --) +// +// aip.dev/not-precedent: UpdateWorkerBuildIdCompatibilityRequest RPC doesn't follow Google API format. --) type UpdateWorkerBuildIdCompatibilityRequest struct { Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` // Must be set, the task queue to apply changes to. Because all workers on a given task queue @@ -6894,6 +6916,7 @@ type UpdateWorkerBuildIdCompatibilityRequest struct { // a task queue type here. TaskQueue string `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` // Types that are valid to be assigned to Operation: + // // *UpdateWorkerBuildIdCompatibilityRequest_AddNewBuildIdInNewDefaultSet // *UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleBuildId // *UpdateWorkerBuildIdCompatibilityRequest_PromoteSetByBuildId @@ -7139,7 +7162,8 @@ func (m *UpdateWorkerBuildIdCompatibilityResponse) GetVersionSetId() string { } // (-- api-linter: core::0134::request-resource-required=disabled -// aip.dev/not-precedent: GetWorkerBuildIdCompatibilityRequest RPC doesn't follow Google API format. --) +// +// aip.dev/not-precedent: GetWorkerBuildIdCompatibilityRequest RPC doesn't follow Google API format. --) type GetWorkerBuildIdCompatibilityRequest struct { Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` // Must be set, the task queue to interrogate about worker id compatibility. @@ -7385,13 +7409,15 @@ func (m *GetWorkerTaskReachabilityResponse) GetBuildIdReachability() []*v14.Buil } // (-- api-linter: core::0134=disabled -// aip.dev/not-precedent: Update RPCs don't follow Google API format. --) +// +// aip.dev/not-precedent: Update RPCs don't follow Google API format. --) type UpdateWorkflowExecutionRequest struct { // The namespace name of the target workflow Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` // The target workflow id and (optionally) a specific run thereof // (-- api-linter: core::0203::optional=disabled - // aip.dev/not-precedent: false positive triggered by the word "optional" --) + // + // aip.dev/not-precedent: false positive triggered by the word "optional" --) WorkflowExecution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` // If set, this call will error if the most recent (if no run id is set on // `workflow_execution`), or specified (if it is) workflow execution is not @@ -7543,6 +7569,7 @@ type StartBatchOperationRequest struct { // Operation input // // Types that are valid to be assigned to Operation: + // // *StartBatchOperationRequest_TerminationOperation // *StartBatchOperationRequest_SignalOperation // *StartBatchOperationRequest_CancellationOperation