<?php

namespace Sddp\Request\V20190103;

/**
 * @deprecated Please use https://github.com/aliyun/openapi-sdk-php
 *
 * Request of DescribeEvents
 *
 * @method string getProductCode()
 * @method string getFeatureType()
 * @method string getEndTime()
 * @method string getCurrentPage()
 * @method string getStartTime()
 * @method string getUserId()
 * @method string getTypeCode()
 * @method string getSubTypeCode()
 * @method string getSourceIp()
 * @method string getTargetProductCode()
 * @method string getPageSize()
 * @method string getDepartId()
 * @method string getLang()
 * @method string getDealUserId()
 * @method string getStatus()
 */
class DescribeEventsRequest extends \RpcAcsRequest
{

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

    /**
     * Class constructor.
     */
    public function __construct()
    {
        parent::__construct(
            'Sddp',
            '2019-01-03',
            'DescribeEvents',
            'sddp'
        );
    }

    /**
     * @param string $productCode
     *
     * @return $this
     */
    public function setProductCode($productCode)
    {
        $this->requestParameters['ProductCode'] = $productCode;
        $this->queryParameters['ProductCode'] = $productCode;

        return $this;
    }

    /**
     * @param string $featureType
     *
     * @return $this
     */
    public function setFeatureType($featureType)
    {
        $this->requestParameters['FeatureType'] = $featureType;
        $this->queryParameters['FeatureType'] = $featureType;

        return $this;
    }

    /**
     * @param string $endTime
     *
     * @return $this
     */
    public function setEndTime($endTime)
    {
        $this->requestParameters['EndTime'] = $endTime;
        $this->queryParameters['EndTime'] = $endTime;

        return $this;
    }

    /**
     * @param string $currentPage
     *
     * @return $this
     */
    public function setCurrentPage($currentPage)
    {
        $this->requestParameters['CurrentPage'] = $currentPage;
        $this->queryParameters['CurrentPage'] = $currentPage;

        return $this;
    }

    /**
     * @param string $startTime
     *
     * @return $this
     */
    public function setStartTime($startTime)
    {
        $this->requestParameters['StartTime'] = $startTime;
        $this->queryParameters['StartTime'] = $startTime;

        return $this;
    }

    /**
     * @param string $userId
     *
     * @return $this
     */
    public function setUserId($userId)
    {
        $this->requestParameters['UserId'] = $userId;
        $this->queryParameters['UserId'] = $userId;

        return $this;
    }

    /**
     * @param string $typeCode
     *
     * @return $this
     */
    public function setTypeCode($typeCode)
    {
        $this->requestParameters['TypeCode'] = $typeCode;
        $this->queryParameters['TypeCode'] = $typeCode;

        return $this;
    }

    /**
     * @param string $subTypeCode
     *
     * @return $this
     */
    public function setSubTypeCode($subTypeCode)
    {
        $this->requestParameters['SubTypeCode'] = $subTypeCode;
        $this->queryParameters['SubTypeCode'] = $subTypeCode;

        return $this;
    }

    /**
     * @param string $sourceIp
     *
     * @return $this
     */
    public function setSourceIp($sourceIp)
    {
        $this->requestParameters['SourceIp'] = $sourceIp;
        $this->queryParameters['SourceIp'] = $sourceIp;

        return $this;
    }

    /**
     * @param string $targetProductCode
     *
     * @return $this
     */
    public function setTargetProductCode($targetProductCode)
    {
        $this->requestParameters['TargetProductCode'] = $targetProductCode;
        $this->queryParameters['TargetProductCode'] = $targetProductCode;

        return $this;
    }

    /**
     * @param string $pageSize
     *
     * @return $this
     */
    public function setPageSize($pageSize)
    {
        $this->requestParameters['PageSize'] = $pageSize;
        $this->queryParameters['PageSize'] = $pageSize;

        return $this;
    }

    /**
     * @param string $departId
     *
     * @return $this
     */
    public function setDepartId($departId)
    {
        $this->requestParameters['DepartId'] = $departId;
        $this->queryParameters['DepartId'] = $departId;

        return $this;
    }

    /**
     * @param string $lang
     *
     * @return $this
     */
    public function setLang($lang)
    {
        $this->requestParameters['Lang'] = $lang;
        $this->queryParameters['Lang'] = $lang;

        return $this;
    }

    /**
     * @param string $dealUserId
     *
     * @return $this
     */
    public function setDealUserId($dealUserId)
    {
        $this->requestParameters['DealUserId'] = $dealUserId;
        $this->queryParameters['DealUserId'] = $dealUserId;

        return $this;
    }

    /**
     * @param string $status
     *
     * @return $this
     */
    public function setStatus($status)
    {
        $this->requestParameters['Status'] = $status;
        $this->queryParameters['Status'] = $status;

        return $this;
    }
}
