@@ -35,6 +35,13 @@ import com.linkedin.gradle.hadoopdsl.HadoopDslMethod;
35
35
* usesOrigin 'FELLOWSHIP' // Optional
36
36
* usesFramework 'PHOTON_CONNECT' // Optional
37
37
* usesModelSupplementaryDataLocation '/user/testmodelregsvc/trained-models-supplementary-data' // Optional
38
+ * usesEnableQuasarModelBundle // Optional
39
+ * usesEnableAutoPublish // Optional
40
+ * usesAutoPublishModelName // Required if usesEnableAutoPublish is true
41
+ * usesAutoPublishModelDeploymentGroupName // Required if usesEnableAutoPublish is true
42
+ * usesAutoPublishVersionUpdateType // Optional
43
+ * usesAutoPublishModelContainsPiiData // Required if usesEnableAutoPublish is true
44
+ * usesAutoPublishModelContainsConfidentialData // Required if usesEnableAutoPublish is true
38
45
*}* </pre>*/
39
46
class KabootarJob extends HadoopJavaJob {
40
47
// Required
@@ -49,6 +56,14 @@ class KabootarJob extends HadoopJavaJob {
49
56
String origin;
50
57
String framework;
51
58
String modelSupplementaryDataLocation;
59
+ Boolean enableQuasarModelBundle;
60
+ Boolean enableAutoPublish;
61
+ String autoPublishModelName; // required if enableAutoPublish is true
62
+ String autoPublishModelDeploymentGroupName; // required if enableAutoPublish is true
63
+ String autoPublishVersionUpdateType;
64
+ Boolean autoPublishModelContainsPiiData; // required if enableAutoPublish is true
65
+ Boolean autoPublishModelContainsConfidentialData; // required if enableAutoPublish is true
66
+
52
67
53
68
/**
54
69
* Constructor for KabootarJob.
@@ -86,6 +101,13 @@ class KabootarJob extends HadoopJavaJob {
86
101
cloneJob. origin = origin;
87
102
cloneJob. framework = framework;
88
103
cloneJob. modelSupplementaryDataLocation = modelSupplementaryDataLocation;
104
+ cloneJob. enableQuasarModelBundle = enableQuasarModelBundle;
105
+ cloneJob. enableAutoPublish = enableAutoPublish;
106
+ cloneJob. autoPublishModelName = autoPublishModelName;
107
+ cloneJob. autoPublishModelDeploymentGroupName = autoPublishModelDeploymentGroupName;
108
+ cloneJob. autoPublishVersionUpdateType = autoPublishVersionUpdateType;
109
+ cloneJob. autoPublishModelContainsPiiData = autoPublishModelContainsPiiData;
110
+ cloneJob. autoPublishModelContainsConfidentialData = autoPublishModelContainsConfidentialData;
89
111
return ((KabootarJob ) super . clone(cloneJob));
90
112
}
91
113
@@ -198,4 +220,87 @@ class KabootarJob extends HadoopJavaJob {
198
220
this . modelSupplementaryDataLocation = modelSupplementaryDataLocation;
199
221
setJobProperty(" model.supplementary.data.path" , modelSupplementaryDataLocation);
200
222
}
223
+
224
+ /**
225
+ * DSL usesEnableQuasarModelBundle method causes enable.quasar.model.bundle to be set in the job file.
226
+ *
227
+ * @param enable.quasar.model.bundle - Flag that enables quasar model bundle format for models produced by Kabootar
228
+ */
229
+ @HadoopDslMethod
230
+ void usesEnableQuasarModelBundle (Boolean enableQuasarModelBundle ) {
231
+ this . enableQuasarModelBundle = enableQuasarModelBundle;
232
+ setJobProperty(" enable.quasar.model.bundle" , enableQuasarModelBundle);
233
+ }
234
+
235
+ /**
236
+ * DSL usesEnableAutoPublish method causes auto.publish.enabled to be set in the job file.
237
+ *
238
+ * @param enableAutoPublish - Flag that controls whether Kabootar should auto-publish the trained model
239
+ */
240
+ @HadoopDslMethod
241
+ void usesEnableAutoPublish (Boolean enableAutoPublish ) {
242
+ this . enableAutoPublish = enableAutoPublish;
243
+ setJobProperty(" auto.publish.enabled" , enableAutoPublish);
244
+ }
245
+
246
+ /**
247
+ * DSL usesAutoPublishModelName method causes auto.publish.model.name to be set in the job file.
248
+ *
249
+ * @param autoPublishModelName - Intended auto-published model name.
250
+ */
251
+ @HadoopDslMethod
252
+ void usesAutoPublishModelName (String autoPublishModelName ) {
253
+ this . autoPublishModelName = autoPublishModelName;
254
+ setJobProperty(" auto.publish.model.name" , autoPublishModelName);
255
+ }
256
+
257
+ /**
258
+ * DSL usesAutoPublishModelDeploymentGroupName method causes auto.publish.model.deployment.group.name to be set in the
259
+ * job file.
260
+ *
261
+ * @param autoPublishModelDeploymentGroupName - Intended model deployment group name that the trained model will be
262
+ * auto-published into. This model deployment group must exist and the publisher needs to have DEVELOPMENT_TEAM role
263
+ * for the group.
264
+ */
265
+ @HadoopDslMethod
266
+ void usesAutoPublishModelDeploymentGroupName (String autoPublishModelDeploymentGroupName ) {
267
+ this . autoPublishModelDeploymentGroupName = autoPublishModelDeploymentGroupName;
268
+ setJobProperty(" auto.publish.model.deployment.group.name" , autoPublishModelDeploymentGroupName);
269
+ }
270
+
271
+ /**
272
+ * DSL usesAutoPublishVersionUpdateType method causes auto.publish.version.update.type to be set in the job file.
273
+ *
274
+ * @param autoPublishVersionUpdateType - auto-publish model version update type. Can be patch, minor or major.
275
+ */
276
+ @HadoopDslMethod
277
+ void usesAutoPublishVersionUpdateType (String autoPublishVersionUpdateType ) {
278
+ this . autoPublishVersionUpdateType = autoPublishVersionUpdateType;
279
+ setJobProperty(" auto.publish.version.update.type" , autoPublishVersionUpdateType);
280
+ }
281
+
282
+ /**
283
+ * DSL usesAutoPublishModelContainsPiiData method causes auto.publish.model.contains.pii.data to be set in the job
284
+ * file.
285
+ *
286
+ * @param autoPublishModelContainsPiiData - Indicate whether the to be auto-published trained model contains PII data.
287
+ */
288
+ @HadoopDslMethod
289
+ void usesAutoPublishModelContainsPiiData (Boolean autoPublishModelContainsPiiData ) {
290
+ this . autoPublishModelContainsPiiData = autoPublishModelContainsPiiData;
291
+ setJobProperty(" auto.publish.model.contains.pii.data" , autoPublishModelContainsPiiData);
292
+ }
293
+
294
+ /**
295
+ * DSL usesAutoPublishModelContainsConfidentialData method causes auto.publish.model.contains.confidential.data to
296
+ * be set in the job file.
297
+ *
298
+ * @param autoPublishModelContainsConfidentialData - Indicate whether the to be auto-published trained model contains
299
+ * confidential data.
300
+ */
301
+ @HadoopDslMethod
302
+ void usesAutoPublishModelContainsConfidentialData (Boolean autoPublishModelContainsConfidentialData ) {
303
+ this . autoPublishModelContainsConfidentialData = autoPublishModelContainsConfidentialData;
304
+ setJobProperty(" auto.publish.model.contains.confidential.data" , autoPublishModelContainsConfidentialData);
305
+ }
201
306
}
0 commit comments