Scalr\Service\Aws\Rds\V20130110\RdsApi::createDBInstance PHP Метод

createDBInstance() публичный Метод

Creates a new DB instance.
public createDBInstance ( Scalr\Service\Aws\Rds\DataType\CreateDBInstanceRequestData $request ) : DBInstanceData
$request Scalr\Service\Aws\Rds\DataType\CreateDBInstanceRequestData Created DB Instance request object
Результат Scalr\Service\Aws\Rds\DataType\DBInstanceData Returns created DBInstance
    public function createDBInstance(CreateDBInstanceRequestData $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->CreateDBInstanceResult)) {
                throw new RdsException(sprintf(self::UNEXPECTED, 'create DBIntance'));
            }
            $result = $this->_loadDBInstanceData($sxml->CreateDBInstanceResult->DBInstance);
        }
        return $result;
    }