Skip to content
This repository was archived by the owner on Aug 26, 2025. It is now read-only.

Commit f98d676

Browse files
authored
Enable stream-stype serialization for Java Communication Job Router (Azure#29328)
1 parent d88c94b commit f98d676

File tree

2 files changed

+5
-51
lines changed

2 files changed

+5
-51
lines changed

specification/communication/Communication.JobRouter/models.tsp

Lines changed: 4 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,6 @@ union WorkerSelectorAttachmentKind {
353353
weightedAllocation: "weightedAllocation",
354354
}
355355

356-
@clientName("ClassificationPolicyInternal", "java")
357356
@resource("routing/classificationPolicies")
358357
@doc("A container for the rules that govern how jobs are classified.")
359358
model ClassificationPolicy {
@@ -380,7 +379,6 @@ model ClassificationPolicy {
380379
workerSelectorAttachments?: WorkerSelectorAttachment[];
381380
}
382381

383-
@clientName("RouterRuleInternal", "java")
384382
@doc("""
385383
A rule of one of the following types:
386384
StaticRule: A rule providing static rules that always return the same result, regardless of input.
@@ -395,7 +393,6 @@ model RouterRule {
395393
kind: RouterRuleKind;
396394
}
397395

398-
@clientName("DistributionPolicyInternal", "java")
399396
@resource("routing/distributionPolicies")
400397
@doc("Policy governing how jobs are distributed to workers")
401398
model DistributionPolicy {
@@ -416,7 +413,6 @@ model DistributionPolicy {
416413
mode?: DistributionMode;
417414
}
418415

419-
@clientName("DistributionModeInternal", "java")
420416
@doc("Abstract base class for defining a distribution mode.")
421417
@discriminator("kind")
422418
model DistributionMode {
@@ -433,7 +429,6 @@ model DistributionMode {
433429
kind: DistributionModeKind;
434430
}
435431

436-
@clientName("ExceptionPolicyInternal", "java")
437432
@resource("routing/exceptionPolicies")
438433
@doc("A policy that defines actions to execute when exception are triggered.")
439434
model ExceptionPolicy {
@@ -451,7 +446,6 @@ model ExceptionPolicy {
451446
exceptionRules?: ExceptionRule[];
452447
}
453448

454-
@clientName("ExceptionRuleInternal", "java")
455449
@doc("A rule that defines actions to execute upon a specific trigger.")
456450
model ExceptionRule {
457451
@doc("Id of an exception rule.")
@@ -464,7 +458,6 @@ model ExceptionRule {
464458
actions: ExceptionAction[];
465459
}
466460

467-
@clientName("ExceptionTriggerInternal", "java")
468461
@doc("Abstract base class for defining a trigger for exception rules.")
469462
@discriminator("kind")
470463
model ExceptionTrigger {
@@ -481,7 +474,6 @@ model RouterJobNote {
481474
addedAt?: utcDateTime;
482475
}
483476

484-
@clientName("RouterJobInternal", "java")
485477
@resource("routing/jobs")
486478
@doc("A unit of work to be routed")
487479
model RouterJob {
@@ -548,7 +540,6 @@ model RouterJob {
548540
matchingMode?: JobMatchingMode;
549541
}
550542

551-
@clientName("RouterWorkerSelectorInternal", "java")
552543
@doc("Describes a condition that must be met against a set of labels for worker selection.")
553544
model RouterWorkerSelector {
554545
@doc("The label key to query against.")
@@ -598,7 +589,6 @@ model RouterJobAssignment {
598589
closedAt?: utcDateTime;
599590
}
600591

601-
@clientName("JobMatchingModeInternal", "java")
602592
@doc("""
603593
A matching mode of one of the following types:
604594
QueueAndMatchMode: Used when matching worker to a job is required to be done right after job is queued.
@@ -611,7 +601,6 @@ model JobMatchingMode {
611601
kind: JobMatchingModeKind;
612602
}
613603

614-
@clientName("ScheduleAndSuspendModeInternal", "java")
615604
@doc("Describes a matching mode used for scheduling jobs to be queued at a future time. At the specified time, matching worker to a job will not start automatically.")
616605
model ScheduleAndSuspendMode extends JobMatchingMode {
617606
@doc("Requested schedule time.")
@@ -621,22 +610,20 @@ model ScheduleAndSuspendMode extends JobMatchingMode {
621610
kind: JobMatchingModeKind.scheduleAndSuspend;
622611
}
623612

624-
@clientName("QueueAndMatchModeInternal", "java")
625613
@doc("Describes a matching mode where matching worker to a job is automatically started after job is queued successfully.")
626614
model QueueAndMatchMode extends JobMatchingMode {
627615
@doc("The type discriminator describing QueueAndMatchMode")
628616
kind: JobMatchingModeKind.queueAndMatch;
629617
}
630618

631-
@clientName("SuspendModeInternal", "java")
632619
@doc("Describes a matching mode where matching worker to a job is suspended.")
633620
model SuspendMode extends JobMatchingMode {
634621
@doc("The type discriminator describing SuspendMode")
635622
kind: JobMatchingModeKind.suspend;
636623
}
637624

638-
@clientName("CancelJobOptionsInternal", "java")
639625
@access(Access.public, "python")
626+
@access(Access.public, "java")
640627
@doc("Request payload for cancelling a job.")
641628
model CancelJobOptions {
642629
@doc("A note that will be appended to a job's Notes collection with the current timestamp.")
@@ -646,16 +633,16 @@ model CancelJobOptions {
646633
dispositionCode?: string;
647634
}
648635

649-
@clientName("CompleteJobOptionsInternal", "java")
650636
@access(Access.public, "python")
637+
@access(Access.public, "java")
651638
@doc("Request payload for completing jobs.")
652639
model CompleteJobOptions {
653640
@doc("A note that will be appended to a job's Notes collection with the current timestamp.")
654641
note?: string;
655642
}
656643

657-
@clientName("CloseJobOptionsInternal", "java")
658644
@access(Access.public, "python")
645+
@access(Access.public, "java")
659646
@doc("Request payload for closing jobs")
660647
model CloseJobOptions {
661648
@doc("Indicates the outcome of a job, populate this field with your own custom values.")
@@ -713,15 +700,14 @@ model AcceptJobOfferResult {
713700
workerId: string;
714701
}
715702

716-
@clientName("DeclineJobOfferOptionsInternal", "java")
717703
@access(Access.public, "python")
704+
@access(Access.public, "java")
718705
@doc("Request payload for declining offers.")
719706
model DeclineJobOfferOptions {
720707
@doc("If the RetryOfferAt is not provided, then this job will not be offered again to the worker who declined this job unless the worker is de-registered and re-registered. If a RetryOfferAt time is provided, then the job will be re-matched to eligible workers at the retry time in UTC. The worker that declined the job will also be eligible for the job at that time.")
721708
retryOfferAt?: utcDateTime;
722709
}
723710

724-
@clientName("RouterQueueInternal", "java")
725711
@resource("routing/queues")
726712
@doc("A queue that can contain jobs to be routed.")
727713
model RouterQueue {
@@ -746,7 +732,6 @@ model RouterQueue {
746732
exceptionPolicyId?: string;
747733
}
748734

749-
@clientName("RouterQueueStatisticsInternal", "java")
750735
@doc("Statistics for the queue.")
751736
model RouterQueueStatistics {
752737
@doc("Id of the queue these details are about.")
@@ -762,7 +747,6 @@ model RouterQueueStatistics {
762747
longestJobWaitTimeMinutes?: float64;
763748
}
764749

765-
@clientName("RouterWorkerInternal", "java")
766750
@resource("routing/workers")
767751
@doc("An entity for jobs to be routed to.")
768752
model RouterWorker {
@@ -863,7 +847,6 @@ model RouterWorkerAssignment {
863847
assignedAt: utcDateTime;
864848
}
865849

866-
@clientName("BestWorkerModeInternal", "java")
867850
@doc("Jobs are distributed to the worker with the strongest abilities available.")
868851
model BestWorkerMode extends DistributionMode {
869852
@doc("Define a scoring rule to use, when calculating a score to determine the best worker. If not set, will use a default scoring formula that uses the number of job labels that the worker labels match, as well as the number of label selectors the worker labels match and/or exceed using a logistic function (https://en.wikipedia.org/wiki/Logistic_function).")
@@ -894,7 +877,6 @@ model ScoringRuleOptions {
894877
descendingOrder?: boolean = true;
895878
}
896879

897-
@clientName("CancelExceptionActionInternal", "java")
898880
@doc("An action that marks a job as cancelled.")
899881
model CancelExceptionAction extends ExceptionAction {
900882
@doc("A note that will be appended to a job's notes collection with the current timestamp.")
@@ -907,7 +889,6 @@ model CancelExceptionAction extends ExceptionAction {
907889
kind: ExceptionActionKind.cancel;
908890
}
909891

910-
@clientName("ExceptionActionInternal", "java")
911892
@doc("The action to take when the exception is triggered.")
912893
@discriminator("kind")
913894
model ExceptionAction {
@@ -918,7 +899,6 @@ model ExceptionAction {
918899
kind: ExceptionActionKind;
919900
}
920901

921-
@clientName("ConditionalQueueSelectorAttachmentInternal", "java")
922902
@doc("Describes a set of queue selectors that will be attached if the given condition resolves to true.")
923903
model ConditionalQueueSelectorAttachment extends QueueSelectorAttachment {
924904
@doc("The condition that must be true for the queue selectors to be attached.")
@@ -931,7 +911,6 @@ model ConditionalQueueSelectorAttachment extends QueueSelectorAttachment {
931911
kind: QueueSelectorAttachmentKind.conditional;
932912
}
933913

934-
@clientName("RouterQueueSelectorInternal", "java")
935914
@doc("Describes a condition that must be met against a set of labels for queue selection.")
936915
model RouterQueueSelector {
937916
@doc("The label key to query against.")
@@ -945,15 +924,13 @@ model RouterQueueSelector {
945924
value?: unknown;
946925
}
947926

948-
@clientName("QueueSelectorAttachmentInternal", "java")
949927
@doc("An attachment of queue selectors to resolve a queue to a job from a classification policy.")
950928
@discriminator("kind")
951929
model QueueSelectorAttachment {
952930
@doc("The type discriminator describing a sub-type of QueueSelectorAttachment.")
953931
kind: QueueSelectorAttachmentKind;
954932
}
955933

956-
@clientName("ConditionalWorkerSelectorAttachmentInternal", "java")
957934
@doc("Describes a set of worker selectors that will be attached if the given condition resolves to true.")
958935
model ConditionalWorkerSelectorAttachment extends WorkerSelectorAttachment {
959936
@doc("The condition that must be true for the worker selectors to be attached.")
@@ -966,22 +943,19 @@ model ConditionalWorkerSelectorAttachment extends WorkerSelectorAttachment {
966943
kind: WorkerSelectorAttachmentKind.conditional;
967944
}
968945

969-
@clientName("WorkerSelectorAttachmentInternal", "java")
970946
@doc("An attachment which attaches worker selectors to a job.")
971947
@discriminator("kind")
972948
model WorkerSelectorAttachment {
973949
@doc("The type discriminator describing a sub-type of WorkerSelectorAttachment.")
974950
kind: WorkerSelectorAttachmentKind;
975951
}
976952

977-
@clientName("DirectMapRouterRuleInternal", "java")
978953
@doc("A rule that return the same labels as the input labels.")
979954
model DirectMapRouterRule extends RouterRule {
980955
@doc("The type discriminator describing a sub-type of Rule.")
981956
kind: RouterRuleKind.directMap;
982957
}
983958

984-
@clientName("ExpressionRouterRuleInternal", "java")
985959
@doc("A rule providing inline expression rules.")
986960
model ExpressionRouterRule extends RouterRule {
987961
@doc("The expression language to compile to and execute.")
@@ -994,7 +968,6 @@ model ExpressionRouterRule extends RouterRule {
994968
kind: RouterRuleKind.expression;
995969
}
996970

997-
@clientName("FunctionRouterRuleInternal", "java")
998971
@doc("A rule providing a binding to an HTTP Triggered Azure Function.")
999972
model FunctionRouterRule extends RouterRule {
1000973
@doc("URL for Azure Function.")
@@ -1019,14 +992,12 @@ model FunctionRouterRuleCredential {
1019992
clientId?: string;
1020993
}
1021994

1022-
@clientName("LongestIdleModeInternal", "java")
1023995
@doc("Jobs are directed to the worker who has been idle longest.")
1024996
model LongestIdleMode extends DistributionMode {
1025997
@doc("The type discriminator describing a sub-type of Mode.")
1026998
kind: DistributionModeKind.longestIdle;
1027999
}
10281000

1029-
@clientName("ManualReclassifyExceptionActionInternal", "java")
10301001
@doc("An action that manually reclassifies a job by providing the queue, priority and worker selectors.")
10311002
model ManualReclassifyExceptionAction extends ExceptionAction {
10321003
@doc("Updated QueueId.")
@@ -1052,7 +1023,6 @@ model OAuth2WebhookClientCredential {
10521023
clientSecret?: string;
10531024
}
10541025

1055-
@clientName("PassThroughQueueSelectorAttachmentInternal", "java")
10561026
@doc("Attaches a queue selector where the value is passed through from a job's label with the same key.")
10571027
model PassThroughQueueSelectorAttachment extends QueueSelectorAttachment {
10581028
@doc("The label key to query against.")
@@ -1065,7 +1035,6 @@ model PassThroughQueueSelectorAttachment extends QueueSelectorAttachment {
10651035
kind: QueueSelectorAttachmentKind.passThrough;
10661036
}
10671037

1068-
@clientName("PassThroughWorkerSelectorAttachmentInternal", "java")
10691038
@doc("Attaches a worker selector where the value is passed through from a job's label with the same key.")
10701039
model PassThroughWorkerSelectorAttachment extends WorkerSelectorAttachment {
10711040
@doc("The label key to query against.")
@@ -1081,7 +1050,6 @@ model PassThroughWorkerSelectorAttachment extends WorkerSelectorAttachment {
10811050
kind: WorkerSelectorAttachmentKind.passThrough;
10821051
}
10831052

1084-
@clientName("QueueLengthExceptionTriggerInternal", "java")
10851053
@doc("Trigger for an exception action on exceeding queue length.")
10861054
model QueueLengthExceptionTrigger extends ExceptionTrigger {
10871055
@doc("Threshold of number of jobs ahead in the queue to for this trigger to fire.")
@@ -1091,7 +1059,6 @@ model QueueLengthExceptionTrigger extends ExceptionTrigger {
10911059
kind: ExceptionTriggerKind.queueLength;
10921060
}
10931061

1094-
@clientName("QueueWeightedAllocationInternal", "java")
10951062
@doc("Contains the weight percentage and queue selectors to be applied if selected for weighted distributions.")
10961063
model QueueWeightedAllocation {
10971064
@doc("The percentage of this weight, expressed as a fraction of 1.")
@@ -1101,7 +1068,6 @@ model QueueWeightedAllocation {
11011068
queueSelectors: RouterQueueSelector[];
11021069
}
11031070

1104-
@clientName("ReclassifyExceptionActionInternal", "java")
11051071
@doc("An action that modifies labels on a job and then reclassifies it.")
11061072
model ReclassifyExceptionAction extends ExceptionAction {
11071073
@doc("The new classification policy that will determine queue, priority and worker selectors.")
@@ -1115,14 +1081,12 @@ model ReclassifyExceptionAction extends ExceptionAction {
11151081
kind: ExceptionActionKind.reclassify;
11161082
}
11171083

1118-
@clientName("RoundRobinModeInternal", "java")
11191084
@doc("Jobs are distributed in order to workers, starting with the worker that is after the last worker to receive a job.")
11201085
model RoundRobinMode extends DistributionMode {
11211086
@doc("The type discriminator describing a sub-type of Mode.")
11221087
kind: DistributionModeKind.roundRobin;
11231088
}
11241089

1125-
@clientName("RuleEngineQueueSelectorAttachmentInternal", "java")
11261090
@doc("Attaches queue selectors to a job when the RouterRule is resolved.")
11271091
model RuleEngineQueueSelectorAttachment extends QueueSelectorAttachment {
11281092
@doc("A RouterRule that resolves a collection of queue selectors to attach.")
@@ -1132,7 +1096,6 @@ model RuleEngineQueueSelectorAttachment extends QueueSelectorAttachment {
11321096
kind: QueueSelectorAttachmentKind.ruleEngine;
11331097
}
11341098

1135-
@clientName("RuleEngineWorkerSelectorAttachmentInternal", "java")
11361099
@doc("Attaches worker selectors to a job when a RouterRule is resolved.")
11371100
model RuleEngineWorkerSelectorAttachment extends WorkerSelectorAttachment {
11381101
@doc("A RouterRule that resolves a collection of worker selectors to attach.")
@@ -1142,7 +1105,6 @@ model RuleEngineWorkerSelectorAttachment extends WorkerSelectorAttachment {
11421105
kind: WorkerSelectorAttachmentKind.ruleEngine;
11431106
}
11441107

1145-
@clientName("StaticQueueSelectorAttachmentInternal", "java")
11461108
@doc("Describes a queue selector that will be attached to a job.")
11471109
model StaticQueueSelectorAttachment extends QueueSelectorAttachment {
11481110
@doc("The queue selector to attach.")
@@ -1152,7 +1114,6 @@ model StaticQueueSelectorAttachment extends QueueSelectorAttachment {
11521114
kind: QueueSelectorAttachmentKind.static;
11531115
}
11541116

1155-
@clientName("StaticRouterRuleInternal", "java")
11561117
@doc("A rule providing static rules that always return the same result, regardless of input.")
11571118
model StaticRouterRule extends RouterRule {
11581119
#suppress "@azure-tools/typespec-azure-core/no-unknown" "Unions are currently not allowed in spec."
@@ -1163,7 +1124,6 @@ model StaticRouterRule extends RouterRule {
11631124
kind: RouterRuleKind.static;
11641125
}
11651126

1166-
@clientName("StaticWorkerSelectorAttachmentInternal", "java")
11671127
@doc("Describes a worker selector that will be attached to a job.")
11681128
model StaticWorkerSelectorAttachment extends WorkerSelectorAttachment {
11691129
@doc("The worker selector to attach.")
@@ -1173,7 +1133,6 @@ model StaticWorkerSelectorAttachment extends WorkerSelectorAttachment {
11731133
kind: WorkerSelectorAttachmentKind.static;
11741134
}
11751135

1176-
@clientName("WaitTimeExceptionTriggerInternal", "java")
11771136
@doc("Trigger for an exception action on exceeding wait time.")
11781137
model WaitTimeExceptionTrigger extends ExceptionTrigger {
11791138
@doc("Threshold for wait time for this trigger.")
@@ -1183,7 +1142,6 @@ model WaitTimeExceptionTrigger extends ExceptionTrigger {
11831142
kind: ExceptionTriggerKind.waitTime;
11841143
}
11851144

1186-
@clientName("WebhookRouterRuleInternal", "java")
11871145
@doc("A rule providing a binding to an external web server.")
11881146
model WebhookRouterRule extends RouterRule {
11891147
@doc("Uri for Authorization Server.")
@@ -1199,7 +1157,6 @@ model WebhookRouterRule extends RouterRule {
11991157
kind: RouterRuleKind.webhook;
12001158
}
12011159

1202-
@clientName("WeightedAllocationQueueSelectorAttachmentInternal", "java")
12031160
@doc("Describes multiple sets of queue selectors, of which one will be selected and attached according to a weighting.")
12041161
model WeightedAllocationQueueSelectorAttachment
12051162
extends QueueSelectorAttachment {
@@ -1210,7 +1167,6 @@ model WeightedAllocationQueueSelectorAttachment
12101167
kind: QueueSelectorAttachmentKind.weightedAllocation;
12111168
}
12121169

1213-
@clientName("WeightedAllocationWorkerSelectorAttachmentInternal", "java")
12141170
@doc("Describes multiple sets of worker selectors, of which one will be selected and attached according to a weighting.")
12151171
model WeightedAllocationWorkerSelectorAttachment
12161172
extends WorkerSelectorAttachment {
@@ -1221,7 +1177,6 @@ model WeightedAllocationWorkerSelectorAttachment
12211177
kind: WorkerSelectorAttachmentKind.weightedAllocation;
12221178
}
12231179

1224-
@clientName("WorkerWeightedAllocationInternal", "java")
12251180
@doc("Contains the weight percentage and worker selectors to be applied if selected for weighted distributions.")
12261181
model WorkerWeightedAllocation {
12271182
@doc("The percentage of this weight, expressed as a fraction of 1.")

0 commit comments

Comments
 (0)