@@ -216,40 +216,73 @@ new
216216                ) 
217217
218218            tr( if ='{ [undefined, true].includes(config.master_load_balancer_visible) }' ) 
219-               td Master  load balancer
219+               td Enable  load balancer
220220              td
221-                 label
222-                   input( 
223-                     type ='checkbox' 
224-                     value ='{ enableMasterLoadBalancer }' 
225-                     onchange ='{ toggleEnableMasterLoadBalancer }' 
226-                   ) 
227-                   |
228-                   | Enable master ELB
221+                 ul.ips 
222+                   li
223+                     label
224+                       input( 
225+                         type ='checkbox' 
226+                         value ='{ enableMasterLoadBalancer }' 
227+                         onchange ='{ toggleEnableMasterLoadBalancer }' 
228+                       ) 
229+                       |
230+                       | Master
231+                   li( if ='{ [undefined, true].includes(config.replica_load_balancer_visible) && instanceCount > 1 }' ) 
232+                     label
233+                       input( 
234+                         type ='checkbox' 
235+                         value ='{ enableReplicaLoadBalancer }' 
236+                         onchange ='{ toggleEnableReplicaLoadBalancer }' 
237+                       ) 
238+                       |
239+                       | Replica
229240
230-             tr( if ='{ [undefined, true].includes(config.replica_load_balancer_visible ) }' ) 
231-               td Replica load balancer 
241+             tr( if ='{ [undefined, true].includes(config.connection_pooler_visible ) }' ) 
242+               td Enable connection pooler 
232243              td
233-                 label
234-                   input( 
235-                     type ='checkbox' 
236-                     value ='{ enableReplicaLoadBalancer }' 
237-                     onchange ='{ toggleEnableReplicaLoadBalancer }' 
238-                   ) 
239-                   |
240-                   | Enable replica ELB
244+                 ul.ips 
245+                   li
246+                     label
247+                       input( 
248+                         type ='checkbox' 
249+                         value ='{ enableConnectionPooler }' 
250+                         onchange ='{ toggleEnableConnectionPooler }' 
251+                       ) 
252+                       |
253+                       | Master
254+                   li( if ='{ [undefined, true].includes(config.replica_connection_pooler_visible) && instanceCount > 1 }' ) 
255+                     label
256+                       input( 
257+                         type ='checkbox' 
258+                         value ='{ enableReplicaConnectionPooler }' 
259+                         onchange ='{ toggleEnableReplicaConnectionPooler }' 
260+                       ) 
261+                       |
262+                       | Replica
241263
242-             tr
243-               td Enable Connection Pool 
264+             tr( if = '{ [undefined, true].includes(config.master_pooler_load_balancer_visible) }' ) 
265+               td Enable connection pooler load balancer 
244266              td
245-                 label
246-                   input( 
247-                     type ='checkbox' 
248-                     value ='{ enableConnectionPooler }' 
249-                     onchange ='{ toggleEnableConnectionPooler }' 
250-                   ) 
251-                   |
252-                   | Enable Connection Pool (using PGBouncer)
267+                 ul.ips 
268+                   li
269+                     label
270+                       input( 
271+                         type ='checkbox' 
272+                         value ='{ enableMasterPoolerLoadBalancer }' 
273+                         onchange ='{ toggleEnableMasterPoolerLoadBalancer }' 
274+                       ) 
275+                       |
276+                       | Master
277+                   li( if ='{ [undefined, true].includes(config.replica_pooler_load_balancer_visible) && instanceCount > 1 }' ) 
278+                     label
279+                       input( 
280+                         type ='checkbox' 
281+                         value ='{ enableReplicaPoolerLoadBalancer }' 
282+                         onchange ='{ toggleEnableReplicaPoolerLoadBalancer }' 
283+                       ) 
284+                       |
285+                       | Replica
253286
254287            tr
255288              td Volume size
267300                  .input-group-addon 
268301                    .input-units  Gi
269302            tr
270-               td  
303+               td
271304              td Specify Iops and Throughput only if you need more than the default 3000 Iops and 125Mb/s EBS provides.
272305
273306            tr
539572        {{#if enableConnectionPooler}} 
540573        enableConnectionPooler: true 
541574        {{/if}} 
575+         {{#if enableReplicaConnectionPooler}} 
576+         enableReplicaConnectionPooler: true 
577+         {{/if}} 
578+         {{#if enableMasterPoolerLoadBalancer}} 
579+         enableMasterPoolerLoadBalancer: true 
580+         {{/if}} 
581+         {{#if enableReplicaPoolerLoadBalancer}} 
582+         enableReplicaPoolerLoadBalancer: true 
583+         {{/if}} 
542584        volume: 
543585          size: "{{ volumeSize }}Gi"{{#if iops}} 
544586          iops: {{ iops }}{{/if}}{{#if throughput}} 
592634        enableMasterLoadBalancer:  this .enableMasterLoadBalancer ,
593635        enableReplicaLoadBalancer:  this .enableReplicaLoadBalancer ,
594636        enableConnectionPooler:  this .enableConnectionPooler ,
637+         enableReplicaConnectionPooler:  this .enableReplicaConnectionPooler ,
638+         enableMasterPoolerLoadBalancer:  this .enableMasterPoolerLoadBalancer ,
639+         enableReplicaPoolerLoadBalancer:  this .enableReplicaPoolerLoadBalancer ,
595640        volumeSize:  this .volumeSize ,
596641        iops:  this .iops ,
597642        throughput:  this .throughput ,
655700      this .enableConnectionPooler  =  ! this .enableConnectionPooler 
656701    }
657702
703+     this .toggleEnableReplicaConnectionPooler  =  e  =>  {
704+       this .enableReplicaConnectionPooler  =  ! this .enableReplicaConnectionPooler 
705+     }
706+ 
707+     this .toggleEnableMasterPoolerLoadBalancer  =  e  =>  {
708+       this .enableMasterPoolerLoadBalancer  =  ! this .enableMasterPoolerLoadBalancer 
709+     }
710+ 
711+     this .toggleEnableReplicaPoolerLoadBalancer  =  e  =>  {
712+       this .enableReplicaPoolerLoadBalancer  =  ! this .enableReplicaPoolerLoadBalancer 
713+     }
714+ 
658715    this .volumeChange  =  e  =>  {
659716      this .volumeSize  =  + e .target .value 
660717    }
692749
693750    this .instanceCountChange  =  e  =>  {
694751      this .instanceCount  =  + e .target .value 
752+       if  (this .instanceCount  <  2 ) {	
753+         this .enableReplicaLoadBalancer  =  false 
754+         this .enableReplicaConnectionPooler  =  false 
755+         this .enableReplicaPoolerLoadBalancer  =  false 
756+       }
695757    }
696758
697759    this .checkClusterExists  =  () =>  (
9571019      this .enableMasterLoadBalancer  =  false 
9581020      this .enableReplicaLoadBalancer  =  false 
9591021      this .enableConnectionPooler  =  false 
1022+       this .enableReplicaConnectionPooler  =  false 
1023+       this .enableMasterPoolerLoadBalancer  =  false 
1024+       this .enableReplicaPoolerLoadBalancer  =  false 
9601025
9611026      this .postgresqlVersion  =  this .postgresqlVersion  =  (
9621027        this .config .postgresql_versions [0 ]
0 commit comments