<?php
use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for AddInterClusterServiceProfileReq StructType
 * @subpackage Structs
 */
class AddInterClusterServiceProfileReq extends APIRequest
{
    /**
     * The interClusterServiceProfile
     * @var XInterClusterServiceProfile
     */
    public $interClusterServiceProfile;
    /**
     * Constructor method for AddInterClusterServiceProfileReq
     * @uses AddInterClusterServiceProfileReq::setInterClusterServiceProfile()
     * @param XInterClusterServiceProfile $interClusterServiceProfile
     */
    public function __construct(XInterClusterServiceProfile $interClusterServiceProfile = null)
    {
        $this
            ->setInterClusterServiceProfile($interClusterServiceProfile);
    }
    /**
     * Get interClusterServiceProfile value
     * @return XInterClusterServiceProfile|null
     */
    public function getInterClusterServiceProfile()
    {
        return $this->interClusterServiceProfile;
    }
    /**
     * Set interClusterServiceProfile value
     * @param XInterClusterServiceProfile $interClusterServiceProfile
     * @return AddInterClusterServiceProfileReq
     */
    public function setInterClusterServiceProfile(XInterClusterServiceProfile $interClusterServiceProfile = null)
    {
        $this->interClusterServiceProfile = $interClusterServiceProfile;
        return $this;
    }
    /**
     * Method called when an object has been exported with var_export() functions
     * It allows to return an object instantiated with the values
     * @see AbstractStructBase::__set_state()
     * @uses AbstractStructBase::__set_state()
     * @param array $array the exported values
     * @return AddInterClusterServiceProfileReq
     */
    public static function __set_state(array $array)
    {
        return parent::__set_state($array);
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
