public function modifyDBInstance(ModifyDBInstanceRequestData $request)
{
$result = null;
$options = $request->getQueryArray();
if ($this->rds->getApiClientType() === Aws::CLIENT_SOAP) {
if (isset($options['DBSecurityGroups.member.1']) || isset($options['VpcSecurityGroupIds.member.1'])) {
foreach ($options as $k => $v) {
if (strpos($k, 'DBSecurityGroups.member.') !== false) {
$options['DBSecurityGroups']['DBSecurityGroupName'][] = $v;
unset($options[$k]);
} elseif (strpos($k, 'VpcSecurityGroupIds.member.') !== false) {
$options['VpcSecurityGroupIds']['VpcSecurityGroupId'][] = $v;
unset($options[$k]);
}
}
}
}
$response = $this->client->call(ucfirst(__FUNCTION__), $options);
if ($response->getError() === false) {
$sxml = simplexml_load_string($response->getRawContent());
if (!$this->exist($sxml->ModifyDBInstanceResult)) {
throw new RdsException(sprintf(self::UNEXPECTED, 'modify DBIntance'));
}
$result = $this->_loadDBInstanceData($sxml->ModifyDBInstanceResult->DBInstance);
}
return $result;
}