<!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: rangerPolicyItem</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: rangerPolicyItem</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_xml.html">XML</a></li>
          <li class="dropdown"><a href="xml_ns0_rangerPolicyItem.html">rangerPolicyItem</a></li>
        </ol>

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

      <p></p>

      <dl class="dl-horizontal">
        <dt>Namespace</dt>
        <dd>(Default)</dd>
        <dt>Schema</dt>
        <dd><a href="ns0.xsd">ns0.xsd</a></dd>
        <dt>Subtypes</dt>
        <dd><a href="xml_ns0_rangerDataMaskPolicyItem.html">rangerDataMaskPolicyItem</a>, <a href="xml_ns0_rangerRowFilterPolicyItem.html">rangerRowFilterPolicyItem</a>, <a href="xml_ns0_rangerAuditPolicyItem.html">rangerAuditPolicyItem</a></dd>
      </dl>

      <table class="table datatype-properties">
        <caption>Properties</caption>
        <thead>
        <tr>
          <th>name</th>
          <th>data type</th>
          <th>type</th>
          <th>namespace</th>
          <th>min/max occurs</th>
          <th>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  <span id="prop-accesses" class="property-name">accesses</span>
</td>
          <td>  <span class="datatype-reference">list of <a href="xml_ns0_rangerPolicyItemAccess.html">rangerPolicyItemAccess</a>
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">0/unbounded
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-conditions" class="property-name">conditions</span>
</td>
          <td>  <span class="datatype-reference">list of <a href="xml_ns0_rangerPolicyItemCondition.html">rangerPolicyItemCondition</a>
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">0/unbounded
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-delegateAdmin" class="property-name">delegateAdmin</span>
</td>
          <td>  <span class="datatype-reference">boolean
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">0/1
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-groups" class="property-name">groups</span>
</td>
          <td>  <span class="datatype-reference">list of string
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">0/unbounded
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-roles" class="property-name">roles</span>
</td>
          <td>  <span class="datatype-reference">list of string
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">0/unbounded
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        <tr>
          <td>  <span id="prop-users" class="property-name">users</span>
</td>
          <td>  <span class="datatype-reference">list of string
</span>
</td>
          <td>  <span class="property-type">element
</span>
</td>
          <td>  <span class="property-namespaceInfo">
</span>
</td>
          <td>  <span class="property-minMaxOccurs">0/unbounded
</span>
</td>
          <td>  <span class="property-description">&nbsp;</span>
</td>
        </tr>
        </tbody>
      </table>

      <p class="lead">Example</p>
      
      <pre class="prettyprint language-xml example">&lt;rangerPolicyItem&gt;
  &lt;accesses&gt;
    &lt;type&gt;...&lt;/type&gt;
    &lt;isAllowed&gt;...&lt;/isAllowed&gt;
  &lt;/accesses&gt;
  &lt;delegateAdmin&gt;...&lt;/delegateAdmin&gt;
  &lt;groups&gt;...&lt;/groups&gt;
  &lt;users&gt;...&lt;/users&gt;
  &lt;conditions&gt;
    &lt;type&gt;...&lt;/type&gt;
    &lt;values&gt;...&lt;/values&gt;
  &lt;/conditions&gt;
  &lt;roles&gt;...&lt;/roles&gt;
&lt;/rangerPolicyItem&gt;
</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>
