blob: c145dbcee8134b542c93129b29a69725f9427510 [file] [log] [blame]
Lusheng Ji6553a132017-10-12 02:47:00 +00001CDAP Broker API 4.0.10
2======================
3
4.. toctree::
5 :maxdepth: 3
6
7
8
9
10
11DEFAULT
12~~~~~~~
13
14
15
16
17DELETE ``/application/{appname}``
18---------------------------------
19
20
21
22Description
23+++++++++++
24
25.. raw:: html
26
27 Remove an app for service and configuration discovery. This will remove the metrics and health endpoints for this app.
28
29Parameters
30++++++++++
31
32.. csv-table::
33 :delim: |
34 :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
35 :widths: 20, 15, 10, 10, 10, 20, 30
36
37 appname | path | Yes | string | text | | Name of the application.
38
39
40Request
41+++++++
42
43
44Responses
45+++++++++
46
47**200**
48^^^^^^^
49
50Successful response
51
52
53**404**
54^^^^^^^
55
56no app with name 'appname' registered with this broker.
57
58
59
60
61
62
63GET ``/``
64---------
65
66
67
68Description
69+++++++++++
70
71.. raw:: html
72
73 shows some information about this service
74
75
76Request
77+++++++
78
79
80Responses
81+++++++++
82
83**200**
84^^^^^^^
85
86successful response
87
88
89Type: :ref:`info <d_060ca512d6d771a97a7d0f50886f6b14>`
90
91**Example:**
92
93.. code-block:: javascript
94
95 {
96 "broker API version": "somestring",
97 "cdap GUI port": 1,
98 "cdap cluster version": "somestring",
99 "managed cdap url": "somestring",
100 "number of applications registered": 1,
101 "uptime (s)": 1
102 }
103
104
105
106
107
108GET ``/application``
109--------------------
110
111
112
113Description
114+++++++++++
115
116.. raw:: html
117
118 get all applications registered with this broker
119
120
121Request
122+++++++
123
124
125Responses
126+++++++++
127
128**200**
129^^^^^^^
130
131successful response
132
133
134Type: array of :ref:`appname <d_2f6991f1775468c3ce48a2778455be93>`
135
136
137**Example:**
138
139.. code-block:: javascript
140
141 [
142 "somestring",
143 "somestring"
144 ]
145
146
147
148
149
150GET ``/application/{appname}``
151------------------------------
152
153
154
155Description
156+++++++++++
157
158.. raw:: html
159
160 Returns the representation of the application resource, including the links for healthcheck and metrics.
161
162Parameters
163++++++++++
164
165.. csv-table::
166 :delim: |
167 :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
168 :widths: 20, 15, 10, 10, 10, 20, 30
169
170 appname | path | Yes | string | text | | Name of the application.
171
172
173Request
174+++++++
175
176
177Responses
178+++++++++
179
180**200**
181^^^^^^^
182
183Successful response
184
185
186Type: :ref:`Application <d_2b315c86978b3cd8c6edfbe745f1afa2>`
187
188**Example:**
189
190.. code-block:: javascript
191
192 {
193 "appname": "somestring",
194 "connectionurl": "somestring",
195 "healthcheckurl": "somestring",
196 "metricsurl": "somestring",
197 "serviceendpoints": [
198 {
199 "method": "somestring",
200 "url": "somestring"
201 },
202 {
203 "method": "somestring",
204 "url": "somestring"
205 }
206 ],
207 "url": "somestring"
208 }
209
210**404**
211^^^^^^^
212
213no app with name 'appname' registered with this broker.
214
215
216
217
218
219
220GET ``/application/{appname}/healthcheck``
221------------------------------------------
222
223
224
225Description
226+++++++++++
227
228.. raw:: html
229
230 Perform a healthcheck on the running app appname.
231
232Parameters
233++++++++++
234
235.. csv-table::
236 :delim: |
237 :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
238 :widths: 20, 15, 10, 10, 10, 20, 30
239
240 appname | path | Yes | string | test | | Name of the application to get the healthcheck for.
241
242
243Request
244+++++++
245
246
247Responses
248+++++++++
249
250**200**
251^^^^^^^
252
253Successful response, healthcheck pass
254
255
256**404**
257^^^^^^^
258
259no app with name 'appname' registered with this broker, or the healthcheck has failed (though I would like to disambiguiate from the first case, CDAP returns a 404 for this).
260
261
262
263
264
265
266GET ``/application/{appname}/metrics``
267--------------------------------------
268
269
270
271Description
272+++++++++++
273
274.. raw:: html
275
276 Get live (real-time) app specific metrics for the running app appname. Metrics are customized per each app by the component developer
277
278Parameters
279++++++++++
280
281.. csv-table::
282 :delim: |
283 :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
284 :widths: 20, 15, 10, 10, 10, 20, 30
285
286 appname | path | Yes | string | test | | Name of the application to get metrics for.
287
288
289Request
290+++++++
291
292
293Responses
294+++++++++
295
296**200**
297^^^^^^^
298
299Successful response
300
301
302Type: :ref:`MetricsObject <d_5d4c5a47c1043833affa67eb27bf3d9d>`
303
304**Example:**
305
306.. code-block:: javascript
307
308 {
309 "appmetrics": {}
310 }
311
312**404**
313^^^^^^^
314
315no app with name 'appname' registered with this broker.
316
317
318
319
320
321
322POST ``/application/delete``
323----------------------------
324
325
326
327Description
328+++++++++++
329
330.. raw:: html
331
332 endpoint to delete multiple applications at once. Returns an array of status codes, where statuscode[i] = response returned from DELETE(application/i)
333
334
335Request
336+++++++
337
338
339
340.. _d_c0830b0f8b495da06c2fef152ce05dba:
341
342Body
343^^^^
344
345.. csv-table::
346 :delim: |
347 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
348 :widths: 20, 10, 15, 15, 30, 25
349
350 appnames | No | array of :ref:`appname <d_2f6991f1775468c3ce48a2778455be93>` | | |
351
352.. code-block:: javascript
353
354 {
355 "appnames": [
356 "somestring",
357 "somestring"
358 ]
359 }
360
361Responses
362+++++++++
363
364**200**
365^^^^^^^
366
367successful response
368
369
370Type: array of :ref:`returncode <d_5a28f16eed72be7d9a8279c0e1f05386>`
371
372
373**Example:**
374
375.. code-block:: javascript
376
377 [
378 1,
379 1
380 ]
381
382
383
384
385
386PUT ``/application/{appname}``
387------------------------------
388
389
390
391Description
392+++++++++++
393
394.. raw:: html
395
396 Register an app for service and configuration discovery. This will light up a metrics and health endpoint for this app. `appname` is assumed to also be the key in consul.
397
398Parameters
399++++++++++
400
401.. csv-table::
402 :delim: |
403 :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
404 :widths: 20, 15, 10, 10, 10, 20, 30
405
406 appname | path | Yes | string | text | | Name of the application.
407
408
409Request
410+++++++
411
412
413
414.. _d_a151b00939024528c17a91cf47a4eae3:
415
416Body
417^^^^
418
419.. csv-table::
420 :delim: |
421 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
422 :widths: 20, 10, 15, 15, 30, 25
423
424 app_config | No | :ref:`app_config <i_13b2658afc25a955a6b4b48b9898c1a3>` | | | the application config JSON
425 app_preferences | No | :ref:`app_preferences <i_57297f6d8a6251aeb045f0872bf38d81>` | | | the application preferences JSON
426 artifact_name | No | string | | | the name of the CDAP artifact to be added
427 cdap_application_type | No | string | | {'enum': ['program-flowlet']} | denotes whether this is a program-flowlet style application or a hydrator pipeline. For program-flowlet style apps, this value must be 'program-flowlet'
428 jar_url | No | string | | | the URL that the JAR you're deploying resides
429 namespace | No | string | | | the cdap namespace this is deployed into
430 program_preferences | No | array of :ref:`programpref <d_610742fa78204adc388d0f7fbe30ad61>` | | |
431 programs | No | array of :ref:`programs <d_7bc8b39312a070aee5928f4e730192ae>` | | |
432 services | No | array of :ref:`service_endpoint <d_ad781f0dd64e16123fc1cbfefb4b9ded>` | | |
433 streamname | No | string | | | name of the CDAP stream to ingest data into this app. Should come from the developer and Tosca model.
434
435.. _i_13b2658afc25a955a6b4b48b9898c1a3:
436
437**App_config schema:**
438
439
440the application config JSON
441
442
443
444.. _i_57297f6d8a6251aeb045f0872bf38d81:
445
446**App_preferences schema:**
447
448
449the application preferences JSON
450
451
452
453.. code-block:: javascript
454
455 {
456 "app_config": {},
457 "app_preferences": {},
458 "artifact_name": "somestring",
459 "cdap_application_type": "program-flowlet",
460 "jar_url": "somestring",
461 "namespace": "somestring",
462 "program_preferences": [
463 {
464 "program_id": "somestring",
465 "program_pref": {},
466 "program_type": "somestring"
467 },
468 {
469 "program_id": "somestring",
470 "program_pref": {},
471 "program_type": "somestring"
472 }
473 ],
474 "programs": [
475 {
476 "program_id": "somestring",
477 "program_type": "somestring"
478 },
479 {
480 "program_id": "somestring",
481 "program_type": "somestring"
482 }
483 ],
484 "services": [
485 {
486 "endpoint_method": "somestring",
487 "service_endpoint": "somestring",
488 "service_name": "somestring"
489 },
490 {
491 "endpoint_method": "somestring",
492 "service_endpoint": "somestring",
493 "service_name": "somestring"
494 }
495 ],
496 "streamname": "somestring"
497 }
498
499Responses
500+++++++++
501
502**200**
503^^^^^^^
504
505Successful response
506
507
508Type: :ref:`Application <d_2b315c86978b3cd8c6edfbe745f1afa2>`
509
510**Example:**
511
512.. code-block:: javascript
513
514 {
515 "appname": "somestring",
516 "connectionurl": "somestring",
517 "healthcheckurl": "somestring",
518 "metricsurl": "somestring",
519 "serviceendpoints": [
520 {
521 "method": "somestring",
522 "url": "somestring"
523 },
524 {
525 "method": "somestring",
526 "url": "somestring"
527 }
528 ],
529 "url": "somestring"
530 }
531
532**400**
533^^^^^^^
534
535put was performed but the appname was already registered with the broker, or Invalid PUT body
536
537
538
539
540
541
542PUT ``/application*/{appname}``
543-------------------------------
544
545
546
547Description
548+++++++++++
549
550.. raw:: html
551
552 (This is a hacky way of supporting "oneOf" because Swagger does not support oneOf https://github.com/OAI/OpenAPI-Specification/issues/333. This is the same endpoint as PUT /application/appname, except the PUT body is different.)
553
554Register a hydrator app for service and configuration discovery. This will light up a metrics and health endpoint for this app. `appname` is assumed to also be the key in consul.
555
556Parameters
557++++++++++
558
559.. csv-table::
560 :delim: |
561 :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
562 :widths: 20, 15, 10, 10, 10, 20, 30
563
564 appname | path | Yes | string | text | | Name of the application.
565
566
567Request
568+++++++
569
570
571
572.. _d_d43078a75182938dccdbeac654cea43c:
573
574Body
575^^^^
576
577.. csv-table::
578 :delim: |
579 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
580 :widths: 20, 10, 15, 15, 30, 25
581
582 cdap_application_type | Yes | string | | {'enum': ['hydrator-pipeline']} | denotes whether this is a program-flowlet style application or a hydrator pipeline. For hydrator, this value must be 'hydrator-pipeline'
583 dependencies | No | array of :ref:`hydratordep <d_c5aa8c778f283571705fbe7a21d0f5c7>` | | | represents a list of dependencies to be loaded for this pipeline. Not required.
584 namespace | Yes | string | | | the cdap namespace this is deployed into
585 pipeline_config_json_url | Yes | string | | | the URL of the config.json for this pipeline
586 streamname | Yes | string | | | name of the CDAP stream to ingest data into this app. Should come from the developer and Tosca model.
587
588.. code-block:: javascript
589
590 {
591 "cdap_application_type": "hydrator-pipeline",
592 "dependencies": [
593 {
594 "artifact_extends_header": "somestring",
595 "artifact_name": "somestring",
596 "artifact_url": "somestring",
597 "artifact_version_header": "somestring",
598 "ui_properties_url": "somestring"
599 },
600 {
601 "artifact_extends_header": "somestring",
602 "artifact_name": "somestring",
603 "artifact_url": "somestring",
604 "artifact_version_header": "somestring",
605 "ui_properties_url": "somestring"
606 }
607 ],
608 "namespace": "somestring",
609 "pipeline_config_json_url": "somestring",
610 "streamname": "somestring"
611 }
612
613Responses
614+++++++++
615
616**200**
617^^^^^^^
618
619Successful response
620
621
622Type: :ref:`Application <d_2b315c86978b3cd8c6edfbe745f1afa2>`
623
624**Example:**
625
626.. code-block:: javascript
627
628 {
629 "appname": "somestring",
630 "connectionurl": "somestring",
631 "healthcheckurl": "somestring",
632 "metricsurl": "somestring",
633 "serviceendpoints": [
634 {
635 "method": "somestring",
636 "url": "somestring"
637 },
638 {
639 "method": "somestring",
640 "url": "somestring"
641 }
642 ],
643 "url": "somestring"
644 }
645
646**400**
647^^^^^^^
648
649put was performed but the appname was already registered with the broker, or Invalid PUT body
650
651
652
653
654
655
656PUT ``/application/{appname}/reconfigure``
657------------------------------------------
658
659
660
661Description
662+++++++++++
663
664.. raw:: html
665
666 Reconfigures the application.
667
668Parameters
669++++++++++
670
671.. csv-table::
672 :delim: |
673 :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description"
674 :widths: 20, 15, 10, 10, 10, 20, 30
675
676 appname | path | Yes | string | text | | Name of the application.
677
678
679Request
680+++++++
681
682
683
684.. _d_2a32645bc6d3020744d3d17500c34bc3:
685
686Body
687^^^^
688
689.. csv-table::
690 :delim: |
691 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
692 :widths: 20, 10, 15, 15, 30, 25
693
694 config | Yes | :ref:`config <i_6a9d9951a40bf655fda365aa310e1ddc>` | | | the config JSON
695 reconfiguration_type | Yes | string | | {'enum': ['program-flowlet-app-config', 'program-flowlet-app-preferences', 'program-flowlet-smart']} | the type of reconfiguration
696
697.. _i_6a9d9951a40bf655fda365aa310e1ddc:
698
699**Config schema:**
700
701
702the config JSON
703
704
705
706.. code-block:: javascript
707
708 {
709 "config": {},
710 "reconfiguration_type": "program-flowlet-app-config"
711 }
712
713Responses
714+++++++++
715
716**200**
717^^^^^^^
718
719Successful response
720
721
722**400**
723^^^^^^^
724
725Bad request. Can happen with 1) {appname} is not registered with the broker, 2) the required PUT body is wrong, or 3) the smart interface was chosen and none of the config keys match anything in app_config or app_preferences
726
727
728
729
730
731Data Structures
732~~~~~~~~~~~~~~~
733
734.. _d_2b315c86978b3cd8c6edfbe745f1afa2:
735
736Application Model Structure
737---------------------------
738
739.. csv-table::
740 :delim: |
741 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
742 :widths: 20, 10, 15, 15, 30, 25
743
744 appname | No | string | | | application name
745 connectionurl | No | string | | | input URL that you can POST data into (URL of the CDAP stream)
746 healthcheckurl | No | string | | | fully qualified url to perform healthcheck
747 metricsurl | No | string | | | fully qualified url to get metrics from
748 serviceendpoints | No | array of :ref:`service_method <d_e5edc5fd82a1190817cf350e70cb7e0e>` | | | a list of HTTP services exposed by this CDAP application
749 url | No | string | | | fully qualified url of the resource
750
751.. _d_5d4c5a47c1043833affa67eb27bf3d9d:
752
753MetricsObject Model Structure
754-----------------------------
755
756key,value object where the key is 'appmetrics' and the value is an app dependent json and specified by the component developer
757
758.. csv-table::
759 :delim: |
760 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
761 :widths: 20, 10, 15, 15, 30, 25
762
763 appmetrics | No | :ref:`appmetrics <i_6cb44a56118e2966acccfb86f18d0570>` | | |
764
765.. _i_6cb44a56118e2966acccfb86f18d0570:
766
767**Appmetrics schema:**
768
769
770
771
772.. _d_2f6991f1775468c3ce48a2778455be93:
773
774appname Model Structure
775-----------------------
776
777an application name
778
779.. csv-table::
780 :delim: |
781 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
782 :widths: 20, 10, 15, 15, 30, 25
783
784 appname | No | string | | | an application name
785
786.. _d_a151b00939024528c17a91cf47a4eae3:
787
788appput Model Structure
789----------------------
790
791.. csv-table::
792 :delim: |
793 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
794 :widths: 20, 10, 15, 15, 30, 25
795
796 app_config | No | :ref:`app_config <i_13b2658afc25a955a6b4b48b9898c1a3>` | | | the application config JSON
797 app_preferences | No | :ref:`app_preferences <i_57297f6d8a6251aeb045f0872bf38d81>` | | | the application preferences JSON
798 artifact_name | No | string | | | the name of the CDAP artifact to be added
799 cdap_application_type | No | string | | {'enum': ['program-flowlet']} | denotes whether this is a program-flowlet style application or a hydrator pipeline. For program-flowlet style apps, this value must be 'program-flowlet'
800 jar_url | No | string | | | the URL that the JAR you're deploying resides
801 namespace | No | string | | | the cdap namespace this is deployed into
802 program_preferences | No | array of :ref:`programpref <d_610742fa78204adc388d0f7fbe30ad61>` | | |
803 programs | No | array of :ref:`programs <d_7bc8b39312a070aee5928f4e730192ae>` | | |
804 services | No | array of :ref:`service_endpoint <d_ad781f0dd64e16123fc1cbfefb4b9ded>` | | |
805 streamname | No | string | | | name of the CDAP stream to ingest data into this app. Should come from the developer and Tosca model.
806
807.. _i_13b2658afc25a955a6b4b48b9898c1a3:
808
809**App_config schema:**
810
811
812the application config JSON
813
814
815
816.. _i_57297f6d8a6251aeb045f0872bf38d81:
817
818**App_preferences schema:**
819
820
821the application preferences JSON
822
823
824
825.. _d_d43078a75182938dccdbeac654cea43c:
826
827hydratorappput Model Structure
828------------------------------
829
830.. csv-table::
831 :delim: |
832 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
833 :widths: 20, 10, 15, 15, 30, 25
834
835 cdap_application_type | Yes | string | | {'enum': ['hydrator-pipeline']} | denotes whether this is a program-flowlet style application or a hydrator pipeline. For hydrator, this value must be 'hydrator-pipeline'
836 dependencies | No | array of :ref:`hydratordep <d_c5aa8c778f283571705fbe7a21d0f5c7>` | | | represents a list of dependencies to be loaded for this pipeline. Not required.
837 namespace | Yes | string | | | the cdap namespace this is deployed into
838 pipeline_config_json_url | Yes | string | | | the URL of the config.json for this pipeline
839 streamname | Yes | string | | | name of the CDAP stream to ingest data into this app. Should come from the developer and Tosca model.
840
841.. _d_c5aa8c778f283571705fbe7a21d0f5c7:
842
843hydratordep Model Structure
844---------------------------
845
846represents a hydrator pipeline dependency. An equivelent to the following CURLs are formed with the below four params shown in CAPS 'curl -v -w'\n' -X POST http://cdapurl:11015/v3/namespaces/setelsewhere/artifacts/ARTIFACT_NAME -H 'Artifact-Extends:ARTIFACT_EXTENDS_HEADER' -H “Artifact-Version:ARTIFACT_VERSION_HEADER” --data-binary @(DOWNLOADED FROM ARTIFACT_URL)','curl -v -w'\n' -X PUT http://cdapurl:11015/v3/namespaces/setelsewhere/artifacts/ARTIFACT_NAME/versions/ARTIFACT_VERSION_HEADER/properties -d (DOWNLOADED FROM UI_PROPERTIES_URL)'
847
848.. csv-table::
849 :delim: |
850 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
851 :widths: 20, 10, 15, 15, 30, 25
852
853 artifact_extends_header | Yes | string | | | the value of the header that gets passed in for artifact-extends, e.g., 'Artifact-Extends:system:cdap-data-pipeline[4.0.1,5.0.0)'
854 artifact_name | Yes | string | | | the name of the artifact
855 artifact_url | Yes | string | | | the URL of the artifact JAR
856 artifact_version_header | Yes | string | | | the value of the header that gets passed in for artifact-version, e.g., 'Artifact-Version:1.0.0-SNAPSHOT'
857 ui_properties_url | No | string | | | the URL of the properties.json if the custom artifact has UI properties. This is optional.
858
859.. _d_060ca512d6d771a97a7d0f50886f6b14:
860
861info Model Structure
862--------------------
863
864some broker information
865
866.. csv-table::
867 :delim: |
868 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
869 :widths: 20, 10, 15, 15, 30, 25
870
871 broker API version | No | string | | | the API version of this running broker
872 cdap GUI port | No | integer | | | The GUI port of the CDAP cluster this broker is managing. Mostly to help users of this API check their application in cdap. Note, will return UNKNOWN_CDAP_VERSION if it cannot be determined.
873 cdap cluster version | No | string | | | the version of the CDAP cluster this broker is managing. Note, will return UKNOWN_CDAP_VERSION if it cannot be determined.
874 managed cdap url | No | string | | | the url of the CDAP cluster API this broker is managing
875 number of applications registered | No | integer | | |
876 uptime (s) | No | integer | | |
877
878.. _d_c0830b0f8b495da06c2fef152ce05dba:
879
880multideleteput Model Structure
881------------------------------
882
883.. csv-table::
884 :delim: |
885 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
886 :widths: 20, 10, 15, 15, 30, 25
887
888 appnames | No | array of :ref:`appname <d_2f6991f1775468c3ce48a2778455be93>` | | |
889
890.. _d_610742fa78204adc388d0f7fbe30ad61:
891
892programpref Model Structure
893---------------------------
894
895the list of programs in this CDAP app
896
897.. csv-table::
898 :delim: |
899 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
900 :widths: 20, 10, 15, 15, 30, 25
901
902 program_id | No | string | | | the name of the program
903 program_pref | No | :ref:`program_pref <i_07225a64d44b62a92699f22d603b563c>` | | | the preference JSON to set for this program
904 program_type | No | string | | | must be one of flows, mapreduce, schedules, spark, workflows, workers, or services
905
906.. _i_07225a64d44b62a92699f22d603b563c:
907
908**Program_pref schema:**
909
910
911the preference JSON to set for this program
912
913
914
915.. _d_7bc8b39312a070aee5928f4e730192ae:
916
917programs Model Structure
918------------------------
919
920the list of programs in this CDAP app
921
922.. csv-table::
923 :delim: |
924 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
925 :widths: 20, 10, 15, 15, 30, 25
926
927 program_id | No | string | | | the name of the program
928 program_type | No | string | | | must be one of flows, mapreduce, schedules, spark, workflows, workers, or services
929
930.. _d_2a32645bc6d3020744d3d17500c34bc3:
931
932reconfigput Model Structure
933---------------------------
934
935.. csv-table::
936 :delim: |
937 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
938 :widths: 20, 10, 15, 15, 30, 25
939
940 config | Yes | :ref:`config <i_6a9d9951a40bf655fda365aa310e1ddc>` | | | the config JSON
941 reconfiguration_type | Yes | string | | {'enum': ['program-flowlet-app-config', 'program-flowlet-app-preferences', 'program-flowlet-smart']} | the type of reconfiguration
942
943.. _i_6a9d9951a40bf655fda365aa310e1ddc:
944
945**Config schema:**
946
947
948the config JSON
949
950
951
952.. _d_5a28f16eed72be7d9a8279c0e1f05386:
953
954returncode Model Structure
955--------------------------
956
957an httpreturncode
958
959.. csv-table::
960 :delim: |
961 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
962 :widths: 20, 10, 15, 15, 30, 25
963
964 returncode | No | integer | | | an httpreturncode
965
966.. _d_ad781f0dd64e16123fc1cbfefb4b9ded:
967
968service_endpoint Model Structure
969--------------------------------
970
971descirbes a service endpoint, including the service name, the method name, and the method type (GET, PUT, etc, most of the time will be GET)
972
973.. csv-table::
974 :delim: |
975 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
976 :widths: 20, 10, 15, 15, 30, 25
977
978 endpoint_method | No | string | | | GET, POST, PUT, etc
979 service_endpoint | No | string | | | the name of the endpoint on the service
980 service_name | No | string | | | the name of the service
981
982.. _d_e5edc5fd82a1190817cf350e70cb7e0e:
983
984service_method Model Structure
985------------------------------
986
987a URL and HTTP method exposed via a CDAP service
988
989.. csv-table::
990 :delim: |
991 :header: "Name", "Required", "Type", "Format", "Properties", "Description"
992 :widths: 20, 10, 15, 15, 30, 25
993
994 method | No | string | | | HTTP method you can perform on the URL, e.g., GET, PUT, etc
995 url | No | string | | | the fully qualified URL in CDAP for this service
996