public function fromArray($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['AssetDeliveryProtocol'])) {
            Validate::isInteger($options['AssetDeliveryProtocol'], 'options[AssetDeliveryProtocol]');
            $this->_protocol = $options['AssetDeliveryProtocol'];
        }

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

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

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

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