<?php

namespace gpdb\Request\V20160503;

/**
 * Request of CreateAccount
 *
 * @method string getAccountPassword()
 * @method string getAccountName()
 * @method string getDatabaseName()
 * @method string getDBInstanceId()
 * @method string getOwnerId()
 * @method string getAccountDescription()
 */
class CreateAccountRequest extends \RpcAcsRequest
{

    /**
     * @var string
     */
    protected $method = 'POST';

    /**
     * Class constructor.
     */
    public function __construct()
    {
        parent::__construct(
            'gpdb',
            '2016-05-03',
            'CreateAccount',
            'gpdb'
        );
    }

    /**
     * @param string $accountPassword
     *
     * @return $this
     */
    public function setAccountPassword($accountPassword)
    {
        $this->requestParameters['AccountPassword'] = $accountPassword;
        $this->queryParameters['AccountPassword'] = $accountPassword;

        return $this;
    }

    /**
     * @param string $accountName
     *
     * @return $this
     */
    public function setAccountName($accountName)
    {
        $this->requestParameters['AccountName'] = $accountName;
        $this->queryParameters['AccountName'] = $accountName;

        return $this;
    }

    /**
     * @param string $databaseName
     *
     * @return $this
     */
    public function setDatabaseName($databaseName)
    {
        $this->requestParameters['DatabaseName'] = $databaseName;
        $this->queryParameters['DatabaseName'] = $databaseName;

        return $this;
    }

    /**
     * @param string $dBInstanceId
     *
     * @return $this
     */
    public function setDBInstanceId($dBInstanceId)
    {
        $this->requestParameters['DBInstanceId'] = $dBInstanceId;
        $this->queryParameters['DBInstanceId'] = $dBInstanceId;

        return $this;
    }

    /**
     * @param string $ownerId
     *
     * @return $this
     */
    public function setOwnerId($ownerId)
    {
        $this->requestParameters['OwnerId'] = $ownerId;
        $this->queryParameters['OwnerId'] = $ownerId;

        return $this;
    }

    /**
     * @param string $accountDescription
     *
     * @return $this
     */
    public function setAccountDescription($accountDescription)
    {
        $this->requestParameters['AccountDescription'] = $accountDescription;
        $this->queryParameters['AccountDescription'] = $accountDescription;

        return $this;
    }
}
