Module: PuppetX::IntechWIFI::Declare_Environment_Resources::RdsHelpers
- Defined in:
- lib/puppet_x/intechwifi/declare_environment_resources.rb
Class Method Summary collapse
- .CalculateNetworkRules(name, services, db_server_name, db_server_engine) ⇒ Object
- .CalculateRdsZones(name, network, zones, db_servers) ⇒ Object
Class Method Details
.CalculateNetworkRules(name, services, db_server_name, db_server_engine) ⇒ Object
648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 |
# File 'lib/puppet_x/intechwifi/declare_environment_resources.rb', line 648 def self.CalculateNetworkRules(name, services, db_server_name, db_server_engine) # First we need to find the port(s) to enable... ports = { 'mysql' => [3306], 'mariadb' => [3306], 'oracle-se1' => [1525], 'oracle-se2' => [1526], 'oracle-se' => [1526], 'oracle-ee' => [1526], 'sqlserver-ee' => [1433], 'sqlserver-se' => [1433], 'sqlserver-ex' => [1433], 'sqlserver-web' => [1433], 'postgres' => [5432,5433], 'aurora' => [3306], }[db_server_engine.nil? ? 'mysql' : db_server_engine] # Then we need the list of services that talk to this database. services.select{|service_name, service| service['network']['out'].flatten.any?{|rule| segments = rule.split('|') segments[2] == 'rds' and segments[3] == db_server_name } }.keys.map{|service_name| ports.map{|port| "tcp|#{port}|sg|#{ServiceHelpers.CalculateServiceSecurityGroupName(name, service_name)}"} }.flatten end |
.CalculateRdsZones(name, network, zones, db_servers) ⇒ Object
632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 |
# File 'lib/puppet_x/intechwifi/declare_environment_resources.rb', line 632 def self.CalculateRdsZones(name, network, zones, db_servers) # Get the zones needed for all database server declarations. zone_list = db_servers.keys.select{|s| db_servers[s].has_key?('zone') }.map{|s| db_servers[s]['zone']} # Add the default zone as well, if needed. zone_list << [ 'private', 'nat', 'public' ].select{ |zone| zones.has_key?(zone) }.first if db_servers.keys.select{|s| !db_servers[s].has_key?('zone') }.length > 0 zone_list.flatten.uniq end |