structuredcoverages.yaml 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
  1. ---
  2. swagger: '2.0'
  3. info:
  4. version: 1.0.0
  5. title: GeoServer StructuredCoverageStores
  6. description: A structured coverage store allows description of its "granules" and management of them.
  7. contact:
  8. name: GeoServer
  9. email: 'geoserver-users@osgeo.org'
  10. url: 'https://geoserver.org/comm/'
  11. host: localhost:8080
  12. basePath: /geoserver/rest
  13. paths:
  14. /workspaces/{workspace}/coveragestores/{store}/coverages/{coverage}/index:
  15. get:
  16. operationId: getStructuredCoverageIndex
  17. tags:
  18. - "StructuredCoverages"
  19. summary: Get the information schema attached to the granules
  20. description: Displays a list of all the attributes associated to a particular coverage's granules. Use the "Accept:" header to specify format or append an extension to the endpoint (example "/index.xml" for XML). Defaults to XML representation.
  21. produces:
  22. - application/json
  23. - application/xml
  24. parameters:
  25. - name: workspace
  26. in: path
  27. required: true
  28. description: The name of the worskpace containing the coverage stores.
  29. type: string
  30. - name: store
  31. in: path
  32. required: true
  33. description: The name of the store to be retrieved
  34. type: string
  35. - name: coverage
  36. in: path
  37. required: true
  38. description: The name of the coverage to be retrieved
  39. type: string
  40. responses:
  41. 200:
  42. description: OK
  43. schema:
  44. $ref: "#/definitions/Schema"
  45. examples:
  46. application/json: |
  47. {"Schema": {
  48. "attributes": {"Attribute": [
  49. {
  50. "name": "the_geom",
  51. "minOccurs": 0,
  52. "maxOccurs": 1,
  53. "nillable": true,
  54. "binding": "org.locationtech.jts.geom.MultiPolygon"
  55. },
  56. {
  57. "name": "location",
  58. "minOccurs": 0,
  59. "maxOccurs": 1,
  60. "nillable": true,
  61. "binding": "java.lang.String",
  62. "length": 254
  63. },
  64. {
  65. "name": "ingestion",
  66. "minOccurs": 0,
  67. "maxOccurs": 1,
  68. "nillable": true,
  69. "binding": "java.util.Date",
  70. "length": 8
  71. },
  72. {
  73. "name": "elevation",
  74. "minOccurs": 0,
  75. "maxOccurs": 1,
  76. "nillable": true,
  77. "binding": "java.lang.Integer",
  78. "length": 9
  79. }
  80. ]},
  81. "href": "http://localhost:8080/geoserver/restng/workspaces/wcs/coveragestores/watertemp/coverages/watertemp/index/granules.json"
  82. }}
  83. application/xml: |
  84. <?xml version="1.0" encoding="UTF-8"?>
  85. <Schema>
  86. <attributes>
  87. <Attribute>
  88. <name>the_geom</name>
  89. <minOccurs>0</minOccurs>
  90. <maxOccurs>1</maxOccurs>
  91. <nillable>true</nillable>
  92. <binding>org.locationtech.jts.geom.MultiPolygon</binding>
  93. </Attribute>
  94. <Attribute>
  95. <name>location</name>
  96. <minOccurs>0</minOccurs>
  97. <maxOccurs>1</maxOccurs>
  98. <nillable>true</nillable>
  99. <binding>java.lang.String</binding>
  100. <length>254</length>
  101. </Attribute>
  102. <Attribute>
  103. <name>ingestion</name>
  104. <minOccurs>0</minOccurs>
  105. <maxOccurs>1</maxOccurs>
  106. <nillable>true</nillable>
  107. <binding>java.util.Date</binding>
  108. <length>8</length>
  109. </Attribute>
  110. <Attribute>
  111. <name>elevation</name>
  112. <minOccurs>0</minOccurs>
  113. <maxOccurs>1</maxOccurs>
  114. <nillable>true</nillable>
  115. <binding>java.lang.Integer</binding>
  116. <length>9</length>
  117. </Attribute>
  118. </attributes>
  119. <atom:link xmlns:atom="http://www.w3.org/2005/Atom" href="http://localhost:8080/geoserver/rest/workspaces/wcs/coveragestores/watertemp/coverages/watertemp/index/granules.xml" rel="alternate" type="application/xml"/>
  120. </Schema>
  121. 401:
  122. description: Unauthorized
  123. post:
  124. operationId: postStructuredCoverageIndex
  125. tags:
  126. - "StructuredCoverages"
  127. description: Invalid, the index cannot be created or modified
  128. responses:
  129. 401:
  130. description: Unauthorized
  131. 405:
  132. description: Method Not Allowed
  133. put:
  134. operationId: putStructuredCoverageIndex
  135. tags:
  136. - "StructuredCoverages"
  137. description: Invalid, the index cannot be created or modified
  138. responses:
  139. 401:
  140. description: Unauthorized
  141. 405:
  142. description: Method Not Allowed
  143. delete:
  144. operationId: deleteCoverageStores
  145. tags:
  146. - "StructuredCoverages"
  147. description: Invalid, the index cannot be created or modified
  148. responses:
  149. 401:
  150. description: Unauthorized
  151. 405:
  152. description: Method Not Allowed
  153. /workspaces/{workspace}/coveragestores/{store}/coverages/{coverage}/index/granules:
  154. get:
  155. operationId: getStructuredCoverageGranules
  156. tags:
  157. - "StructuredCoverages"
  158. summary: Get the attributes associated to the granules
  159. description: |
  160. Displays a list of all the attributes associated to a particular coverage's granules. Use the "Accept:" header to specify format or append an extension to the endpoint (example "/index.xml" for XML). Defaults to XML representation. The XML output is actually WFS 1.0 GML, while the JSON output is GeoJSON
  161. produces:
  162. - application/json
  163. - application/xml
  164. parameters:
  165. - name: workspace
  166. in: path
  167. required: true
  168. description: The name of the worskpace containing the coverage stores.
  169. type: string
  170. - name: store
  171. in: path
  172. required: true
  173. description: The name of the store to be retrieved
  174. type: string
  175. - name: coverage
  176. in: path
  177. required: true
  178. description: The name of the coverage to be retrieved
  179. type: string
  180. - name: filter
  181. in: query
  182. required: false
  183. description: A CQL filter to reduce the returned granules
  184. type: string
  185. - name: offset
  186. in: query
  187. description: Used for paging, the start of the current page
  188. required: false
  189. type: integer
  190. minimum: 0
  191. default: 0
  192. - name: limit
  193. in: query
  194. description: Used for paging, the number of items to be returned
  195. required: false
  196. type: integer
  197. minimum: 1
  198. responses:
  199. 200:
  200. description: OK
  201. examples:
  202. application/json: |
  203. {
  204. "type": "FeatureCollection",
  205. "bbox": [
  206. 0.23722068851276978,
  207. 40.562080748421806,
  208. 14.592757149389236,
  209. 44.55808294568743
  210. ],
  211. "crs": {
  212. "type": "name",
  213. "properties": {"name": "EPSG:4326"}
  214. },
  215. "features": [
  216. {
  217. "type": "Feature",
  218. "geometry": {
  219. "type": "MultiPolygon",
  220. "coordinates": [[ [
  221. [
  222. 0.2372,
  223. 40.5621
  224. ],
  225. [
  226. 0.2372,
  227. 44.5581
  228. ],
  229. [
  230. 14.5928,
  231. 44.5581
  232. ],
  233. [
  234. 14.5928,
  235. 40.5621
  236. ],
  237. [
  238. 0.2372,
  239. 40.5621
  240. ]
  241. ]]]
  242. },
  243. "properties": {
  244. "location": "NCOM_wattemp_000_20081101T0000000_12.tiff",
  245. "ingestion": "2008-11-01T00:00:00.000+0000",
  246. "elevation": 0
  247. },
  248. "id": "watertemp.1"
  249. },
  250. {
  251. "type": "Feature",
  252. "geometry": {
  253. "type": "MultiPolygon",
  254. "coordinates": [[ [
  255. [
  256. 0.2372,
  257. 40.5621
  258. ],
  259. [
  260. 0.2372,
  261. 44.5581
  262. ],
  263. [
  264. 14.5928,
  265. 44.5581
  266. ],
  267. [
  268. 14.5928,
  269. 40.5621
  270. ],
  271. [
  272. 0.2372,
  273. 40.5621
  274. ]
  275. ]]]
  276. },
  277. "properties": {
  278. "location": "NCOM_wattemp_000_20081031T0000000_12.tiff",
  279. "ingestion": "2008-10-31T00:00:00.000+0000",
  280. "elevation": 0
  281. },
  282. "id": "watertemp.2"
  283. }
  284. ]
  285. }
  286. application/xml: |
  287. <?xml version="1.0" encoding="UTF-8"?>
  288. <wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:gf="http://www.geoserver.org/rest/granules" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  289. <gml:boundedBy>
  290. <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
  291. <gml:coord>
  292. <gml:X>0.23722068851276978</gml:X>
  293. <gml:Y>40.562080748421806</gml:Y>
  294. </gml:coord>
  295. <gml:coord>
  296. <gml:X>14.592757149389236</gml:X>
  297. <gml:Y>44.55808294568743</gml:Y>
  298. </gml:coord>
  299. </gml:Box>
  300. </gml:boundedBy>
  301. <gml:featureMember>
  302. <gf:watertemp fid="watertemp.1">
  303. <gml:boundedBy>
  304. <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
  305. <gml:coordinates>0.237221,40.562081 14.592757,44.558083</gml:coordinates>
  306. </gml:Box>
  307. </gml:boundedBy>
  308. <gf:the_geom>
  309. <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
  310. <gml:polygonMember>
  311. <gml:Polygon>
  312. <gml:outerBoundaryIs>
  313. <gml:LinearRing>
  314. <gml:coordinates>0.237221,40.562081 0.237221,44.558083 14.592757,44.558083 14.592757,40.562081 0.237221,40.562081</gml:coordinates>
  315. </gml:LinearRing>
  316. </gml:outerBoundaryIs>
  317. </gml:Polygon>
  318. </gml:polygonMember>
  319. </gml:MultiPolygon>
  320. </gf:the_geom>
  321. <gf:location>NCOM_wattemp_000_20081101T0000000_12.tiff</gf:location>
  322. <gf:ingestion>2008-11-01T00:00:00Z</gf:ingestion>
  323. <gf:elevation>0</gf:elevation>
  324. </gf:watertemp>
  325. </gml:featureMember>
  326. <gml:featureMember>
  327. <gf:watertemp fid="watertemp.2">
  328. <gml:boundedBy>
  329. <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
  330. <gml:coordinates>0.237221,40.562081 14.592757,44.558083</gml:coordinates>
  331. </gml:Box>
  332. </gml:boundedBy>
  333. <gf:the_geom>
  334. <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
  335. <gml:polygonMember>
  336. <gml:Polygon>
  337. <gml:outerBoundaryIs>
  338. <gml:LinearRing>
  339. <gml:coordinates>0.237221,40.562081 0.237221,44.558083 14.592757,44.558083 14.592757,40.562081 0.237221,40.562081</gml:coordinates>
  340. </gml:LinearRing>
  341. </gml:outerBoundaryIs>
  342. </gml:Polygon>
  343. </gml:polygonMember>
  344. </gml:MultiPolygon>
  345. </gf:the_geom>
  346. <gf:location>NCOM_wattemp_000_20081031T0000000_12.tiff</gf:location>
  347. <gf:ingestion>2008-10-31T00:00:00Z</gf:ingestion>
  348. <gf:elevation>0</gf:elevation>
  349. </gf:watertemp>
  350. </gml:featureMember>
  351. </wfs:FeatureCollection>
  352. 401:
  353. description: Unauthorized
  354. post:
  355. operationId: postStructuredCoverageGranules
  356. tags:
  357. - "StructuredCoverages"
  358. description: Invalid, the granules cannot harvested here, use a POST request on /workspaces/{workspace}/coveragestores/{store}
  359. responses:
  360. 401:
  361. description: Unauthorized
  362. 405:
  363. description: Method Not Allowed
  364. put:
  365. operationId: putStructuredCoverageGranules
  366. tags:
  367. - "StructuredCoverages"
  368. description: Invalid, the granules cannot harvested here, use a POST request on /workspaces/{workspace}/coveragestores/{store}
  369. responses:
  370. 401:
  371. description: Unauthorized
  372. 405:
  373. description: Method Not Allowed
  374. delete:
  375. operationId: deleteStructuredCoverageGranules
  376. tags:
  377. - "StructuredCoverages"
  378. description: Allows removing one or more granules from the index
  379. parameters:
  380. - name: workspace
  381. in: path
  382. required: true
  383. description: The name of the worskpace containing the coverage stores.
  384. type: string
  385. - name: store
  386. in: path
  387. required: true
  388. description: The name of the store to be retrieved
  389. type: string
  390. - name: coverage
  391. in: path
  392. required: true
  393. description: The name of the coverage to be retrieved
  394. type: string
  395. - name: filter
  396. in: query
  397. required: false
  398. description: A CQL filter to reduce the returned granules
  399. type: string
  400. - name: purge
  401. in: query
  402. description: The purge parameter specifies if and how the underlying raster data source is deleted.
  403. Allowable values for this parameter are "none", "metadata" and "all".
  404. When set to "none" data and auxiliary files are preserved, only the registration in the mosaic is removed
  405. When set to "metadata" delete only auxiliary files and metadata (e.g. NetCDF sidecar indexes).
  406. It’s recommended when data files (such as granules) should not be deleted from disk.
  407. Finally, when set to "all" both data and auxiliary files are removed.
  408. required: false
  409. type: string
  410. minimum: 0
  411. - name: updateBBox
  412. in: query
  413. required: false
  414. description: When set to "true", triggers re-calculation of the layer native bbox. Defaults to "false".
  415. responses:
  416. 200:
  417. description: OK
  418. 405:
  419. description: Method Not Allowed
  420. /workspaces/{workspace}/coveragestores/{store}/coverages/{coverage}/index/granules/{granuleId}:
  421. get:
  422. operationId: getStructuredCoverageGranule
  423. tags:
  424. - "StructuredCoverages"
  425. summary: Get the attributes of a particular granule
  426. description: Displays a list of all the attributes associated to a particular coverage's granule. Use the "Accept:" header to specify format or append an extension to the endpoint (example "/index.xml" for XML). Defaults to XML representation. The XML output is actually WFS 1.0 GML, while the JSON output is GeoJSON
  427. produces:
  428. - application/json
  429. - application/xml
  430. parameters:
  431. - name: workspace
  432. in: path
  433. required: true
  434. description: The name of the worskpace containing the coverage stores.
  435. type: string
  436. - name: store
  437. in: path
  438. required: true
  439. description: The name of the store to be retrieved
  440. type: string
  441. - name: coverage
  442. in: path
  443. required: true
  444. description: The name of the coverage to be retrieved
  445. type: string
  446. - name: granuleId
  447. type: string
  448. in: path
  449. required: true
  450. description: The granule ID
  451. responses:
  452. 200:
  453. description: OK
  454. examples:
  455. application/json: |
  456. {
  457. "type": "FeatureCollection",
  458. "bbox": [
  459. 0.23722068851276978,
  460. 40.562080748421806,
  461. 14.592757149389236,
  462. 44.55808294568743
  463. ],
  464. "crs": {
  465. "type": "name",
  466. "properties": {"name": "EPSG:4326"}
  467. },
  468. "features": [
  469. {
  470. "type": "Feature",
  471. "geometry": {
  472. "type": "MultiPolygon",
  473. "coordinates": [[ [
  474. [
  475. 0.2372,
  476. 40.5621
  477. ],
  478. [
  479. 0.2372,
  480. 44.5581
  481. ],
  482. [
  483. 14.5928,
  484. 44.5581
  485. ],
  486. [
  487. 14.5928,
  488. 40.5621
  489. ],
  490. [
  491. 0.2372,
  492. 40.5621
  493. ]
  494. ]]]
  495. },
  496. "properties": {
  497. "location": "NCOM_wattemp_000_20081101T0000000_12.tiff",
  498. "ingestion": "2008-11-01T00:00:00.000+0000",
  499. "elevation": 0
  500. },
  501. "id": "watertemp.1"
  502. }
  503. ]
  504. }
  505. application/xml: |
  506. <?xml version="1.0" encoding="UTF-8"?>
  507. <wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:gf="http://www.geoserver.org/rest/granules" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  508. <gml:boundedBy>
  509. <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
  510. <gml:coord>
  511. <gml:X>0.23722068851276978</gml:X>
  512. <gml:Y>40.562080748421806</gml:Y>
  513. </gml:coord>
  514. <gml:coord>
  515. <gml:X>14.592757149389236</gml:X>
  516. <gml:Y>44.55808294568743</gml:Y>
  517. </gml:coord>
  518. </gml:Box>
  519. </gml:boundedBy>
  520. <gml:featureMember>
  521. <gf:watertemp fid="watertemp.1">
  522. <gml:boundedBy>
  523. <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
  524. <gml:coordinates>0.237221,40.562081 14.592757,44.558083</gml:coordinates>
  525. </gml:Box>
  526. </gml:boundedBy>
  527. <gf:the_geom>
  528. <gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
  529. <gml:polygonMember>
  530. <gml:Polygon>
  531. <gml:outerBoundaryIs>
  532. <gml:LinearRing>
  533. <gml:coordinates>0.237221,40.562081 0.237221,44.558083 14.592757,44.558083 14.592757,40.562081 0.237221,40.562081</gml:coordinates>
  534. </gml:LinearRing>
  535. </gml:outerBoundaryIs>
  536. </gml:Polygon>
  537. </gml:polygonMember>
  538. </gml:MultiPolygon>
  539. </gf:the_geom>
  540. <gf:location>NCOM_wattemp_000_20081101T0000000_12.tiff</gf:location>
  541. <gf:ingestion>2008-11-01T00:00:00Z</gf:ingestion>
  542. <gf:elevation>0</gf:elevation>
  543. </gf:watertemp>
  544. </gml:featureMember>
  545. </wfs:FeatureCollection>
  546. 401:
  547. description: Unauthorized
  548. post:
  549. operationId: postStructuredCoverageGranule
  550. tags:
  551. - "StructuredCoverages"
  552. description: Invalid, the granules cannot harvested here, use a POST request on /workspaces/{workspace}/coveragestores/{store}
  553. responses:
  554. 401:
  555. description: Unauthorized
  556. 405:
  557. description: Method Not Allowed
  558. put:
  559. operationId: putStructuredCoverageGranule
  560. tags:
  561. - "StructuredCoverages"
  562. description: Invalid, the granules cannot harvested here, use a POST request on /workspaces/{workspace}/coveragestores/{store}
  563. responses:
  564. 401:
  565. description: Unauthorized
  566. 405:
  567. description: Method Not Allowed
  568. delete:
  569. operationId: deleteStructuredCoverageGranule
  570. tags:
  571. - "StructuredCoverages"
  572. description: Allows removing the specified granule
  573. parameters:
  574. - name: workspace
  575. in: path
  576. required: true
  577. description: The name of the worskpace containing the coverage stores.
  578. type: string
  579. - name: store
  580. in: path
  581. required: true
  582. description: The name of the store to be retrieved
  583. type: string
  584. - name: coverage
  585. in: path
  586. required: true
  587. description: The name of the coverage to be retrieved
  588. type: string
  589. - name: granuleId
  590. type: string
  591. in: path
  592. required: true
  593. description: The granule ID
  594. - name: purge
  595. in: query
  596. description: The purge parameter specifies if and how the underlying raster data source is deleted.
  597. Allowable values for this parameter are "none", "metadata" and "all".
  598. When set to "none" data and auxiliary files are preserved, only the registration in the mosaic is removed
  599. When set to "metadata" delete only auxiliary files and metadata (e.g. NetCDF sidecar indexes).
  600. It’s recommended when data files (such as granules) should not be deleted from disk.
  601. Finally, when set to "all" both data and auxiliary files are removed.
  602. required: false
  603. type: string
  604. minimum: 0
  605. - name: updateBBox
  606. in: query
  607. required: false
  608. description: When set to "true", triggers re-calculation of the layer native bbox. Defaults to "false".
  609. responses:
  610. 200:
  611. description: OK
  612. 401:
  613. description: Unauthorized
  614. definitions:
  615. Schema:
  616. type: object
  617. required: [ attributes, link ]
  618. example: |
  619. <?xml version="1.0" encoding="UTF-8"?>
  620. <Schema>
  621. <attributes>
  622. <Attribute>
  623. <name>the_geom</name>
  624. <minOccurs>0</minOccurs>
  625. <maxOccurs>1</maxOccurs>
  626. <nillable>true</nillable>
  627. <binding>org.locationtech.jts.geom.MultiPolygon</binding>
  628. </Attribute>
  629. <Attribute>
  630. <name>location</name>
  631. <minOccurs>0</minOccurs>
  632. <maxOccurs>1</maxOccurs>
  633. <nillable>true</nillable>
  634. <binding>java.lang.String</binding>
  635. <length>254</length>
  636. </Attribute>
  637. <Attribute>
  638. <name>ingestion</name>
  639. <minOccurs>0</minOccurs>
  640. <maxOccurs>1</maxOccurs>
  641. <nillable>true</nillable>
  642. <binding>java.util.Date</binding>
  643. <length>8</length>
  644. </Attribute>
  645. <Attribute>
  646. <name>elevation</name>
  647. <minOccurs>0</minOccurs>
  648. <maxOccurs>1</maxOccurs>
  649. <nillable>true</nillable>
  650. <binding>java.lang.Integer</binding>
  651. <length>9</length>
  652. </Attribute>
  653. </attributes>
  654. <atom:link xmlns:atom="http://www.w3.org/2005/Atom" href="http://localhost:8080/geoserver/rest/workspaces/wcs/coveragestores/watertemp/coverages/watertemp/index/granules.xml" rel="alternate" type="application/xml"/>
  655. </Schema>
  656. properties:
  657. attributes:
  658. type: array
  659. description: List of attributes
  660. items:
  661. $ref: "#/definitions/Attribute"
  662. link:
  663. type: string
  664. description: Link to the list of granules
  665. Attribute:
  666. type: object
  667. description: An attribute description
  668. properties:
  669. name:
  670. type: string
  671. description: Name of the attribute
  672. minOccurs:
  673. type: integer
  674. description: Minimum number of occurrences (0 for optional attribute)
  675. maxOccurs:
  676. type: integer
  677. description: Maximumn number of occurrences (normally 1)
  678. nillable:
  679. type: boolean
  680. description: If the attribute can be missing
  681. binding:
  682. type: string
  683. description: Name of the java class for the attribute
  684. length:
  685. type: integer
  686. description: Length of the field