-module o-ran-file-management {\r
- yang-version 1.1;\r
- namespace "urn:o-ran:file-management:1.0";\r
- prefix "o-ran-file-mgmt";\r
-\r
- import ietf-crypto-types {\r
- prefix "ct";\r
- }\r
-\r
-\r
- organization "O-RAN Alliance";\r
-\r
- contact\r
- "www.o-ran.org";\r
-\r
- description\r
- "This module defines the configuration and operations for handling upload.\r
-\r
- Copyright 2019 the O-RAN Alliance.\r
-\r
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'\r
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\r
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
- POSSIBILITY OF SUCH DAMAGE.\r
-\r
- Redistribution and use in source and binary forms, with or without\r
- modification, are permitted provided that the following conditions are met:\r
-\r
- * Redistributions of source code must retain the above copyright notice,\r
- this list of conditions and the above disclaimer.\r
- * Redistributions in binary form must reproduce the above copyright notice,\r
- this list of conditions and the above disclaimer in the documentation\r
- and/or other materials provided with the distribution.\r
- * Neither the Members of the O-RAN Alliance nor the names of its\r
- contributors may be used to endorse or promote products derived from\r
- this software without specific prior written permission.";\r
-\r
- revision "2019-07-03" {\r
- description\r
- "version 1.1.0\r
-\r
- 1) backward compatible changes to correct sFTP Server Authentication .\r
- 2) minor fixes according to lack of descriptions\r
- 3) backward compatible changes to introduce groupings";\r
-\r
- reference "ORAN-WG4.M.0-v01.00";\r
- }\r
-\r
- revision "2019-02-04" {\r
- description\r
- "version 1.0.0\r
-\r
- 1) imported model from xRAN\r
- 2) changed namespace and reference from xran to o-ran";\r
-\r
- reference "ORAN-WG4.M.0-v01.00";\r
- }\r
-\r
- grouping file-path-grouping {\r
- description "Complete logical path of the file to upload/download\r
- (no wildcard is allowed) ex : /o-RAN/log/syslog.1";\r
-\r
- leaf local-logical-file-path {\r
- type string;\r
- mandatory true;\r
- description "Local logical file path";\r
- }\r
-\r
- leaf remote-file-path {\r
- type string;\r
- mandatory true;\r
- description "URI specifying the remote-file-path on O-DU/NMS.\r
- Format:sftp://<username>@<host>[:port]/path";\r
- }\r
- }\r
-\r
- grouping output-status-grouping {\r
- description "Status grouping";\r
-\r
- leaf status {\r
- type enumeration {\r
- enum SUCCESS {\r
- description "";}\r
- enum FAILURE {\r
- description "";}\r
- }\r
- description "Operation status";\r
- }\r
-\r
- leaf reject-reason {\r
- when "../status = 'FAILURE'";\r
- type string;\r
- description "";\r
- }\r
- }\r
-\r
- grouping credential-information {\r
- description "Type of authentication to use for SFTP upload or download.";\r
- choice credentials {\r
- case password {\r
- container password {\r
- presence true;\r
- leaf password {\r
- type string;\r
- mandatory true;\r
- description\r
- "password needed for O-RU authentication.";\r
- }\r
- description\r
- "password for O-RU authentication method in use";\r
- }\r
- container server {\r
- list keys {\r
- key algorithm;\r
- ordered-by user;\r
- uses ct:public-key-grouping;\r
- description\r
- "List of allowed algorithms with its keys";\r
- }\r
- description\r
- "Key for sFTP server authentication";\r
- }\r
- }\r
- case certificate {\r
- container certificate {\r
- presence true;\r
- description\r
- "certificate authentication method in use";\r
- }\r
- }\r
- description "";\r
- }\r
- }\r
-\r
- grouping retrieve-input {\r
- description "Grouping for information retrieval RPC input";\r
- leaf logical-path {\r
- type string;\r
- mandatory true;\r
- description "O-RAN unit of which the files are to be listed.\r
- ex : O-RAN/log, o-RAN/PM, O-RAN/transceiver";\r
- }\r
- leaf file-name-filter {\r
- type string;\r
- description "Filter which are to be applied on the result list of file names (* is allowed as wild-card).";\r
- }\r
- }\r
-\r
- grouping retrieve-output {\r
- description "Grouping for information retrieval RPC output";\r
- uses output-status-grouping;\r
- leaf-list file-list {\r
- when "../status = 'SUCCESS'";\r
- type string;\r
- description "List of files in the unit with the filter applied.";\r
- }\r
- }\r
-\r
-// RPCs\r
-\r
- rpc file-upload {\r
- description "File upload over SFTP from equipment to NETCONF client";\r
- input {\r
- uses file-path-grouping;\r
- uses credential-information;\r
- }\r
- output {\r
- uses output-status-grouping;\r
- }\r
- }\r
-\r
- rpc retrieve-file-list {\r
- description "List all the files in the logical O-RAN unit (* is allowed as wild-card).";\r
- input {\r
- uses retrieve-input;\r
-\r
- }\r
- output {\r
- uses retrieve-output;\r
- }\r
- }\r
-\r
- notification file-upload-notification {\r
- uses file-path-grouping;\r
- uses output-status-grouping;\r
- description "";\r
- }\r
-\r
- rpc file-download {\r
- description\r
- "Management plane triggered to generate the download file of O-RU.";\r
- input {\r
- uses file-path-grouping;\r
- uses credential-information;\r
- }\r
- output {\r
- uses output-status-grouping;\r
- }\r
- }\r
-\r
- notification file-download-event {\r
- uses file-path-grouping;\r
- uses output-status-grouping;\r
- description "";\r
- }\r
-}\r