<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->

  <title>Ranger REST API: UsersGroupRoleAssignments</title>

  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- Bootstrap core CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">

  <!--custom css for these pages-->
  <link rel="stylesheet" href="css/enunciate.css">

  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->
</head>

<body data-spy="scroll" data-target="#apinav">

  <nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html">Ranger REST API: UsersGroupRoleAssignments</a>
      </div>
      <div id="navbar" class="navbar-collapse collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="resources.html">Resources</a></li>
          <li><a href="data.html">Data Types</a></li>
        </ul>
      </div>
    </div>
  </nav>

  <div class="container-fluid">
    <div class="row">
      <div class="col-sm-3 col-md-2 sidebar" id="apinav">
        <ul class="nav nav-sidebar">
          <li class="text-right"><a href="#top"><small>Back to Top</small></a></li>
        </ul>
      </div>

      <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
        <ol class="breadcrumb" id="top">
          <li class="active dropdown"><a href="index.html">Home</a></li>
          <li class="active dropdown"><a href="syntax_json.html">JSON</a></li>
          <li class="dropdown"><a href="json_UsersGroupRoleAssignments.html">UsersGroupRoleAssignments</a></li>
        </ol>

      <h1 class="page-header">UsersGroupRoleAssignments <small>Data Type</small></h1>

      <p></p>

      <dl class="dl-horizontal">
      </dl>

      <table class="table datatype-properties">
        <caption>Properties</caption>
        <thead>
        <tr>
          <th>name</th>
          <th>data type</th>
          <th>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  <span id="prop-userRoleAssignments" class="property-name">userRoleAssignments</span>
</td>
          <td>  <span class="datatype-reference">map of string
</span>
</td>
          <td>  <span class="property-description"></span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-groupRoleAssignments" class="property-name">groupRoleAssignments</span>
</td>
          <td>  <span class="datatype-reference">map of string
</span>
</td>
          <td>  <span class="property-description"></span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-users" class="property-name">users</span>
</td>
          <td>  <span class="datatype-reference">array of string
</span>
</td>
          <td>  <span class="property-description"></span>
</td>
        </tr>
        </tbody>
      </table>

      <p class="lead">Example</p>
      
      <pre class="prettyprint language-js example">{
  &quot;userRoleAssignments&quot; : {
    &quot;property1&quot; : &quot;...&quot;,
    &quot;property2&quot; : &quot;...&quot;
  },
  &quot;groupRoleAssignments&quot; : {
    &quot;property1&quot; : &quot;...&quot;,
    &quot;property2&quot; : &quot;...&quot;
  },
  &quot;users&quot; : [ &quot;...&quot;, &quot;...&quot; ]
}</pre>

        <footer class="footer">
          <div class="container">
            <p class="text-muted">Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.</p>
          </div>
        </footer>

      </div>
    </div>
  </div>


  <!-- JavaScript placed at the end of the document so the pages load faster. -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

  <!-- Bootstrap core JavaScript
  ================================================== -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js" type="text/javascript"></script>
  <script>
    $(function() {
      $(".clickable-row").click(function() {
        window.document.location = $(this).data("href");
      });

      $('[data-toggle="tooltip"]').tooltip()
    });
  </script>

</body>
</html>
