@@ -389,6 +389,107 @@ type Topics interface {
389
389
// @param data
390
390
// list of replication cluster id
391
391
SetReplicationClusters (topic utils.TopicName , data []string ) error
392
+
393
+ // GetSubscribeRate Get subscribe rate configuration for a topic
394
+ GetSubscribeRate (utils.TopicName ) (* utils.SubscribeRate , error )
395
+
396
+ // SetSubscribeRate Set subscribe rate configuration for a topic
397
+ SetSubscribeRate (utils.TopicName , utils.SubscribeRate ) error
398
+
399
+ // RemoveSubscribeRate Remove subscribe rate configuration for a topic
400
+ RemoveSubscribeRate (utils.TopicName ) error
401
+
402
+ // GetSubscriptionDispatchRate Get subscription dispatch rate for a topic
403
+ GetSubscriptionDispatchRate (utils.TopicName ) (* utils.DispatchRateData , error )
404
+
405
+ // SetSubscriptionDispatchRate Set subscription dispatch rate for a topic
406
+ SetSubscriptionDispatchRate (utils.TopicName , utils.DispatchRateData ) error
407
+
408
+ // RemoveSubscriptionDispatchRate Remove subscription dispatch rate for a topic
409
+ RemoveSubscriptionDispatchRate (utils.TopicName ) error
410
+
411
+ // GetMaxConsumersPerSubscription Get max consumers per subscription for a topic
412
+ GetMaxConsumersPerSubscription (utils.TopicName ) (int , error )
413
+
414
+ // SetMaxConsumersPerSubscription Set max consumers per subscription for a topic
415
+ SetMaxConsumersPerSubscription (utils.TopicName , int ) error
416
+
417
+ // RemoveMaxConsumersPerSubscription Remove max consumers per subscription for a topic
418
+ RemoveMaxConsumersPerSubscription (utils.TopicName ) error
419
+
420
+ // GetMaxMessageSize Get max message size for a topic
421
+ GetMaxMessageSize (utils.TopicName ) (int , error )
422
+
423
+ // SetMaxMessageSize Set max message size for a topic
424
+ SetMaxMessageSize (utils.TopicName , int ) error
425
+
426
+ // RemoveMaxMessageSize Remove max message size for a topic
427
+ RemoveMaxMessageSize (utils.TopicName ) error
428
+
429
+ // GetMaxSubscriptionsPerTopic Get max subscriptions per topic
430
+ GetMaxSubscriptionsPerTopic (utils.TopicName ) (int , error )
431
+
432
+ // SetMaxSubscriptionsPerTopic Set max subscriptions per topic
433
+ SetMaxSubscriptionsPerTopic (utils.TopicName , int ) error
434
+
435
+ // RemoveMaxSubscriptionsPerTopic Remove max subscriptions per topic
436
+ RemoveMaxSubscriptionsPerTopic (utils.TopicName ) error
437
+
438
+ // GetSchemaValidationEnforced Get schema validation enforced flag for a topic
439
+ GetSchemaValidationEnforced (utils.TopicName ) (bool , error )
440
+
441
+ // SetSchemaValidationEnforced Set schema validation enforced flag for a topic
442
+ SetSchemaValidationEnforced (utils.TopicName , bool ) error
443
+
444
+ // RemoveSchemaValidationEnforced Remove schema validation enforced flag for a topic
445
+ RemoveSchemaValidationEnforced (utils.TopicName ) error
446
+
447
+ // GetDeduplicationSnapshotInterval Get deduplication snapshot interval for a topic
448
+ GetDeduplicationSnapshotInterval (utils.TopicName ) (int , error )
449
+
450
+ // SetDeduplicationSnapshotInterval Set deduplication snapshot interval for a topic
451
+ SetDeduplicationSnapshotInterval (utils.TopicName , int ) error
452
+
453
+ // RemoveDeduplicationSnapshotInterval Remove deduplication snapshot interval for a topic
454
+ RemoveDeduplicationSnapshotInterval (utils.TopicName ) error
455
+
456
+ // GetReplicatorDispatchRate Get replicator dispatch rate for a topic
457
+ GetReplicatorDispatchRate (utils.TopicName ) (* utils.DispatchRateData , error )
458
+
459
+ // SetReplicatorDispatchRate Set replicator dispatch rate for a topic
460
+ SetReplicatorDispatchRate (utils.TopicName , utils.DispatchRateData ) error
461
+
462
+ // RemoveReplicatorDispatchRate Remove replicator dispatch rate for a topic
463
+ RemoveReplicatorDispatchRate (utils.TopicName ) error
464
+
465
+ // GetOffloadPolicies Get offload policies for a topic
466
+ GetOffloadPolicies (utils.TopicName ) (* utils.OffloadPolicies , error )
467
+
468
+ // SetOffloadPolicies Set offload policies for a topic
469
+ SetOffloadPolicies (utils.TopicName , utils.OffloadPolicies ) error
470
+
471
+ // RemoveOffloadPolicies Remove offload policies for a topic
472
+ RemoveOffloadPolicies (utils.TopicName ) error
473
+
474
+ // GetAutoSubscriptionCreation Get auto subscription creation override for a topic
475
+ GetAutoSubscriptionCreation (utils.TopicName ) (* utils.AutoSubscriptionCreationOverride , error )
476
+
477
+ // SetAutoSubscriptionCreation Set auto subscription creation override for a topic
478
+ SetAutoSubscriptionCreation (utils.TopicName ,
479
+ utils.AutoSubscriptionCreationOverride ) error
480
+
481
+ // RemoveAutoSubscriptionCreation Remove auto subscription creation override for a topic
482
+ RemoveAutoSubscriptionCreation (utils.TopicName ) error
483
+
484
+ // GetSchemaCompatibilityStrategy Get schema compatibility strategy for a topic
485
+ GetSchemaCompatibilityStrategy (utils.TopicName ) (utils.SchemaCompatibilityStrategy , error )
486
+
487
+ // SetSchemaCompatibilityStrategy Set schema compatibility strategy for a topic
488
+ SetSchemaCompatibilityStrategy (utils.TopicName ,
489
+ utils.SchemaCompatibilityStrategy ) error
490
+
491
+ // RemoveSchemaCompatibilityStrategy Remove schema compatibility strategy for a topic
492
+ RemoveSchemaCompatibilityStrategy (utils.TopicName ) error
392
493
}
393
494
394
495
type topics struct {
@@ -933,3 +1034,192 @@ func (t *topics) GetReplicationClusters(topic utils.TopicName) ([]string, error)
933
1034
err := t .pulsar .Client .Get (endpoint , & data )
934
1035
return data , err
935
1036
}
1037
+
1038
+ func (t * topics ) GetSubscribeRate (topic utils.TopicName ) (* utils.SubscribeRate , error ) {
1039
+ var subscribeRate utils.SubscribeRate
1040
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "subscribeRate" )
1041
+ err := t .pulsar .Client .Get (endpoint , & subscribeRate )
1042
+ return & subscribeRate , err
1043
+ }
1044
+
1045
+ func (t * topics ) SetSubscribeRate (topic utils.TopicName , subscribeRate utils.SubscribeRate ) error {
1046
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "subscribeRate" )
1047
+ return t .pulsar .Client .Post (endpoint , & subscribeRate )
1048
+ }
1049
+
1050
+ func (t * topics ) RemoveSubscribeRate (topic utils.TopicName ) error {
1051
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "subscribeRate" )
1052
+ return t .pulsar .Client .Delete (endpoint )
1053
+ }
1054
+
1055
+ func (t * topics ) GetSubscriptionDispatchRate (topic utils.TopicName ) (* utils.DispatchRateData , error ) {
1056
+ var dispatchRate utils.DispatchRateData
1057
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "subscriptionDispatchRate" )
1058
+ err := t .pulsar .Client .Get (endpoint , & dispatchRate )
1059
+ return & dispatchRate , err
1060
+ }
1061
+
1062
+ func (t * topics ) SetSubscriptionDispatchRate (topic utils.TopicName , dispatchRate utils.DispatchRateData ) error {
1063
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "subscriptionDispatchRate" )
1064
+ return t .pulsar .Client .Post (endpoint , & dispatchRate )
1065
+ }
1066
+
1067
+ func (t * topics ) RemoveSubscriptionDispatchRate (topic utils.TopicName ) error {
1068
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "subscriptionDispatchRate" )
1069
+ return t .pulsar .Client .Delete (endpoint )
1070
+ }
1071
+
1072
+ func (t * topics ) GetMaxConsumersPerSubscription (topic utils.TopicName ) (int , error ) {
1073
+ var maxConsumers int
1074
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "maxConsumersPerSubscription" )
1075
+ err := t .pulsar .Client .Get (endpoint , & maxConsumers )
1076
+ return maxConsumers , err
1077
+ }
1078
+
1079
+ func (t * topics ) SetMaxConsumersPerSubscription (topic utils.TopicName , maxConsumers int ) error {
1080
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "maxConsumersPerSubscription" )
1081
+ return t .pulsar .Client .Post (endpoint , & maxConsumers )
1082
+ }
1083
+
1084
+ func (t * topics ) RemoveMaxConsumersPerSubscription (topic utils.TopicName ) error {
1085
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "maxConsumersPerSubscription" )
1086
+ return t .pulsar .Client .Delete (endpoint )
1087
+ }
1088
+
1089
+ func (t * topics ) GetMaxMessageSize (topic utils.TopicName ) (int , error ) {
1090
+ var maxMessageSize int
1091
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "maxMessageSize" )
1092
+ err := t .pulsar .Client .Get (endpoint , & maxMessageSize )
1093
+ return maxMessageSize , err
1094
+ }
1095
+
1096
+ func (t * topics ) SetMaxMessageSize (topic utils.TopicName , maxMessageSize int ) error {
1097
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "maxMessageSize" )
1098
+ return t .pulsar .Client .Post (endpoint , & maxMessageSize )
1099
+ }
1100
+
1101
+ func (t * topics ) RemoveMaxMessageSize (topic utils.TopicName ) error {
1102
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "maxMessageSize" )
1103
+ return t .pulsar .Client .Delete (endpoint )
1104
+ }
1105
+
1106
+ func (t * topics ) GetMaxSubscriptionsPerTopic (topic utils.TopicName ) (int , error ) {
1107
+ var maxSubscriptions int
1108
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "maxSubscriptionsPerTopic" )
1109
+ err := t .pulsar .Client .Get (endpoint , & maxSubscriptions )
1110
+ return maxSubscriptions , err
1111
+ }
1112
+
1113
+ func (t * topics ) SetMaxSubscriptionsPerTopic (topic utils.TopicName , maxSubscriptions int ) error {
1114
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "maxSubscriptionsPerTopic" )
1115
+ return t .pulsar .Client .Post (endpoint , & maxSubscriptions )
1116
+ }
1117
+
1118
+ func (t * topics ) RemoveMaxSubscriptionsPerTopic (topic utils.TopicName ) error {
1119
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "maxSubscriptionsPerTopic" )
1120
+ return t .pulsar .Client .Delete (endpoint )
1121
+ }
1122
+
1123
+ func (t * topics ) GetSchemaValidationEnforced (topic utils.TopicName ) (bool , error ) {
1124
+ var enabled bool
1125
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "schemaValidationEnforced" )
1126
+ err := t .pulsar .Client .Get (endpoint , & enabled )
1127
+ return enabled , err
1128
+ }
1129
+
1130
+ func (t * topics ) SetSchemaValidationEnforced (topic utils.TopicName , enabled bool ) error {
1131
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "schemaValidationEnforced" )
1132
+ return t .pulsar .Client .Post (endpoint , enabled )
1133
+ }
1134
+
1135
+ func (t * topics ) RemoveSchemaValidationEnforced (topic utils.TopicName ) error {
1136
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "schemaValidationEnforced" )
1137
+ return t .pulsar .Client .Delete (endpoint )
1138
+ }
1139
+
1140
+ func (t * topics ) GetDeduplicationSnapshotInterval (topic utils.TopicName ) (int , error ) {
1141
+ var interval int
1142
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "deduplicationSnapshotInterval" )
1143
+ err := t .pulsar .Client .Get (endpoint , & interval )
1144
+ return interval , err
1145
+ }
1146
+
1147
+ func (t * topics ) SetDeduplicationSnapshotInterval (topic utils.TopicName , interval int ) error {
1148
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "deduplicationSnapshotInterval" )
1149
+ return t .pulsar .Client .Post (endpoint , & interval )
1150
+ }
1151
+
1152
+ func (t * topics ) RemoveDeduplicationSnapshotInterval (topic utils.TopicName ) error {
1153
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "deduplicationSnapshotInterval" )
1154
+ return t .pulsar .Client .Delete (endpoint )
1155
+ }
1156
+
1157
+ func (t * topics ) GetReplicatorDispatchRate (topic utils.TopicName ) (* utils.DispatchRateData , error ) {
1158
+ var dispatchRate utils.DispatchRateData
1159
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "replicatorDispatchRate" )
1160
+ err := t .pulsar .Client .Get (endpoint , & dispatchRate )
1161
+ return & dispatchRate , err
1162
+ }
1163
+
1164
+ func (t * topics ) SetReplicatorDispatchRate (topic utils.TopicName , dispatchRate utils.DispatchRateData ) error {
1165
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "replicatorDispatchRate" )
1166
+ return t .pulsar .Client .Post (endpoint , & dispatchRate )
1167
+ }
1168
+
1169
+ func (t * topics ) RemoveReplicatorDispatchRate (topic utils.TopicName ) error {
1170
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "replicatorDispatchRate" )
1171
+ return t .pulsar .Client .Delete (endpoint )
1172
+ }
1173
+
1174
+ func (t * topics ) GetAutoSubscriptionCreation (topic utils.TopicName ) (* utils.AutoSubscriptionCreationOverride , error ) {
1175
+ var autoSubCreation utils.AutoSubscriptionCreationOverride
1176
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "autoSubscriptionCreation" )
1177
+ err := t .pulsar .Client .Get (endpoint , & autoSubCreation )
1178
+ return & autoSubCreation , err
1179
+ }
1180
+
1181
+ func (t * topics ) SetAutoSubscriptionCreation (topic utils.TopicName ,
1182
+ autoSubCreation utils.AutoSubscriptionCreationOverride ) error {
1183
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "autoSubscriptionCreation" )
1184
+ return t .pulsar .Client .Post (endpoint , & autoSubCreation )
1185
+ }
1186
+
1187
+ func (t * topics ) RemoveAutoSubscriptionCreation (topic utils.TopicName ) error {
1188
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "autoSubscriptionCreation" )
1189
+ return t .pulsar .Client .Delete (endpoint )
1190
+ }
1191
+
1192
+ func (t * topics ) GetSchemaCompatibilityStrategy (topic utils.TopicName ) (utils.SchemaCompatibilityStrategy , error ) {
1193
+ var strategy utils.SchemaCompatibilityStrategy
1194
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "schemaCompatibilityStrategy" )
1195
+ err := t .pulsar .Client .Get (endpoint , & strategy )
1196
+ return strategy , err
1197
+ }
1198
+
1199
+ func (t * topics ) SetSchemaCompatibilityStrategy (topic utils.TopicName ,
1200
+ strategy utils.SchemaCompatibilityStrategy ) error {
1201
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "schemaCompatibilityStrategy" )
1202
+ return t .pulsar .Client .Put (endpoint , strategy )
1203
+ }
1204
+
1205
+ func (t * topics ) RemoveSchemaCompatibilityStrategy (topic utils.TopicName ) error {
1206
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "schemaCompatibilityStrategy" )
1207
+ return t .pulsar .Client .Delete (endpoint )
1208
+ }
1209
+
1210
+ func (t * topics ) GetOffloadPolicies (topic utils.TopicName ) (* utils.OffloadPolicies , error ) {
1211
+ var offloadPolicies utils.OffloadPolicies
1212
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "offloadPolicies" )
1213
+ err := t .pulsar .Client .Get (endpoint , & offloadPolicies )
1214
+ return & offloadPolicies , err
1215
+ }
1216
+
1217
+ func (t * topics ) SetOffloadPolicies (topic utils.TopicName , offloadPolicies utils.OffloadPolicies ) error {
1218
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "offloadPolicies" )
1219
+ return t .pulsar .Client .Post (endpoint , & offloadPolicies )
1220
+ }
1221
+
1222
+ func (t * topics ) RemoveOffloadPolicies (topic utils.TopicName ) error {
1223
+ endpoint := t .pulsar .endpoint (t .basePath , topic .GetRestPath (), "offloadPolicies" )
1224
+ return t .pulsar .Client .Delete (endpoint )
1225
+ }
0 commit comments