You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ja...@apache.org on 2017/04/03 05:12:11 UTC

[2/4] ambari git commit: AMBARI-20624. Misc fixes for ambari-server swagger integration prototype. (jaimin)

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cb45e84/ambari-server/docs/api/generated/swagger.json
----------------------------------------------------------------------
diff --git a/ambari-server/docs/api/generated/swagger.json b/ambari-server/docs/api/generated/swagger.json
new file mode 100644
index 0000000..f7dbb6b
--- /dev/null
+++ b/ambari-server/docs/api/generated/swagger.json
@@ -0,0 +1,2305 @@
+{
+  "swagger" : "2.0",
+  "info" : {
+    "description" : "Ambari REST APIs has inherent support for querying, sorting and pagination",
+    "version" : "v1",
+    "title" : "Swagger spec for Ambari REST API",
+    "license" : {
+      "name" : "Apache License, Version 2.0",
+      "url" : "http://www.apache.org/licenses/LICENSE-2.0"
+    }
+  },
+  "basePath" : "/api/v1",
+  "tags" : [ {
+    "name" : "Groups",
+    "description" : "Endpoint for group specific operations"
+  }, {
+    "name" : "Users",
+    "description" : "Endpoint for user specific operations"
+  }, {
+    "name" : "Views"
+  } ],
+  "schemes" : [ "http", "https" ],
+  "paths" : {
+    "/groups" : {
+      "get" : {
+        "tags" : [ "Groups" ],
+        "summary" : "Get all groups",
+        "description" : "Returns details of all groups.",
+        "operationId" : "GroupService#getGroups",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter group details",
+          "required" : false,
+          "type" : "string",
+          "default" : "Groups/*"
+        }, {
+          "name" : "sortBy",
+          "in" : "query",
+          "description" : "Sort groups (asc | desc)",
+          "required" : false,
+          "type" : "string",
+          "default" : "Groups/group_name.asc"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful retrieval of all group entries",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/GroupResponse"
+              }
+            }
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "Groups" ],
+        "summary" : "Create new group",
+        "description" : "Creates group resource.",
+        "operationId" : "GroupService#createGroup",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "input parameters in json form",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/GroupRequest"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      }
+    },
+    "/groups/{groupName}" : {
+      "get" : {
+        "tags" : [ "Groups" ],
+        "summary" : "Get group",
+        "description" : "Returns group details.",
+        "operationId" : "GroupService#getGroup",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "groupName",
+          "in" : "path",
+          "description" : "group name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter group details",
+          "required" : false,
+          "type" : "string",
+          "default" : "Groups"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful retrieval of group resource",
+            "schema" : {
+              "$ref" : "#/definitions/GroupResponse"
+            }
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "Groups" ],
+        "summary" : "Delete group",
+        "description" : "Delete group resource.",
+        "operationId" : "GroupService#deleteGroup",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "groupName",
+          "in" : "path",
+          "description" : "group name",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      }
+    },
+    "/groups/{groupName}/members" : {
+      "get" : {
+        "tags" : [ "Groups" ],
+        "summary" : "Get all group members",
+        "description" : "Returns details of all members.",
+        "operationId" : "MemberService#getMembers",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "groupName",
+          "in" : "path",
+          "description" : "group name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter member details",
+          "required" : false,
+          "type" : "string",
+          "default" : "MemberInfo/*"
+        }, {
+          "name" : "sortBy",
+          "in" : "query",
+          "description" : "Sort members (asc | desc)",
+          "required" : false,
+          "type" : "string",
+          "default" : "MemberInfo/user_name.asc"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/MemberResponse"
+              }
+            }
+          }
+        }
+      },
+      "put" : {
+        "tags" : [ "Groups" ],
+        "summary" : "Update group members",
+        "description" : "Updates group member resources.",
+        "operationId" : "MemberService#updateMembers",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "groupName",
+          "in" : "path",
+          "description" : "group name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "input parameters in json form",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/MemberRequest"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      }
+    },
+    "/groups/{groupName}/members/{userName}" : {
+      "get" : {
+        "tags" : [ "Groups" ],
+        "summary" : "Get group member",
+        "description" : "Returns member details.",
+        "operationId" : "MemberService#getMember",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "groupName",
+          "in" : "path",
+          "description" : "group name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter member details",
+          "required" : false,
+          "type" : "string",
+          "default" : "MemberInfo"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/MemberResponse"
+            }
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "Groups" ],
+        "summary" : "Delete group member",
+        "description" : "Delete member resource.",
+        "operationId" : "MemberService#deleteMember",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "groupName",
+          "in" : "path",
+          "description" : "group name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      }
+    },
+    "/groups/{groupName}/privileges" : {
+      "get" : {
+        "tags" : [ "Groups" ],
+        "summary" : "Get all privileges",
+        "description" : "Returns all privileges for group.",
+        "operationId" : "GroupPrivilegeService#getPrivileges",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "groupName",
+          "in" : "path",
+          "description" : "group name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter user privileges",
+          "required" : false,
+          "type" : "string",
+          "default" : "PrivilegeInfo/*"
+        }, {
+          "name" : "sortBy",
+          "in" : "query",
+          "description" : "Sort user privileges (asc | desc)",
+          "required" : false,
+          "type" : "string",
+          "default" : "PrivilegeInfo/user_name.asc"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/GroupPrivilegeResponse"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/groups/{groupName}/privileges/{privilegeId}" : {
+      "get" : {
+        "tags" : [ "Groups" ],
+        "summary" : "Get group privilege",
+        "description" : "Returns group privilege details.",
+        "operationId" : "GroupPrivilegeService#getPrivilege",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "groupName",
+          "in" : "path",
+          "description" : "group name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "privilegeId",
+          "in" : "path",
+          "description" : "privilege id",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter group privilege details",
+          "required" : false,
+          "type" : "string",
+          "default" : "PrivilegeInfo/*"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/PrivilegeResponse"
+            }
+          }
+        }
+      }
+    },
+    "/users" : {
+      "get" : {
+        "tags" : [ "Users" ],
+        "summary" : "Get all users",
+        "description" : "Returns details of all users.",
+        "operationId" : "UserService#getUsers",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter user details",
+          "required" : false,
+          "type" : "string",
+          "default" : "Users/*"
+        }, {
+          "name" : "sortBy",
+          "in" : "query",
+          "description" : "Sort users (asc | desc)",
+          "required" : false,
+          "type" : "string",
+          "default" : "Users/user_name.desc"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/UserResponse"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/users/{userName}" : {
+      "get" : {
+        "tags" : [ "Users" ],
+        "summary" : "Get single user",
+        "description" : "Returns user details.",
+        "operationId" : "UserService#getUser",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string",
+          "default" : "admin"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter user details",
+          "required" : false,
+          "type" : "string",
+          "default" : "Users"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/UserResponse"
+            }
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "Users" ],
+        "summary" : "Create new user",
+        "description" : "Creates user resource.",
+        "operationId" : "UserService#createUser",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "input parameters in json form",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/UserRequest"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      },
+      "put" : {
+        "tags" : [ "Users" ],
+        "summary" : "Update user detail",
+        "description" : "Updates user resource.",
+        "operationId" : "UserService#updateUser",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "input parameters in json form",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/UserRequest"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "Users" ],
+        "summary" : "Delete single user",
+        "description" : "Delete user resource.",
+        "operationId" : "UserService#deleteUser",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      }
+    },
+    "/users/{userName}/activeWidgetLayouts" : {
+      "get" : {
+        "tags" : [ "Users" ],
+        "summary" : "Get user widget layouts",
+        "description" : "Returns all active widget layouts for user.",
+        "operationId" : "ActiveWidgetLayoutService#getServices",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter user layout details",
+          "required" : false,
+          "type" : "string",
+          "default" : "WidgetLayoutInfo/*"
+        }, {
+          "name" : "sortBy",
+          "in" : "query",
+          "description" : "Sort layouts (asc | desc)",
+          "required" : false,
+          "type" : "string",
+          "default" : "WidgetLayoutInfo/user_name.asc"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ActiveWidgetLayoutResponse"
+              }
+            }
+          }
+        }
+      },
+      "put" : {
+        "tags" : [ "Users" ],
+        "summary" : "Update user widget layouts",
+        "description" : "Updates user widget layout.",
+        "operationId" : "ActiveWidgetLayoutService#updateServices",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "input parameters in json form",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/ActiveWidgetLayoutRequest"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      }
+    },
+    "/users/{userName}/authorizations" : {
+      "get" : {
+        "tags" : [ "Users" ],
+        "summary" : "Get all authorizations",
+        "description" : "Returns all authorization for user.",
+        "operationId" : "UserAuthorizationService#getAuthorizations",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter user authorization details",
+          "required" : false,
+          "type" : "string",
+          "default" : "AuthorizationInfo/*"
+        }, {
+          "name" : "sortBy",
+          "in" : "query",
+          "description" : "Sort user authorizations (asc | desc)",
+          "required" : false,
+          "type" : "string",
+          "default" : "AuthorizationInfo/user_name.asc"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/UserAuthorizationResponse"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/users/{userName}/authorizations/{authorization_id}" : {
+      "get" : {
+        "tags" : [ "Users" ],
+        "summary" : "Get user authorization",
+        "description" : "Returns user authorization details.",
+        "operationId" : "UserAuthorizationService#getAuthorization",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "authorization_id",
+          "in" : "path",
+          "description" : "Authorization Id",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter user authorization details",
+          "required" : false,
+          "type" : "string",
+          "default" : "AuthorizationInfo/*"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/UserAuthorizationResponse"
+            }
+          }
+        }
+      }
+    },
+    "/users/{userName}/privileges" : {
+      "get" : {
+        "tags" : [ "Users" ],
+        "summary" : "Get all privileges",
+        "description" : "Returns all privileges for user.",
+        "operationId" : "UserPrivilegeService#getPrivileges",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string",
+          "default" : "admin"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter user privileges",
+          "required" : false,
+          "type" : "string",
+          "default" : "PrivilegeInfo/*"
+        }, {
+          "name" : "sortBy",
+          "in" : "query",
+          "description" : "Sort user privileges (asc | desc)",
+          "required" : false,
+          "type" : "string",
+          "default" : "PrivilegeInfo/user_name.asc"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/UserPrivilegeResponse"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/users/{userName}/privileges/{privilegeId}" : {
+      "get" : {
+        "tags" : [ "Users" ],
+        "summary" : "Get user privilege",
+        "description" : "Returns user privilege details.",
+        "operationId" : "UserPrivilegeService#getPrivilege",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "userName",
+          "in" : "path",
+          "description" : "user name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "privilegeId",
+          "in" : "path",
+          "description" : "privilege id",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter user privilege details",
+          "required" : false,
+          "type" : "string",
+          "default" : "PrivilegeInfo/*"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/UserPrivilegeResponse"
+            }
+          }
+        }
+      }
+    },
+    "/views" : {
+      "get" : {
+        "tags" : [ "Views" ],
+        "summary" : "Get all views",
+        "description" : "Returns details of all views.",
+        "operationId" : "ViewService#getViews",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter view details",
+          "required" : false,
+          "type" : "string",
+          "default" : "ViewInfo/*"
+        }, {
+          "name" : "sortBy",
+          "in" : "query",
+          "description" : "Sort users (asc | desc)",
+          "required" : false,
+          "type" : "string",
+          "default" : "ViewInfo/view_name.asc"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ViewResponse"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/views/{viewName}" : {
+      "get" : {
+        "tags" : [ "Views" ],
+        "summary" : "Get single view",
+        "description" : "Returns view details.",
+        "operationId" : "ViewService#getView",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter view details",
+          "required" : false,
+          "type" : "string",
+          "default" : "ViewInfo"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ViewResponse"
+            }
+          }
+        }
+      }
+    },
+    "/views/{viewName}/versions" : {
+      "get" : {
+        "tags" : [ "Views" ],
+        "summary" : "Get all versions for a view",
+        "description" : "Returns details of all versions for a view.",
+        "operationId" : "ViewVersionService#getVersions",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter view version details",
+          "required" : false,
+          "type" : "string",
+          "default" : "ViewVersionInfo/*"
+        }, {
+          "name" : "sortBy",
+          "in" : "query",
+          "description" : "Sort users (asc | desc)",
+          "required" : false,
+          "type" : "string",
+          "default" : "ViewVersionInfo/version.desc"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ViewVersionResponse"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/views/{viewName}/versions/{version}" : {
+      "get" : {
+        "tags" : [ "Views" ],
+        "summary" : "Get single view version",
+        "description" : "Returns view details.",
+        "operationId" : "ViewVersionService#getVersion",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter view details",
+          "required" : false,
+          "type" : "string",
+          "default" : "ViewVersionInfo"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ViewVersionResponse"
+            }
+          }
+        }
+      }
+    },
+    "/views/{viewName}/versions/{version}/instances" : {
+      "get" : {
+        "tags" : [ "Views" ],
+        "summary" : "Get all view instances",
+        "description" : "Returns all instances for a view version.",
+        "operationId" : "ViewInstanceService#getServices",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter view instance details",
+          "required" : false,
+          "type" : "string",
+          "default" : "ViewInstanceInfo/*"
+        }, {
+          "name" : "sortBy",
+          "in" : "query",
+          "description" : "Sort users (asc | desc)",
+          "required" : false,
+          "type" : "string",
+          "default" : "ViewInstanceInfo/instance_name.desc"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ViewInstanceResponse"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/views/{viewName}/versions/{version}/instances/{instanceName}" : {
+      "get" : {
+        "tags" : [ "Views" ],
+        "summary" : "Get single view instance",
+        "description" : "Returns view instance details.",
+        "operationId" : "ViewInstanceService#getService",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "instanceName",
+          "in" : "path",
+          "description" : "instance name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter view instance details",
+          "required" : false,
+          "type" : "string",
+          "default" : "ViewInstanceInfo"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ViewInstanceResponse"
+            }
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "Views" ],
+        "summary" : "Create view instance",
+        "description" : "Creates view instance resource.",
+        "operationId" : "ViewInstanceService#createService",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "instanceName",
+          "in" : "path",
+          "description" : "instance name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "input parameters in json form",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/ViewInstanceRequest"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      },
+      "put" : {
+        "tags" : [ "Views" ],
+        "summary" : "Update view instance detail",
+        "description" : "Updates view instance resource.",
+        "operationId" : "ViewInstanceService#updateService",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "instanceName",
+          "in" : "path",
+          "description" : "instance name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "input parameters in json form",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/ViewInstanceRequest"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "Views" ],
+        "summary" : "Delete view instance",
+        "description" : "Delete view resource.",
+        "operationId" : "ViewInstanceService#deleteService",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "instanceName",
+          "in" : "path",
+          "description" : "instance name",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      }
+    },
+    "/views/{viewName}/versions/{version}/instances/{instanceName}/migrate/{originVersion}/{originInstanceName}" : {
+      "put" : {
+        "tags" : [ "Views" ],
+        "summary" : "Migrate view instance data",
+        "description" : "Migrates view instance persistence data from origin view instance specified in the path params.",
+        "operationId" : "ViewDataMigrationService#migrateData",
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "view version",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "instanceName",
+          "in" : "path",
+          "description" : "instance name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "originVersion",
+          "in" : "path",
+          "description" : "origin version",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "originInstanceName",
+          "in" : "path",
+          "description" : "origin instance name",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      }
+    },
+    "/views/{viewName}/versions/{version}/instances/{instanceName}/privileges" : {
+      "get" : {
+        "tags" : [ "Views" ],
+        "summary" : "Get all view instance privileges",
+        "description" : "Returns all privileges for the resource.",
+        "operationId" : "ViewPrivilegeService#getPrivileges",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "view version",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "instanceName",
+          "in" : "path",
+          "description" : "instance name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter privileges",
+          "required" : false,
+          "type" : "string",
+          "default" : "PrivilegeInfo/*"
+        }, {
+          "name" : "sortBy",
+          "in" : "query",
+          "description" : "Sort privileges (asc | desc)",
+          "required" : false,
+          "type" : "string",
+          "default" : "PrivilegeInfo/user_name.asc"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ViewPrivilegeResponse"
+              }
+            }
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "Views" ],
+        "summary" : "Create view instance privilege",
+        "description" : "Create privilege resource for view instance.",
+        "operationId" : "ViewPrivilegeService#createPrivilege",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "view version",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "instanceName",
+          "in" : "path",
+          "description" : "instance name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "input parameters in json form",
+          "required" : true,
+          "schema" : {
+            "$ref" : "#/definitions/ViewPrivilegeRequest"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      }
+    },
+    "/views/{viewName}/versions/{version}/instances/{instanceName}/privileges/{privilegeId}" : {
+      "get" : {
+        "tags" : [ "Views" ],
+        "summary" : "Get single view instance privilege",
+        "description" : "Returns privilege details.",
+        "operationId" : "ViewPrivilegeService#getPrivilege",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "view version",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "instanceName",
+          "in" : "path",
+          "description" : "instance name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "privilegeId",
+          "in" : "path",
+          "description" : "privilege id",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter privilege details",
+          "required" : false,
+          "type" : "string",
+          "default" : "PrivilegeInfo"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ViewPrivilegeResponse"
+            }
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "Views" ],
+        "summary" : "Delete view instance privilege",
+        "description" : "Delete view instance privilege resource.",
+        "operationId" : "ViewPrivilegeService#deletePrivilege",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "view version",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "instanceName",
+          "in" : "path",
+          "description" : "instance name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "privilegeId",
+          "in" : "path",
+          "description" : "privilege id",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation"
+          },
+          "500" : {
+            "description" : "Server Error"
+          }
+        }
+      }
+    },
+    "/views/{viewName}/versions/{version}/permissions" : {
+      "get" : {
+        "tags" : [ "Views" ],
+        "summary" : "Get all permissions for a view",
+        "description" : "Returns all permission details for the version of a view.",
+        "operationId" : "ViewPermissionService#getPermissions",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "view version",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter privileges",
+          "required" : false,
+          "type" : "string",
+          "default" : "PermissionInfo/*"
+        }, {
+          "name" : "page_size",
+          "in" : "query",
+          "description" : "The number of resources to be returned for the paged response.",
+          "required" : false,
+          "type" : "integer",
+          "default" : 10
+        }, {
+          "name" : "from",
+          "in" : "query",
+          "description" : "The starting page resource (inclusive). Valid values are :offset | \"start\"",
+          "required" : false,
+          "type" : "string",
+          "default" : "0"
+        }, {
+          "name" : "to",
+          "in" : "query",
+          "description" : "The ending page resource (inclusive). Valid values are :offset | \"end\"",
+          "required" : false,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "type" : "array",
+              "items" : {
+                "$ref" : "#/definitions/ViewPermissionResponse"
+              }
+            }
+          }
+        }
+      }
+    },
+    "/views/{viewName}/versions/{version}/permissions/{permissionId}" : {
+      "get" : {
+        "tags" : [ "Views" ],
+        "summary" : "Get single view permission",
+        "description" : "Returns permission details for a single version of a view.",
+        "operationId" : "ViewPermissionService#getPermission",
+        "produces" : [ "text/plain" ],
+        "parameters" : [ {
+          "name" : "viewName",
+          "in" : "path",
+          "description" : "view name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "version",
+          "in" : "path",
+          "description" : "view version",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "permissionId",
+          "in" : "path",
+          "description" : "permission id",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "fields",
+          "in" : "query",
+          "description" : "Filter view permission details",
+          "required" : false,
+          "type" : "string",
+          "default" : "PermissionInfo"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ViewPermissionResponse"
+            }
+          }
+        }
+      }
+    }
+  },
+  "definitions" : {
+    "ActiveWidgetLayoutRequest" : {
+      "type" : "object",
+      "properties" : {
+        "WidgetLayouts" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/WidgetLayoutIdWrapper"
+          }
+        }
+      }
+    },
+    "ActiveWidgetLayoutResponse" : {
+      "type" : "object",
+      "properties" : {
+        "WidgetLayoutInfo/cluster_name" : {
+          "type" : "string"
+        },
+        "WidgetLayoutInfo/display_name" : {
+          "type" : "string"
+        },
+        "WidgetLayoutInfo/layout_name" : {
+          "type" : "string"
+        },
+        "WidgetLayoutInfo/scope" : {
+          "type" : "string"
+        },
+        "WidgetLayoutInfo/section_name" : {
+          "type" : "string"
+        },
+        "WidgetLayoutInfo/user_name" : {
+          "type" : "string"
+        },
+        "WidgetLayoutInfo/widgets" : {
+          "type" : "array",
+          "items" : {
+            "type" : "object",
+            "additionalProperties" : {
+              "$ref" : "#/definitions/WidgetResponse"
+            }
+          }
+        }
+      }
+    },
+    "GroupPrivilegeResponse" : {
+      "type" : "object",
+      "required" : [ "PrivilegeInfo/group_name" ],
+      "properties" : {
+        "PrivilegeInfo/permission_label" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/privilege_id" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "PrivilegeInfo/permission_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/principal_type" : {
+          "type" : "string",
+          "enum" : [ "USER", "GROUP", "ROLE" ]
+        },
+        "PrivilegeInfo/principal_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/type" : {
+          "type" : "string",
+          "enum" : [ "AMBARI", "CLUSTER", "VIEW" ]
+        },
+        "PrivilegeInfo/cluster_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/view_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/version" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/instance_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/group_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "GroupRequest" : {
+      "type" : "object",
+      "required" : [ "Groups/group_name" ],
+      "properties" : {
+        "Groups/group_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "GroupResponse" : {
+      "type" : "object",
+      "properties" : {
+        "Groups/group_name" : {
+          "type" : "string"
+        },
+        "Groups/ldap_group" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "Groups/group_type" : {
+          "type" : "string",
+          "enum" : [ "LOCAL", "LDAP", "JWT", "PAM" ]
+        }
+      }
+    },
+    "MemberRequest" : {
+      "type" : "object",
+      "required" : [ "MemberInfo/group_name", "MemberInfo/user_name" ],
+      "properties" : {
+        "MemberInfo/group_name" : {
+          "type" : "string"
+        },
+        "MemberInfo/user_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "MemberResponse" : {
+      "type" : "object",
+      "properties" : {
+        "MemberInfo/group_name" : {
+          "type" : "string"
+        },
+        "MemberInfo/user_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "ParameterConfig" : {
+      "type" : "object",
+      "properties" : {
+        "name" : {
+          "type" : "string"
+        },
+        "description" : {
+          "type" : "string"
+        },
+        "label" : {
+          "type" : "string"
+        },
+        "placeholder" : {
+          "type" : "string"
+        },
+        "defaultValue" : {
+          "type" : "string",
+          "xml" : {
+            "name" : "default-value"
+          }
+        },
+        "clusterConfig" : {
+          "type" : "string",
+          "xml" : {
+            "name" : "cluster-config"
+          }
+        },
+        "required" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "masked" : {
+          "type" : "boolean",
+          "default" : false
+        }
+      }
+    },
+    "PrivilegeResponse" : {
+      "type" : "object",
+      "properties" : {
+        "PrivilegeInfo/permission_label" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/privilege_id" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "PrivilegeInfo/permission_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/principal_type" : {
+          "type" : "string",
+          "enum" : [ "USER", "GROUP", "ROLE" ]
+        },
+        "PrivilegeInfo/principal_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/type" : {
+          "type" : "string",
+          "enum" : [ "AMBARI", "CLUSTER", "VIEW" ]
+        },
+        "PrivilegeInfo/cluster_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/view_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/version" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/instance_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "UserAuthorizationResponse" : {
+      "type" : "object",
+      "required" : [ "AuthorizationInfo/user_name" ],
+      "properties" : {
+        "AuthorizationInfo/authorization_id" : {
+          "type" : "string"
+        },
+        "AuthorizationInfo/authorization_name" : {
+          "type" : "string"
+        },
+        "AuthorizationInfo/resource_type" : {
+          "type" : "string"
+        },
+        "AuthorizationInfo/user_name" : {
+          "type" : "string"
+        },
+        "AuthorizationInfo/cluster_name" : {
+          "type" : "string"
+        },
+        "AuthorizationInfo/view_name" : {
+          "type" : "string"
+        },
+        "AuthorizationInfo/view_version" : {
+          "type" : "string"
+        },
+        "AuthorizationInfo/view_instance_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "UserPrivilegeResponse" : {
+      "type" : "object",
+      "required" : [ "PrivilegeInfo/user_name" ],
+      "properties" : {
+        "PrivilegeInfo/permission_label" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/privilege_id" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "PrivilegeInfo/permission_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/principal_type" : {
+          "type" : "string",
+          "enum" : [ "USER", "GROUP", "ROLE" ]
+        },
+        "PrivilegeInfo/principal_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/type" : {
+          "type" : "string",
+          "enum" : [ "AMBARI", "CLUSTER", "VIEW" ]
+        },
+        "PrivilegeInfo/cluster_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/view_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/version" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/instance_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/user_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "UserRequest" : {
+      "type" : "object",
+      "properties" : {
+        "Users/password" : {
+          "type" : "string"
+        },
+        "Users/old_password" : {
+          "type" : "string"
+        },
+        "Users/active" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "Users/admin" : {
+          "type" : "boolean",
+          "default" : false
+        }
+      }
+    },
+    "UserResponse" : {
+      "type" : "object",
+      "required" : [ "Users/user_name" ],
+      "properties" : {
+        "Users/user_type" : {
+          "type" : "string",
+          "enum" : [ "LOCAL", "LDAP", "JWT", "PAM" ]
+        },
+        "Users/groups" : {
+          "type" : "array",
+          "uniqueItems" : true,
+          "items" : {
+            "type" : "string"
+          }
+        },
+        "Users/user_name" : {
+          "type" : "string"
+        },
+        "Users/active" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "Users/admin" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "Users/ldap_user" : {
+          "type" : "boolean",
+          "default" : false
+        }
+      }
+    },
+    "ValidationResult" : {
+      "type" : "object",
+      "properties" : {
+        "valid" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "detail" : {
+          "type" : "string"
+        }
+      }
+    },
+    "ViewInfo" : {
+      "type" : "object",
+      "properties" : {
+        "view_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "ViewInstanceRequest" : {
+      "type" : "object",
+      "properties" : {
+        "ViewInstanceInfo" : {
+          "$ref" : "#/definitions/ViewInstanceRequestInfo"
+        }
+      }
+    },
+    "ViewInstanceRequestInfo" : {
+      "type" : "object",
+      "properties" : {
+        "label" : {
+          "type" : "string"
+        },
+        "description" : {
+          "type" : "string"
+        },
+        "visible" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "icon_path" : {
+          "type" : "string"
+        },
+        "icon64_path" : {
+          "type" : "string"
+        },
+        "properties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
+        },
+        "instance_data" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
+        },
+        "cluster_handle" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "cluster_type" : {
+          "type" : "string",
+          "enum" : [ "LOCAL_AMBARI", "REMOTE_AMBARI", "NONE" ]
+        }
+      }
+    },
+    "ViewInstanceResponse" : {
+      "type" : "object",
+      "properties" : {
+        "ViewInstanceInfo" : {
+          "$ref" : "#/definitions/ViewInstanceResponseInfo"
+        }
+      }
+    },
+    "ViewInstanceResponseInfo" : {
+      "type" : "object",
+      "properties" : {
+        "view_name" : {
+          "type" : "string"
+        },
+        "version" : {
+          "type" : "string"
+        },
+        "instance_name" : {
+          "type" : "string"
+        },
+        "label" : {
+          "type" : "string"
+        },
+        "description" : {
+          "type" : "string"
+        },
+        "visible" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "icon_path" : {
+          "type" : "string"
+        },
+        "icon64_path" : {
+          "type" : "string"
+        },
+        "properties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
+        },
+        "instance_data" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
+        },
+        "cluster_handle" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "cluster_type" : {
+          "type" : "string",
+          "enum" : [ "LOCAL_AMBARI", "REMOTE_AMBARI", "NONE" ]
+        },
+        "context_path" : {
+          "type" : "string"
+        },
+        "static" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "short_url" : {
+          "type" : "string"
+        },
+        "short_url_name" : {
+          "type" : "string"
+        },
+        "validation_result" : {
+          "$ref" : "#/definitions/ValidationResult"
+        },
+        "property_validation_results" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/ValidationResult"
+          }
+        }
+      }
+    },
+    "ViewPermissionInfo" : {
+      "type" : "object",
+      "properties" : {
+        "view_name" : {
+          "type" : "string"
+        },
+        "version" : {
+          "type" : "string"
+        },
+        "permission_id" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "permission_name" : {
+          "type" : "string"
+        },
+        "resource_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "ViewPermissionResponse" : {
+      "type" : "object",
+      "properties" : {
+        "ViewPermissionInfo" : {
+          "$ref" : "#/definitions/ViewPermissionInfo"
+        }
+      }
+    },
+    "ViewPrivilegeRequest" : {
+      "type" : "object",
+      "properties" : {
+        "PrivilegeInfo/permission_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/principal_type" : {
+          "type" : "string",
+          "enum" : [ "USER", "GROUP", "ROLE" ]
+        },
+        "PrivilegeInfo/principal_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "ViewPrivilegeResponse" : {
+      "type" : "object",
+      "properties" : {
+        "PrivilegeInfo/permission_label" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/privilege_id" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "PrivilegeInfo/permission_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/principal_type" : {
+          "type" : "string",
+          "enum" : [ "USER", "GROUP", "ROLE" ]
+        },
+        "PrivilegeInfo/principal_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/view_name" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/version" : {
+          "type" : "string"
+        },
+        "PrivilegeInfo/instance_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "ViewResponse" : {
+      "type" : "object",
+      "properties" : {
+        "ViewInfo" : {
+          "$ref" : "#/definitions/ViewInfo"
+        }
+      }
+    },
+    "ViewVersionInfo" : {
+      "type" : "object",
+      "properties" : {
+        "archive" : {
+          "type" : "string"
+        },
+        "build_number" : {
+          "type" : "string"
+        },
+        "cluster_configurable" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "description" : {
+          "type" : "string"
+        },
+        "label" : {
+          "type" : "string"
+        },
+        "masker_class" : {
+          "type" : "string"
+        },
+        "max_ambari_version" : {
+          "type" : "string"
+        },
+        "min_ambari_version" : {
+          "type" : "string"
+        },
+        "parameters" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/ParameterConfig"
+          }
+        },
+        "status" : {
+          "type" : "string",
+          "enum" : [ "PENDING", "DEPLOYING", "DEPLOYED", "ERROR" ]
+        },
+        "status_detail" : {
+          "type" : "string"
+        },
+        "system" : {
+          "type" : "boolean",
+          "default" : false
+        },
+        "version" : {
+          "type" : "string"
+        },
+        "view_name" : {
+          "type" : "string"
+        }
+      }
+    },
+    "ViewVersionResponse" : {
+      "type" : "object",
+      "properties" : {
+        "ViewVersionInfo" : {
+          "$ref" : "#/definitions/ViewVersionInfo"
+        }
+      }
+    },
+    "WidgetLayoutIdWrapper" : {
+      "type" : "object",
+      "properties" : {
+        "id" : {
+          "type" : "integer",
+          "format" : "int64"
+        }
+      }
+    },
+    "WidgetResponse" : {
+      "type" : "object",
+      "properties" : {
+        "id" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "widgetName" : {
+          "type" : "string"
+        },
+        "widgetType" : {
+          "type" : "string"
+        },
+        "metrics" : {
+          "type" : "string"
+        },
+        "timeCreated" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "author" : {
+          "type" : "string"
+        },
+        "description" : {
+          "type" : "string"
+        },
+        "displayName" : {
+          "type" : "string"
+        },
+        "scope" : {
+          "type" : "string"
+        },
+        "widgetValues" : {
+          "type" : "string"
+        },
+        "properties" : {
+          "type" : "string"
+        },
+        "clusterName" : {
+          "type" : "string"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cb45e84/ambari-server/pom.xml
----------------------------------------------------------------------
diff --git a/ambari-server/pom.xml b/ambari-server/pom.xml
index 618d21f..fbc2b9f 100644
--- a/ambari-server/pom.xml
+++ b/ambari-server/pom.xml
@@ -35,6 +35,8 @@
     <resource_management.install.dir>/usr/lib/ambari-server/lib/resource_management</resource_management.install.dir>
     <jinja.install.dir>/usr/lib/ambari-server/lib/ambari_jinja2</jinja.install.dir>
     <simplejson.install.dir>/usr/lib/ambari-server/lib/ambari_simplejson</simplejson.install.dir>
+    <swagger.spec.dir>docs/api/generated/</swagger.spec.dir>
+    <swagger.generated.resources.dir>${project.build.directory}/generated-sources/swagger</swagger.generated.resources.dir>
     <ambari-web-dir>${basedir}/../ambari-web/public</ambari-web-dir>
     <ambari-admin-dir>${basedir}/../ambari-admin</ambari-admin-dir>
     <contrib-views-dir>${basedir}/../contrib/views</contrib-views-dir>
@@ -256,6 +258,42 @@
               </resources>
             </configuration>
           </execution>
+          <execution>
+            <id>copy-swagger-spec</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>copy-resources</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>${ambari-web-dir}/api-docs</outputDirectory>
+              <resources>
+                <resource>
+                  <directory>${swagger.spec.dir}/</directory>
+                  <includes>
+                    <include>swagger.json</include>
+                  </includes>
+                </resource>
+              </resources>
+            </configuration>
+          </execution>
+          <execution>
+            <id>copy-swagger-generated-html</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>copy-resources</goal>
+            </goals>
+            <configuration>
+              <outputDirectory>${swagger.spec.dir}</outputDirectory>
+              <resources>
+                <resource>
+                  <directory>${swagger.generated.resources.dir}/</directory>
+                  <includes>
+                    <include>index.html</include>
+                  </includes>
+                </resource>
+              </resources>
+            </configuration>
+          </execution>
         </executions>
       </plugin>
       <plugin>
@@ -309,7 +347,7 @@
             <exclude>src/main/resources/stacks/BIGTOP/0.8/services/HDFS/package/scripts/balancer-emulator/balancer-err.log</exclude>
             <exclude>src/main/resources/stacks/PHD/3.0.0.0/services/HDFS/package/scripts/balancer-emulator/balancer.log</exclude>
             <exclude>src/main/resources/stacks/PHD/3.0.0.0/services/HDFS/package/scripts/balancer-emulator/balancer-err.log</exclude>
-            <exclude>docs/api/asciidoc/**</exclude>
+            <exclude>${swagger.spec.dir}/**</exclude>
             <exclude>**/SMARTSENSE/**</exclude>
             <exclude>conf/unix/ca.config</exclude>
             <exclude>conf/unix/krb5JAASLogin.conf</exclude>
@@ -373,7 +411,7 @@
                   <name>Apache License, Version 2.0</name>
                 </license>
               </info>
-              <swaggerDirectory>${ambari-web-dir}/api-docs</swaggerDirectory>
+              <swaggerDirectory>${swagger.spec.dir}</swaggerDirectory>
             </apiSource>
           </apiSources>
         </configuration>
@@ -387,21 +425,21 @@
         </executions>
       </plugin>
       <plugin>
-        <groupId>io.github.robwin</groupId>
-        <artifactId>swagger2markup-maven-plugin</artifactId>
-        <version>0.9.3</version>
-        <configuration>
-          <inputDirectory>${ambari-web-dir}/api-docs</inputDirectory>
-          <swaggerFile>swagger.json</swaggerFile>
-          <outputDirectory>docs/api/asciidoc</outputDirectory>
-          <markupLanguage>asciidoc</markupLanguage>
-        </configuration>
+        <groupId>io.swagger</groupId>
+        <artifactId>swagger-codegen-maven-plugin</artifactId>
+        <version>2.2.2</version>
         <executions>
           <execution>
+            <id>generate-swagger-html2</id>
             <phase>process-classes</phase>
             <goals>
-              <goal>process-swagger</goal>
+              <goal>generate</goal>
             </goals>
+            <configuration>
+              <inputSpec>${swagger.spec.dir}/swagger.json</inputSpec>
+              <language>html2</language>
+              <output>${swagger.generated.resources.dir}</output>
+            </configuration>
           </execution>
         </executions>
       </plugin>

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cb45e84/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupPrivilegeService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupPrivilegeService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupPrivilegeService.java
index 8a23885..72f4d82 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupPrivilegeService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupPrivilegeService.java
@@ -62,7 +62,7 @@ public class GroupPrivilegeService extends BaseService {
    */
   @GET
   @Produces("text/plain")
-  @ApiOperation(value = "Get all privileges", notes = "Returns all privileges for group.", response = GroupPrivilegeResponse.class, responseContainer = "List")
+  @ApiOperation(value = "Get all privileges", nickname = "GroupPrivilegeService#getPrivileges", notes = "Returns all privileges for group.", response = GroupPrivilegeResponse.class, responseContainer = "List")
   @ApiImplicitParams({
     @ApiImplicitParam(name = "fields", value = "Filter user privileges", defaultValue = "PrivilegeInfo/*", dataType = "string", paramType = "query"),
     @ApiImplicitParam(name = "sortBy", value = "Sort user privileges (asc | desc)", defaultValue = "PrivilegeInfo/user_name.asc", dataType = "string", paramType = "query"),
@@ -90,14 +90,14 @@ public class GroupPrivilegeService extends BaseService {
   @GET
   @Path("{privilegeId}")
   @Produces("text/plain")
-  @ApiOperation(value = "Get group privilege", notes = "Returns group privilege details.", response = GroupPrivilegeResponse.class)
+  @ApiOperation(value = "Get group privilege", nickname = "GroupPrivilegeService#getPrivilege", notes = "Returns group privilege details.", response = GroupPrivilegeResponse.class)
   @ApiImplicitParams({
     @ApiImplicitParam(name = "fields", value = "Filter group privilege details", defaultValue = "PrivilegeInfo/*", dataType = "string", paramType = "query")
   })
   @ApiResponses(value = {
     @ApiResponse(code = 200, message = "Successful operation", response = PrivilegeResponse.class)}
   )
-  public Response getPrivilege(@Context HttpHeaders headers, @Context UriInfo ui, @ApiParam(value = "user name", required = true) @PathParam ("userName") String groupName,
+  public Response getPrivilege(@Context HttpHeaders headers, @Context UriInfo ui, @ApiParam(value = "group name", required = true) @PathParam ("groupName") String groupName,
                                @ApiParam(value = "privilege id", required = true) @PathParam("privilegeId") String privilegeId) {
     return handleRequest(headers, null, ui, Request.Type.GET, createPrivilegeResource(groupName, privilegeId));
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cb45e84/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupService.java
index ad9db28..6f48403 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupService.java
@@ -59,7 +59,7 @@ public class GroupService extends BaseService {
    */
   @GET
   @Produces("text/plain")
-  @ApiOperation(value = "Get all groups", notes = "Returns details of all groups.", response = GroupResponse.class, responseContainer = "List")
+  @ApiOperation(value = "Get all groups", nickname = "GroupService#getGroups", notes = "Returns details of all groups.", response = GroupResponse.class, responseContainer = "List")
   @ApiImplicitParams({
     @ApiImplicitParam(name = "fields", value = "Filter group details", defaultValue = "Groups/*", dataType = "string", paramType = "query"),
     @ApiImplicitParam(name = "sortBy", value = "Sort groups (asc | desc)", defaultValue = "Groups/group_name.asc", dataType = "string", paramType = "query"),
@@ -86,7 +86,7 @@ public class GroupService extends BaseService {
   @GET
   @Path("{groupName}")
   @Produces("text/plain")
-  @ApiOperation(value = "Get group", notes = "Returns group details.", response = GroupResponse.class)
+  @ApiOperation(value = "Get group", nickname = "GroupService#getGroup", notes = "Returns group details.", response = GroupResponse.class)
   @ApiImplicitParams({
     @ApiImplicitParam(name = "fields", value = "Filter group details", defaultValue = "Groups", dataType = "string", paramType = "query")
   })
@@ -108,7 +108,7 @@ public class GroupService extends BaseService {
    */
    @POST
    @Produces("text/plain")
-   @ApiOperation(value = "Create new group", notes = "Creates group resource.")
+   @ApiOperation(value = "Create new group", nickname = "GroupService#createGroup", notes = "Creates group resource.")
    @ApiImplicitParams({
      @ApiImplicitParam(name = "body", value = "input parameters in json form", required = true, dataType = "org.apache.ambari.server.controller.GroupRequest", paramType = "body")
    })
@@ -152,7 +152,7 @@ public class GroupService extends BaseService {
   @DELETE
   @Path("{groupName}")
   @Produces("text/plain")
-  @ApiOperation(value = "Delete group", notes = "Delete group resource.")
+  @ApiOperation(value = "Delete group", nickname = "GroupService#deleteGroup", notes = "Delete group resource.")
   @ApiResponses(value = {
     @ApiResponse(code = 200, message = "Successful operation"),
     @ApiResponse(code = 500, message = "Server Error")}

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cb45e84/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/MemberService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/MemberService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/MemberService.java
index ec02511..0ccc472 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/MemberService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/MemberService.java
@@ -98,7 +98,7 @@ public class MemberService extends BaseService {
    @DELETE
    @Path("{userName}")
    @Produces("text/plain")
-   @ApiOperation(value = "Delete group member", notes = "Delete member resource.")
+   @ApiOperation(value = "Delete group member", nickname = "MemberService#deleteMember", notes = "Delete member resource.")
    @ApiResponses(value = {
      @ApiResponse(code = 200, message = "Successful operation"),
      @ApiResponse(code = 500, message = "Server Error")}
@@ -119,7 +119,7 @@ public class MemberService extends BaseService {
    */
   @GET
   @Produces("text/plain")
-  @ApiOperation(value = "Get all group members", notes = "Returns details of all members.", response = MemberResponse.class, responseContainer = "List")
+  @ApiOperation(value = "Get all group members", nickname = "MemberService#getMembers", notes = "Returns details of all members.", response = MemberResponse.class, responseContainer = "List")
   @ApiImplicitParams({
     @ApiImplicitParam(name = "fields", value = "Filter member details", defaultValue = "MemberInfo/*", dataType = "string", paramType = "query"),
     @ApiImplicitParam(name = "sortBy", value = "Sort members (asc | desc)", defaultValue = "MemberInfo/user_name.asc", dataType = "string", paramType = "query"),
@@ -147,7 +147,7 @@ public class MemberService extends BaseService {
   @GET
   @Path("{userName}")
   @Produces("text/plain")
-  @ApiOperation(value = "Get group member", notes = "Returns member details.", response = MemberResponse.class)
+  @ApiOperation(value = "Get group member", nickname = "MemberService#getMember", notes = "Returns member details.", response = MemberResponse.class)
   @ApiImplicitParams({
     @ApiImplicitParam(name = "fields", value = "Filter member details", defaultValue = "MemberInfo", dataType = "string", paramType = "query")
   })
@@ -170,7 +170,7 @@ public class MemberService extends BaseService {
    */
   @PUT
   @Produces("text/plain")
-  @ApiOperation(value = "Update group members", notes = "Updates group member resources.", responseContainer = "List")
+  @ApiOperation(value = "Update group members", nickname = "MemberService#updateMembers", notes = "Updates group member resources.", responseContainer = "List")
   @ApiImplicitParams({
     @ApiImplicitParam(name = "body", value = "input parameters in json form", required = true, dataType = "org.apache.ambari.server.controller.MemberRequest", paramType = "body")
   })

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cb45e84/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/ActiveWidgetLayoutService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/ActiveWidgetLayoutService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/ActiveWidgetLayoutService.java
index 30714d4..3dea1ca 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/ActiveWidgetLayoutService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/ActiveWidgetLayoutService.java
@@ -64,7 +64,7 @@ public class ActiveWidgetLayoutService extends BaseService {
    */
   @GET
   @Produces("text/plain")
-  @ApiOperation(value = "Get user widget layouts", notes = "Returns all active widget layouts for user.", response = ActiveWidgetLayoutResponse.class, responseContainer = "List")
+  @ApiOperation(value = "Get user widget layouts", nickname = "ActiveWidgetLayoutService#getServices", notes = "Returns all active widget layouts for user.", response = ActiveWidgetLayoutResponse.class, responseContainer = "List")
   @ApiImplicitParams({
     @ApiImplicitParam(name = "fields", value = "Filter user layout details", defaultValue = "WidgetLayoutInfo/*", dataType = "string", paramType = "query"),
     @ApiImplicitParam(name = "sortBy", value = "Sort layouts (asc | desc)", defaultValue = "WidgetLayoutInfo/user_name.asc", dataType = "string", paramType = "query"),
@@ -88,7 +88,7 @@ public class ActiveWidgetLayoutService extends BaseService {
    */
   @PUT
   @Produces("text/plain")
-  @ApiOperation(value = "Update user widget layouts", notes = "Updates user widget layout.")
+  @ApiOperation(value = "Update user widget layouts", nickname = "ActiveWidgetLayoutService#updateServices", notes = "Updates user widget layout.")
   @ApiImplicitParams({
     @ApiImplicitParam(name = "body", value = "input parameters in json form", required = true, dataType = "org.apache.ambari.server.controller.ActiveWidgetLayoutRequest", paramType = "body")
   })

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cb45e84/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserAuthorizationService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserAuthorizationService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserAuthorizationService.java
index e6fda46..195f2e7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserAuthorizationService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserAuthorizationService.java
@@ -67,7 +67,7 @@ public class UserAuthorizationService extends BaseService {
    */
   @GET
   @Produces("text/plain")
-  @ApiOperation(value = "Get all authorizations", notes = "Returns all authorization for user.", response = UserAuthorizationResponse.class, responseContainer = "List")
+  @ApiOperation(value = "Get all authorizations", nickname = "UserAuthorizationService#getAuthorizations", notes = "Returns all authorization for user.", response = UserAuthorizationResponse.class, responseContainer = "List")
   @ApiImplicitParams({
     @ApiImplicitParam(name = "fields", value = "Filter user authorization details", defaultValue = "AuthorizationInfo/*", dataType = "string", paramType = "query"),
     @ApiImplicitParam(name = "sortBy", value = "Sort user authorizations (asc | desc)", defaultValue = "AuthorizationInfo/user_name.asc", dataType = "string", paramType = "query"),
@@ -93,7 +93,7 @@ public class UserAuthorizationService extends BaseService {
   @GET
   @Path("{authorization_id}")
   @Produces("text/plain")
-  @ApiOperation(value = "Get user authorization", notes = "Returns user authorization details.", response = UserAuthorizationResponse.class)
+  @ApiOperation(value = "Get user authorization", nickname = "UserAuthorizationService#getAuthorization", notes = "Returns user authorization details.", response = UserAuthorizationResponse.class)
   @ApiImplicitParams({
     @ApiImplicitParam(name = "fields", value = "Filter user authorization details", defaultValue = "AuthorizationInfo/*", dataType = "string", paramType = "query")
   })

http://git-wip-us.apache.org/repos/asf/ambari/blob/3cb45e84/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserPrivilegeService.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserPrivilegeService.java b/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserPrivilegeService.java
index d6b4b29..293b45f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserPrivilegeService.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserPrivilegeService.java
@@ -63,7 +63,7 @@ public class UserPrivilegeService extends BaseService {
    */
   @GET
   @Produces("text/plain")
-  @ApiOperation(value = "Get all privileges", notes = "Returns all privileges for user.", response = UserPrivilegeResponse.class, responseContainer = "List")
+  @ApiOperation(value = "Get all privileges", nickname = "UserPrivilegeService#getPrivileges", notes = "Returns all privileges for user.", response = UserPrivilegeResponse.class, responseContainer = "List")
   @ApiImplicitParams({
     @ApiImplicitParam(name = "fields", value = "Filter user privileges", defaultValue = "PrivilegeInfo/*", dataType = "string", paramType = "query"),
     @ApiImplicitParam(name = "sortBy", value = "Sort user privileges (asc | desc)", defaultValue = "PrivilegeInfo/user_name.asc", dataType = "string", paramType = "query"),
@@ -91,7 +91,7 @@ public class UserPrivilegeService extends BaseService {
   @GET
   @Path("{privilegeId}")
   @Produces("text/plain")
-  @ApiOperation(value = "Get user privilege", notes = "Returns user privilege details.", response = UserPrivilegeResponse.class)
+  @ApiOperation(value = "Get user privilege", nickname = "UserPrivilegeService#getPrivilege", notes = "Returns user privilege details.", response = UserPrivilegeResponse.class)
   @ApiImplicitParams({
     @ApiImplicitParam(name = "fields", value = "Filter user privilege details", defaultValue = "PrivilegeInfo/*", dataType = "string", paramType = "query")
   })