public function fromArray(array $options)
    {
        if (isset($options['Id'])) {
            Validate::isString($options['Id'], 'options[Id]');
            $this->_id = $options['Id'];
        }

        if (isset($options['Name'])) {
            Validate::isString($options['Name'], 'options[Name]');
            $this->_name = $options['Name'];
        }

        if (isset($options['ExpirationDateTime'])) {
            Validate::isDateString(
                $options['ExpirationDateTime'],
                'options[ExpirationDateTime]'
            );
            $this->_expirationDateTime = new \DateTime(
                $options['ExpirationDateTime']
            );
        }

        if (isset($options['Type'])) {
            Validate::isInteger($options['Type'], 'options[Type]');
            $this->_type = $options['Type'];
        }

        if (isset($options['Path'])) {
            Validate::isValidUri($options['Path'], 'options[Path]');
            $this->_path = $options['Path'];
        }

        if (isset($options['BaseUri'])) {
            Validate::isValidUri($options['BaseUri'], 'options[BaseUri]');
            $this->_baseUri = $options['BaseUri'];
        }

        if (isset($options['ContentAccessComponent'])) {
            Validate::isString(
                $options['ContentAccessComponent'],
                'options[ContentAccessComponent]'
            );
            $this->_contentAccessComponent = $options['ContentAccessComponent'];
        }

        if (isset($options['AccessPolicyId'])) {
            Validate::isString(
                $options['AccessPolicyId'],
                'options[AccessPolicyId]'
            );
            $this->_accessPolicyId = $options['AccessPolicyId'];
        }

        if (isset($options['AssetId'])) {
            Validate::isString($options['AssetId'], 'options[AssetId]');
            $this->_assetId = $options['AssetId'];
        }

        if (isset($options['StartTime'])) {
            Validate::isDateString($options['StartTime'], 'options[StartTime]');
            $this->_startTime = new \DateTime($options['StartTime']);
        }
    }