Repository: oasis-open/cti-python-stix2

Issue:
The instance of MarkingDefinition cannot pass validation because the 'created' property does't have millisecond.
Here is the screenshot:
![marking](https://user-images.githubusercontent.com/5939857/47416920-56c50f00-d7a9-11e8-87a7-aa9b1f82cdb7.PNG)

Source code:
![marking_class](https://user-images.githubusercontent.com/5939857/47417251-2af65900-d7aa-11e8-8914-5b1f0312bbb3.PNG)

Does the 'created' property should be
![property](https://user-images.githubusercontent.com/5939857/47417384-73ae1200-d7aa-11e8-86b3-7960130ca96f.PNG)
to pass validation?


Discussion:

Patch:
diff --git a/stix2/v20/common.py b/stix2/v20/common.py
index c66b8f6..d574c92 100644
--- a/stix2/v20/common.py
+++ b/stix2/v20/common.py
@@ -1,6 +1,7 @@
 """STIX 2 Common Data Types and Properties."""
 
 from collections import OrderedDict
+import copy
 
 from ..base import _cls_init, _STIXBase
 from ..markings import _MarkingsMixin
@@ -124,6 +125,13 @@ class MarkingDefinition(_STIXBase, _MarkingsMixin):
             except KeyError:
                 raise ValueError("definition_type must be a valid marking type")
 
+            if marking_type == TLPMarking:
+                # TLP instances in the spec have millisecond precision unlike other markings
+                self._properties = copy.deepcopy(self._properties)
+                self._properties.update([
+                    ('created', TimestampProperty(default=lambda: NOW, precision='millisecond')),
+                ])
+
             if not isinstance(kwargs['definition'], marking_type):
                 defn = _get_dict(kwargs['definition'])
                 kwargs['definition'] = marking_type(**defn)


Test patch:
diff --git a/stix2/test/test_markings.py b/stix2/test/test_markings.py
index ec8b664..49803f3 100644
--- a/stix2/test/test_markings.py
+++ b/stix2/test/test_markings.py
@@ -11,7 +11,7 @@ from .constants import MARKING_DEFINITION_ID
 EXPECTED_TLP_MARKING_DEFINITION = """{
     "type": "marking-definition",
     "id": "marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9",
-    "created": "2017-01-20T00:00:00Z",
+    "created": "2017-01-20T00:00:00.000Z",
     "definition_type": "tlp",
     "definition": {
         "tlp": "white"