def _Create(self): """Creates the AWS RDS instance. Raises: Exception: if unknown how to create self.spec.engine. """ if self.spec.engine in [ relational_db.AURORA_MYSQL56, relational_db.AURORA_MYSQL, relational_db.MYSQL ]: self._InstallMySQLClient() if self.is_managed_db: self._CreateAwsSqlInstance() else: self.endpoint = self.server_vm.ip_address if self.spec.engine == relational_db.MYSQL: self._InstallMySQLServer() else: raise Exception( 'Engine {0} not supported for unmanaged databases.'.format( self.spec.engine)) self.firewall = aws_network.AwsFirewall() self.firewall.AllowPortInSecurityGroup( self.server_vm.region, self.server_vm.network.regional_network.vpc.default_security_group_id, '3306', '3306', ['%s/32' % self.client_vm.ip_address]) self.unmanaged_db_exists = True
def _Create(self): """Creates the AWS RDS instance. Raises: Exception: if unknown how to create self.spec.engine. """ if self.spec.engine in [ relational_db.AURORA_MYSQL56, relational_db.AURORA_MYSQL, relational_db.MYSQL ]: self._InstallMySQLClient() if self.is_managed_db: self._CreateAwsSqlInstance() else: self.endpoint = self.server_vm.ip_address self._SetupUnmanagedDatabase() self.firewall = aws_network.AwsFirewall() self.firewall.AllowPortInSecurityGroup( self.server_vm.region, self.server_vm.network.regional_network.vpc.default_security_group_id, self.GetDefaultPort(), self.GetDefaultPort(), ['%s/32' % self.client_vm.ip_address]) self.unmanaged_db_exists = True
def testSerialLocking(self): self.SetExpectedCommands(DESCRIBE_FW_NONE, CREATE_FW, CREATE_FW) fw = aws_network.AwsFirewall() fw.AllowPortInSecurityGroup(REGION, SG_DEFAULT, 22) self.assertCommandsCalled() # show that the describe and create commands are not called self.SetExpectedCommands() fw.AllowPortInSecurityGroup(REGION, SG_DEFAULT, 22) self.assertCommandsCalled()
def testAddMultipleSources(self): self.SetExpectedCommands(DESCRIBE_FW_NONE, CREATE_FW, CREATE_FW) fw = aws_network.AwsFirewall() fw.AllowPortInSecurityGroup(REGION, SG_DEFAULT, 22, source_range=['a']) self.SetExpectedCommands(DESCRIBE_FW_NONE, CREATE_FW, CREATE_FW) fw.AllowPortInSecurityGroup(REGION, SG_DEFAULT, 22, source_range=['a', 'b']) self.assertCommandsCalled()
def testHappyPath(self): self.SetExpectedCommands(DESCRIBE_FW_NONE, CREATE_FW, CREATE_FW) fw = aws_network.AwsFirewall() fw.AllowPortInSecurityGroup(REGION, SG_DEFAULT, 22) self.assertCommandsCalled()