<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>JSDoc: Class: IgniteClientConfiguration</title>

    <script src="scripts/prettify/prettify.js"> </script>
    <script src="scripts/prettify/lang-css.js"> </script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>

<body>

<div id="main">

    <h1 class="page-title">Class: IgniteClientConfiguration</h1>

    




<section>

<header>
    
        <h2><span class="attribs"><span class="type-signature"></span></span>IgniteClientConfiguration<span class="signature">(&hellip;endpoints)</span><span class="type-signature"></span></h2>
        
            <div class="class-description"><p>Class representing Ignite client configuration.</p>
<p>The configuration includes:</p>
<ul>
<li>(mandatory) Ignite node endpoint(s)</li>
<li>(optional) user credentials for authentication</li>
<li>(optional) TLS enabling</li>
<li>(optional) connection options</li>
</ul></div>
        
    
</header>

<article>
    <div class="container-overview">
    
        

    
    <h2>Constructor</h2>
    

    
    <h4 class="name" id="IgniteClientConfiguration"><span class="type-signature"></span>new IgniteClientConfiguration<span class="signature">(&hellip;endpoints)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Creates an instance of Ignite client configuration
with the provided mandatory settings and default optional settings.</p>
<p>By default, the client does not use authentication and secure connection.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>endpoints</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                    &lt;repeatable><br>
                
                </td>
            

            

            <td class="description last"><p>Ignite node endpoint(s).
 The client randomly connects/reconnects to one of the specified node.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClientConfiguration.js.html">IgniteClientConfiguration.js</a>, <a href="IgniteClientConfiguration.js.html#line34">line 34</a>
    </li></ul></dd>
    

    

    

    
</dl>


















    
    </div>

    

    

    

    

    

    

    

    
        <h3 class="subsection-title">Methods</h3>

        
            

    

    
    <h4 class="name" id="setConnectionOptions"><span class="type-signature"></span>setConnectionOptions<span class="signature">(useTLS, connectionOptions<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a>}</span></h4>
    

    



<div class="description">
    <p>Sets connection options.</p>
<p>By default the client establishes a non-secure connection with default connection options defined by nodejs.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        
        <th>Attributes</th>
        

        
        <th>Default</th>
        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>useTLS</code></td>
            

            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>

            
                <td class="attributes">
                

                

                
                </td>
            

            
                <td class="default">
                
                </td>
            

            <td class="description last"><p>if true, secure connection will be established;
                          if false, non-secure connection will be established.</p></td>
        </tr>

    

        <tr>
            
                <td class="name"><code>connectionOptions</code></td>
            

            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>

            
                <td class="attributes">
                
                    &lt;optional><br>
                

                

                
                </td>
            

            
                <td class="default">
                
                    null
                
                </td>
            

            <td class="description last"><p>connection options.</p>
<ul>
<li>For non-secure connection options defined here <a href="https://nodejs.org/api/net.html#net_net_createconnection_options_connectlistener">https://nodejs.org/api/net.html#net_net_createconnection_options_connectlistener</a></li>
<li>For secure connection options defined here <a href="https://nodejs.org/api/tls.html#tls_tls_connect_options_callback">https://nodejs.org/api/tls.html#tls_tls_connect_options_callback</a></li>
</ul></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClientConfiguration.js.html">IgniteClientConfiguration.js</a>, <a href="IgniteClientConfiguration.js.html#line105">line 105</a>
    </li></ul></dd>
    

    

    

    
</dl>













<h5>Returns:</h5>

        
<div class="param-desc">
    <ul>
<li>the same instance of the IgniteClientConfiguration.</li>
</ul>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="setPassword"><span class="type-signature"></span>setPassword<span class="signature">(password)</span><span class="type-signature"> &rarr; {<a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a>}</span></h4>
    

    



<div class="description">
    <p>Sets password which will be used for authentication during the client's connection.</p>
<p>Password is ignored, if username is not set.
If password is not set, it is considered empty.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>password</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            

            

            <td class="description last"><p>password. If null, password is empty.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClientConfiguration.js.html">IgniteClientConfiguration.js</a>, <a href="IgniteClientConfiguration.js.html#line87">line 87</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>

        

<dl>
    <dt>
        <div class="param-desc">
        <p>if error.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IgniteClientError.html">IgniteClientError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>


    


<h5>Returns:</h5>

        
<div class="param-desc">
    <ul>
<li>the same instance of the IgniteClientConfiguration.</li>
</ul>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></span>


    </dd>
</dl>

    





        
            

    

    
    <h4 class="name" id="setUserName"><span class="type-signature"></span>setUserName<span class="signature">(userName)</span><span class="type-signature"> &rarr; {<a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a>}</span></h4>
    

    



<div class="description">
    <p>Sets username which will be used for authentication during the client's connection.</p>
<p>If username is not set, the client does not use authentication during connection.</p>
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>userName</code></td>
            

            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>

            

            

            <td class="description last"><p>username. If null, authentication is disabled.</p></td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="IgniteClientConfiguration.js.html">IgniteClientConfiguration.js</a>, <a href="IgniteClientConfiguration.js.html#line70">line 70</a>
    </li></ul></dd>
    

    

    

    
</dl>











<h5>Throws:</h5>

        

<dl>
    <dt>
        <div class="param-desc">
        <p>if error.</p>
        </div>
    </dt>
    <dd></dd>
    <dt>
        <dl>
            <dt>
                Type
            </dt>
            <dd>
                
<span class="param-type"><a href="IgniteClientError.html">IgniteClientError</a></span>


            </dd>
        </dl>
    </dt>
    <dd></dd>
</dl>


    


<h5>Returns:</h5>

        
<div class="param-desc">
    <ul>
<li>the same instance of the IgniteClientConfiguration.</li>
</ul>
</div>



<dl>
    <dt>
        Type
    </dt>
    <dd>
        
<span class="param-type"><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></span>


    </dd>
</dl>

    





        
    

    

    
</article>

</section>




</div>

<nav>
    <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BinaryObject.html">BinaryObject</a></li><li><a href="CacheClient.html">CacheClient</a></li><li><a href="CacheConfiguration.html">CacheConfiguration</a></li><li><a href="CacheEntry.html">CacheEntry</a></li><li><a href="CacheKeyConfiguration.html">CacheKeyConfiguration</a></li><li><a href="CollectionObjectType.html">CollectionObjectType</a></li><li><a href="ComplexObjectType.html">ComplexObjectType</a></li><li><a href="CompositeType.html">CompositeType</a></li><li><a href="Cursor.html">Cursor</a></li><li><a href="EnumItem.html">EnumItem</a></li><li><a href="IgniteClient.html">IgniteClient</a></li><li><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></li><li><a href="IgniteClientError.html">IgniteClientError</a></li><li><a href="IllegalStateError.html">IllegalStateError</a></li><li><a href="LostConnectionError.html">LostConnectionError</a></li><li><a href="MapObjectType.html">MapObjectType</a></li><li><a href="ObjectArrayType.html">ObjectArrayType</a></li><li><a href="ObjectType.html">ObjectType</a></li><li><a href="OperationError.html">OperationError</a></li><li><a href="Query.html">Query</a></li><li><a href="QueryEntity.html">QueryEntity</a></li><li><a href="QueryField.html">QueryField</a></li><li><a href="QueryIndex.html">QueryIndex</a></li><li><a href="ScanQuery.html">ScanQuery</a></li><li><a href="SqlFieldsCursor.html">SqlFieldsCursor</a></li><li><a href="SqlFieldsQuery.html">SqlFieldsQuery</a></li><li><a href="SqlQuery.html">SqlQuery</a></li><li><a href="Timestamp.html">Timestamp</a></li></ul>
</nav>

<br class="clear">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Tue May 22 2018 12:08:49 GMT+0300 (Russia TZ 2 Standard Time)
</footer>

<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>