OpenAPI: Add test for inner action schema 07/110407/12
authorlubos-cicut <lubos.cicut@pantheon.tech>
Thu, 29 Feb 2024 21:31:49 +0000 (22:31 +0100)
committerIvan Hrasko <ivan.hrasko@pantheon.tech>
Tue, 12 Mar 2024 13:38:03 +0000 (14:38 +0100)
Add test case to verify that schema for action which is nested
inside multiple containers is correctly referenced.

JIRA: NETCONF-1259
Change-Id: I98266506f24354cf3a3fb764bfee8d7ee6c74393
Signed-off-by: lubos-cicut <lubos.cicut@pantheon.tech>
restconf/restconf-openapi/src/test/resources/yang-document/controller-action-types.json
restconf/restconf-openapi/src/test/resources/yang-document/controller-all.json
restconf/restconf-openapi/src/test/resources/yang-document/device-action-types.json
restconf/restconf-openapi/src/test/resources/yang-document/device-all.json
restconf/restconf-openapi/src/test/resources/yang/action-types.yang

index cc34adf04ab99faaeb9927a1bf873a817e516a0d..1457c109f4f26597ec5cfae2e1188ad6c8fedd30 100644 (file)
         "description": "",
         "summary": "POST - Controller - action-types - action"
       }
+    },
+    "/rests/data/action-types:first-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - Controller - action-types - first-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "first-container": {
+                      "$ref": "#/components/schemas/action-types_first-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - Controller - action-types - first-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:first-container": {
+                    "$ref": "#/components/schemas/action-types_first-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container"
+              }
+            }
+          },
+          "description": "first-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - Controller - first-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "post": {
+        "description": "\n\nNote:\nIn example payload, you can see only the first data node child of the resource to be created, following the\nguidelines of RFC 8040, which allows us to create only one resource in POST request.\n",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          }
+        },
+        "summary": "POST - Controller - action-types - first-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:first-container": {
+                    "$ref": "#/components/schemas/action-types_first-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container"
+              }
+            }
+          },
+          "description": "first-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - Controller - first-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      }
+    },
+    "/rests/data/action-types:first-container/second-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - Controller - action-types - second-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "second-container": {
+                      "$ref": "#/components/schemas/action-types_first-container_second-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - Controller - action-types - second-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - Controller - second-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "post": {
+        "description": "\n\nNote:\nIn example payload, you can see only the first data node child of the resource to be created, following the\nguidelines of RFC 8040, which allows us to create only one resource in POST request.\n",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          }
+        },
+        "summary": "POST - Controller - action-types - second-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - Controller - second-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      }
+    },
+    "/rests/data/action-types:first-container/second-container/third-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - Controller - action-types - third-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "third-container": {
+                      "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - Controller - action-types - third-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - Controller - third-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - Controller - third-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      }
+    },
+    "/rests/operations/action-types:first-container/second-container/third-container/nested-action": {
+      "post": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "input": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_input",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_input"
+              }
+            }
+          },
+          "description": "nested-action_input"
+        },
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_output"
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_output"
+                }
+              }
+            },
+            "description": "RPC nested-action success"
+          }
+        },
+        "summary": "POST - Controller - action-types - nested-action",
+        "tags": [
+          "Controller action-types"
+        ]
+      }
     }
   },
   "components": {
         },
         "title": "action-types_container_container-action_output",
         "type": "object"
+      },
+      "action-types_first-container": {
+        "properties": {
+          "second-container": {
+            "$ref": "#/components/schemas/action-types_first-container_second-container"
+          }
+        },
+        "title": "action-types_first-container",
+        "type": "object",
+        "xml": {
+          "name": "first-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container": {
+        "properties": {
+          "third-container": {
+            "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+          }
+        },
+        "title": "action-types_first-container_second-container",
+        "type": "object",
+        "xml": {
+          "name": "second-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container_nested-action_input": {
+        "properties": {
+          "input-leaf": {
+            "description": "",
+            "example": "Some input-leaf",
+            "type": "string"
+          }
+        },
+        "title": "action-types_first-container_second-container_third-container_nested-action_input",
+        "type": "object",
+        "xml": {
+          "name": "input",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container_nested-action_output": {
+        "properties": {
+          "output-leaf": {
+            "description": "",
+            "example": "Some output-leaf",
+            "type": "string"
+          }
+        },
+        "title": "action-types_first-container_second-container_third-container_nested-action_output",
+        "type": "object",
+        "xml": {
+          "name": "output",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container": {
+        "properties": {},
+        "title": "action-types_first-container_second-container_third-container",
+        "type": "object",
+        "xml": {
+          "name": "third-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
       }
     },
     "securitySchemes": {
index abe2ec6489d36631296d38ae8334246da0a1e30f..1537833e1c1285eb9c7e483caa2f5002fa6ee043 100644 (file)
         "summary": "PATCH - typed-params - Controller - enumeration"
       }
     },
+    "/rests/data/action-types:first-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - Controller - action-types - first-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "first-container": {
+                      "$ref": "#/components/schemas/action-types_first-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - Controller - action-types - first-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:first-container": {
+                    "$ref": "#/components/schemas/action-types_first-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container"
+              }
+            }
+          },
+          "description": "first-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - Controller - first-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "post": {
+        "description": "\n\nNote:\nIn example payload, you can see only the first data node child of the resource to be created, following the\nguidelines of RFC 8040, which allows us to create only one resource in POST request.\n",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          }
+        },
+        "summary": "POST - Controller - action-types - first-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:first-container": {
+                    "$ref": "#/components/schemas/action-types_first-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container"
+              }
+            }
+          },
+          "description": "first-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - Controller - first-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      }
+    },
+    "/rests/data/action-types:first-container/second-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - Controller - action-types - second-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "second-container": {
+                      "$ref": "#/components/schemas/action-types_first-container_second-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - Controller - action-types - second-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - Controller - second-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "post": {
+        "description": "\n\nNote:\nIn example payload, you can see only the first data node child of the resource to be created, following the\nguidelines of RFC 8040, which allows us to create only one resource in POST request.\n",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          }
+        },
+        "summary": "POST - Controller - action-types - second-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - Controller - second-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      }
+    },
+    "/rests/data/action-types:first-container/second-container/third-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - Controller - action-types - third-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "third-container": {
+                      "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - Controller - action-types - third-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - Controller - third-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - Controller - third-container",
+        "tags": [
+          "Controller action-types"
+        ]
+      }
+    },
+    "/rests/operations/action-types:first-container/second-container/third-container/nested-action": {
+      "post": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "input": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_input",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_input"
+              }
+            }
+          },
+          "description": "nested-action_input"
+        },
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_output"
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_output"
+                }
+              }
+            },
+            "description": "RPC nested-action success"
+          }
+        },
+        "summary": "POST - Controller - action-types - nested-action",
+        "tags": [
+          "Controller action-types"
+        ]
+      }
+    },
     "/rests/operations/duplication-test:test-rpc": {
       "post": {
         "description": "",
         "title": "test-container-childs_root-container-two-keys_nested-container-two-keys_mandatory-list-two-keys",
         "type": "object"
       },
+      "action-types_first-container": {
+        "properties": {
+          "second-container": {
+            "$ref": "#/components/schemas/action-types_first-container_second-container"
+          }
+        },
+        "title": "action-types_first-container",
+        "type": "object",
+        "xml": {
+          "name": "first-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container": {
+        "properties": {
+          "third-container": {
+            "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+          }
+        },
+        "title": "action-types_first-container_second-container",
+        "type": "object",
+        "xml": {
+          "name": "second-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container_nested-action_input": {
+        "properties": {
+          "input-leaf": {
+            "description": "",
+            "example": "Some input-leaf",
+            "type": "string"
+          }
+        },
+        "title": "action-types_first-container_second-container_third-container_nested-action_input",
+        "type": "object",
+        "xml": {
+          "name": "input",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container_nested-action_output": {
+        "properties": {
+          "output-leaf": {
+            "description": "",
+            "example": "Some output-leaf",
+            "type": "string"
+          }
+        },
+        "title": "action-types_first-container_second-container_third-container_nested-action_output",
+        "type": "object",
+        "xml": {
+          "name": "output",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container": {
+        "properties": {},
+        "title": "action-types_first-container_second-container_third-container",
+        "type": "object",
+        "xml": {
+          "name": "third-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
       "duplication-test_first": {
         "properties": {},
         "title": "duplication-test_first",
index 2f8676185c4f52b4f4cc8a61a39960f8e5e9c3cf..6492afb5d22b9641309838471bd6f634d4e90c5c 100644 (file)
         "description": "",
         "summary": "PATCH - action-types - 123 - inner-container"
       }
+    },
+    "/rests/data/nodes/node=123/yang-ext:mount/action-types:first-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - 123 - action-types - first-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "first-container": {
+                      "$ref": "#/components/schemas/action-types_first-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - 123 - action-types - first-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:first-container": {
+                    "$ref": "#/components/schemas/action-types_first-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container"
+              }
+            }
+          },
+          "description": "first-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - 123 - first-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "post": {
+        "description": "\n\nNote:\nIn example payload, you can see only the first data node child of the resource to be created, following the\nguidelines of RFC 8040, which allows us to create only one resource in POST request.\n",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          }
+        },
+        "summary": "POST - 123 - action-types - first-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:first-container": {
+                    "$ref": "#/components/schemas/action-types_first-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container"
+              }
+            }
+          },
+          "description": "first-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - 123 - first-container",
+        "tags": [
+          "123 action-types"
+        ]
+      }
+    },
+    "/rests/data/nodes/node=123/yang-ext:mount/action-types:first-container/second-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - 123 - action-types - second-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "second-container": {
+                      "$ref": "#/components/schemas/action-types_first-container_second-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - 123 - action-types - second-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - 123 - second-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "post": {
+        "description": "\n\nNote:\nIn example payload, you can see only the first data node child of the resource to be created, following the\nguidelines of RFC 8040, which allows us to create only one resource in POST request.\n",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          }
+        },
+        "summary": "POST - 123 - action-types - second-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - 123 - second-container",
+        "tags": [
+          "123 action-types"
+        ]
+      }
+    },
+    "/rests/data/nodes/node=123/yang-ext:mount/action-types:first-container/second-container/third-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - 123 - action-types - third-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "third-container": {
+                      "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - 123 - action-types - third-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - 123 - third-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - 123 - third-container",
+        "tags": [
+          "123 action-types"
+        ]
+      }
+    },
+    "/rests/operations/nodes/node=123/yang-ext:mount/action-types:first-container/second-container/third-container/nested-action": {
+      "post": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "input": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_input",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_input"
+              }
+            }
+          },
+          "description": "nested-action_input"
+        },
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_output"
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_output"
+                }
+              }
+            },
+            "description": "RPC nested-action success"
+          }
+        },
+        "summary": "POST - 123 - action-types - nested-action",
+        "tags": [
+          "123 action-types"
+        ]
+      }
     }
   },
   "components": {
         },
         "title": "action-types_container_container-action_output",
         "type": "object"
+      },
+      "action-types_first-container": {
+        "properties": {
+          "second-container": {
+            "$ref": "#/components/schemas/action-types_first-container_second-container"
+          }
+        },
+        "title": "action-types_first-container",
+        "type": "object",
+        "xml": {
+          "name": "first-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container": {
+        "properties": {
+          "third-container": {
+            "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+          }
+        },
+        "title": "action-types_first-container_second-container",
+        "type": "object",
+        "xml": {
+          "name": "second-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container_nested-action_input": {
+        "properties": {
+          "input-leaf": {
+            "description": "",
+            "example": "Some input-leaf",
+            "type": "string"
+          }
+        },
+        "title": "action-types_first-container_second-container_third-container_nested-action_input",
+        "type": "object",
+        "xml": {
+          "name": "input",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container_nested-action_output": {
+        "properties": {
+          "output-leaf": {
+            "description": "",
+            "example": "Some output-leaf",
+            "type": "string"
+          }
+        },
+        "title": "action-types_first-container_second-container_third-container_nested-action_output",
+        "type": "object",
+        "xml": {
+          "name": "output",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container": {
+        "properties": {},
+        "title": "action-types_first-container_second-container_third-container",
+        "type": "object",
+        "xml": {
+          "name": "third-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
       }
     },
     "securitySchemes": {
index d12cf1cd74aa72b2e8c35149b493d7333f1ddf17..9fa4f441550b662fb9409f9ab8340ae261a68181 100644 (file)
         "summary": "PATCH - action-types - 123 - container"
       }
     },
+    "/rests/data/nodes/node=123/yang-ext:mount/action-types:first-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - 123 - action-types - first-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "first-container": {
+                      "$ref": "#/components/schemas/action-types_first-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - 123 - action-types - first-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:first-container": {
+                    "$ref": "#/components/schemas/action-types_first-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container"
+              }
+            }
+          },
+          "description": "first-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - 123 - first-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "post": {
+        "description": "\n\nNote:\nIn example payload, you can see only the first data node child of the resource to be created, following the\nguidelines of RFC 8040, which allows us to create only one resource in POST request.\n",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          }
+        },
+        "summary": "POST - 123 - action-types - first-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:first-container": {
+                    "$ref": "#/components/schemas/action-types_first-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container"
+              }
+            }
+          },
+          "description": "first-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - 123 - first-container",
+        "tags": [
+          "123 action-types"
+        ]
+      }
+    },
+    "/rests/data/nodes/node=123/yang-ext:mount/action-types:first-container/second-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - 123 - action-types - second-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "second-container": {
+                      "$ref": "#/components/schemas/action-types_first-container_second-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - 123 - action-types - second-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - 123 - second-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "post": {
+        "description": "\n\nNote:\nIn example payload, you can see only the first data node child of the resource to be created, following the\nguidelines of RFC 8040, which allows us to create only one resource in POST request.\n",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          }
+        },
+        "summary": "POST - 123 - action-types - second-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:second-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container"
+              }
+            }
+          },
+          "description": "second-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - 123 - second-container",
+        "tags": [
+          "123 action-types"
+        ]
+      }
+    },
+    "/rests/data/nodes/node=123/yang-ext:mount/action-types:first-container/second-container/third-container": {
+      "delete": {
+        "description": "",
+        "parameters": [],
+        "responses": {
+          "204": {
+            "description": "Deleted"
+          }
+        },
+        "summary": "DELETE - 123 - action-types - third-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "get": {
+        "description": "",
+        "parameters": [
+          {
+            "name": "content",
+            "in": "query",
+            "required": false,
+            "schema": {
+              "enum": [
+                "config",
+                "nonconfig",
+                "all"
+              ],
+              "type": "string"
+            }
+          }
+        ],
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "properties": {
+                    "third-container": {
+                      "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                      "type": "object"
+                    }
+                  }
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+                }
+              }
+            },
+            "description": "200"
+          }
+        },
+        "summary": "GET - 123 - action-types - third-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "patch": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/yang-data+json": {
+              "schema": {
+                "properties": {
+                  "action-types:third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/yang-data+xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PATCH - action-types - 123 - third-container",
+        "tags": [
+          "123 action-types"
+        ]
+      },
+      "put": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "action-types:third-container": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+              }
+            }
+          },
+          "description": "third-container"
+        },
+        "responses": {
+          "201": {
+            "description": "Created"
+          },
+          "204": {
+            "description": "Updated"
+          }
+        },
+        "summary": "PUT - action-types - 123 - third-container",
+        "tags": [
+          "123 action-types"
+        ]
+      }
+    },
+    "/rests/operations/nodes/node=123/yang-ext:mount/action-types:first-container/second-container/third-container/nested-action": {
+      "post": {
+        "description": "",
+        "parameters": [],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "properties": {
+                  "input": {
+                    "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_input",
+                    "type": "object"
+                  }
+                }
+              }
+            },
+            "application/xml": {
+              "schema": {
+                "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_input"
+              }
+            }
+          },
+          "description": "nested-action_input"
+        },
+        "responses": {
+          "200": {
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_output"
+                }
+              },
+              "application/xml": {
+                "schema": {
+                  "$ref": "#/components/schemas/action-types_first-container_second-container_third-container_nested-action_output"
+                }
+              }
+            },
+            "description": "RPC nested-action success"
+          }
+        },
+        "summary": "POST - 123 - action-types - nested-action",
+        "tags": [
+          "123 action-types"
+        ]
+      }
+    },
     "/rests/operations/nodes/node=123/yang-ext:mount/duplication-test:test-rpc": {
       "post": {
         "description": "",
         "title": "test-container-childs_root-container-two-keys_nested-container-two-keys_mandatory-list-two-keys",
         "type": "object"
       },
+      "action-types_first-container": {
+        "properties": {
+          "second-container": {
+            "$ref": "#/components/schemas/action-types_first-container_second-container"
+          }
+        },
+        "title": "action-types_first-container",
+        "type": "object",
+        "xml": {
+          "name": "first-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container": {
+        "properties": {
+          "third-container": {
+            "$ref": "#/components/schemas/action-types_first-container_second-container_third-container"
+          }
+        },
+        "title": "action-types_first-container_second-container",
+        "type": "object",
+        "xml": {
+          "name": "second-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container_nested-action_input": {
+        "properties": {
+          "input-leaf": {
+            "description": "",
+            "example": "Some input-leaf",
+            "type": "string"
+          }
+        },
+        "title": "action-types_first-container_second-container_third-container_nested-action_input",
+        "type": "object",
+        "xml": {
+          "name": "input",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container_nested-action_output": {
+        "properties": {
+          "output-leaf": {
+            "description": "",
+            "example": "Some output-leaf",
+            "type": "string"
+          }
+        },
+        "title": "action-types_first-container_second-container_third-container_nested-action_output",
+        "type": "object",
+        "xml": {
+          "name": "output",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
+      "action-types_first-container_second-container_third-container": {
+        "properties": {},
+        "title": "action-types_first-container_second-container_third-container",
+        "type": "object",
+        "xml": {
+          "name": "third-container",
+          "namespace": "urn:ietf:params:xml:ns:yang:test:action:types"
+        }
+      },
       "duplication-test_first": {
         "properties": {},
         "title": "duplication-test_first",
index 4d6d316e3e14b83cfbbfc4d53ffeb08c6cc0215b..21819a1f4734bd64bc8dbf9142323161a35edca8 100644 (file)
@@ -47,4 +47,23 @@ module action-types {
       }
     }
   }
+
+  container first-container {
+    container second-container {
+      container third-container {
+        action nested-action {
+          input {
+            leaf input-leaf {
+              type string;
+            }
+          }
+          output {
+            leaf output-leaf {
+              type string;
+            }
+          }
+        }
+      }
+    }
+  }
 }