<!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>Archiva UI Rest API: ProxyConnectorRule</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">

  <link href="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.css" type="text/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 class="home">
 <div class="container">
  <header>
 
   <div id="header" class="column first last span-20">
        <div id="site-name" class="column span-18 append-1 prepend-1 first last"><a href="index.html">Archiva UI Rest API: ProxyConnectorRule</a></div>
        <div id="primary" class="column span-18 append-1 prepend-1 first last">
          <ul class="navigation">
            <li id="nav-rest"><a href="resources.html">REST</a></li>
            <li id="nav-data"><a href="data.html">Data Model</a></li>
          </ul>
        </div>
        <div>
          <ul class="xbreadcrumbs" id="breadcrumbs">
<li>
 <a href="index.html" class="home">Home</a> &gt;

            </li>
<li>
 <a href="syntax_json.html">JSON</a> &gt;

            </li>
<li class="current">
 <a href="json_ProxyConnectorRule.html">ProxyConnectorRule</a>

            </li>
          </ul>
        </div>
      </div>
  <!--<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">Archiva UI Rest API: ProxyConnectorRule</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>
          <li><a href="downloads.html">Files and Libraries</a></li>
        </ul>
      </div>
    </div>
  </nav>-->
 </header>
  <div id="main" class="column first last span-20">
  
      <h1 class="page-header">ProxyConnectorRule <small>Data Type</small></h1>

      <p></p>

      <dl class="dl-horizontal">
        <dt>Available Since</dt>
        <dd>1.4-M3</dd>
      </dl>

      <table class="table">
        <caption>Properties</caption>
        <thead>
        <tr>
          <th>name</th>
          <th>data type</th>
          <th>description</th>
        </tr>
        </thead>
        <tbody>
        <tr>
          <td>  pattern
</td>
          <td>  string

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  proxyConnectorRuleType
</td>
          <td>  <a href="json_ProxyConnectorRuleType.html">ProxyConnectorRuleType</a>

</td>
          <td>  
</td>
        </tr>
        <tr>
          <td>  proxyConnectors
</td>
          <td>  array of <a href="json_ProxyConnector.html">ProxyConnector</a>

</td>
          <td>  
</td>
        </tr>
        </tbody>
      </table>

      <h2>Example</h2>

      <pre class="prettyprint lang-js">{
  &quot;pattern&quot; : &quot;...&quot;,
  &quot;proxyConnectorRuleType&quot; : &quot;WHITE_LIST&quot;,
  &quot;proxyConnectors&quot; : [ {
    &quot;order&quot; : 12345,
    &quot;blackListPatterns&quot; : [ &quot;...&quot;, &quot;...&quot; ],
    &quot;policies&quot; : {
      &quot;property1&quot; : &quot;...&quot;,
      &quot;property2&quot; : &quot;...&quot;
    },
    &quot;proxyId&quot; : &quot;...&quot;,
    &quot;policiesEntries&quot; : [ {
      &quot;key&quot; : &quot;...&quot;,
      &quot;value&quot; : &quot;...&quot;
    }, {
      &quot;key&quot; : &quot;...&quot;,
      &quot;value&quot; : &quot;...&quot;
    } ],
    &quot;targetRepoId&quot; : &quot;...&quot;,
    &quot;disabled&quot; : true,
    &quot;whiteListPatterns&quot; : [ &quot;...&quot;, &quot;...&quot; ],
    &quot;propertiesEntries&quot; : [ {
      &quot;key&quot; : &quot;...&quot;,
      &quot;value&quot; : &quot;...&quot;
    }, {
      &quot;key&quot; : &quot;...&quot;,
      &quot;value&quot; : &quot;...&quot;
    } ],
    &quot;sourceRepoId&quot; : &quot;...&quot;,
    &quot;properties&quot; : {
      &quot;property1&quot; : &quot;...&quot;,
      &quot;property2&quot; : &quot;...&quot;
    }
  }, {
    &quot;order&quot; : 12345,
    &quot;blackListPatterns&quot; : [ &quot;...&quot;, &quot;...&quot; ],
    &quot;policies&quot; : {
      &quot;property1&quot; : &quot;...&quot;,
      &quot;property2&quot; : &quot;...&quot;
    },
    &quot;proxyId&quot; : &quot;...&quot;,
    &quot;policiesEntries&quot; : [ {
      &quot;key&quot; : &quot;...&quot;,
      &quot;value&quot; : &quot;...&quot;
    }, {
      &quot;key&quot; : &quot;...&quot;,
      &quot;value&quot; : &quot;...&quot;
    } ],
    &quot;targetRepoId&quot; : &quot;...&quot;,
    &quot;disabled&quot; : true,
    &quot;whiteListPatterns&quot; : [ &quot;...&quot;, &quot;...&quot; ],
    &quot;propertiesEntries&quot; : [ {
      &quot;key&quot; : &quot;...&quot;,
      &quot;value&quot; : &quot;...&quot;
    }, {
      &quot;key&quot; : &quot;...&quot;,
      &quot;value&quot; : &quot;...&quot;
    } ],
    &quot;sourceRepoId&quot; : &quot;...&quot;,
    &quot;properties&quot; : {
      &quot;property1&quot; : &quot;...&quot;,
      &quot;property2&quot; : &quot;...&quot;
    }
  } ]
}</pre>
        
        <footer>
          <div class="footer">
            Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.
          </div>
        </footer>

      </div>
    
  </div>


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

  
  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/prettify/r298/run_prettify.js" type="text/javascript"></script>
  

</body>
</html>