Repository: atlas
Updated Branches:
  refs/heads/master 75da03904 -> f787bcc2b


ATLAS-2708: added model for AWS types

Signed-off-by: Madhan Neethiraj <mad...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/f787bcc2
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/f787bcc2
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/f787bcc2

Branch: refs/heads/master
Commit: f787bcc2b00224db35667d77de77d1f7b220631d
Parents: 75da039
Author: Barbara Eckman <barbara_eck...@cable.comcast.com>
Authored: Sun Jun 17 10:13:55 2018 -0700
Committer: Madhan Neethiraj <mad...@apache.org>
Committed: Mon Jun 18 17:19:07 2018 -0700

----------------------------------------------------------------------
 .../3000-Cloud/3010-aws_common_typedefs.json    |  53 +++
 .../models/3000-Cloud/3020-aws_s3_typedefs.json | 400 +++++++++++++++++++
 2 files changed, 453 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/f787bcc2/addons/models/3000-Cloud/3010-aws_common_typedefs.json
----------------------------------------------------------------------
diff --git a/addons/models/3000-Cloud/3010-aws_common_typedefs.json 
b/addons/models/3000-Cloud/3010-aws_common_typedefs.json
new file mode 100644
index 0000000..fc5b48c
--- /dev/null
+++ b/addons/models/3000-Cloud/3010-aws_common_typedefs.json
@@ -0,0 +1,53 @@
+{
+    "enumDefs": [],
+    "structDefs": [
+        {
+            "name":        "aws_tag",
+            "description": "Atlas Type representing a tag/value pair 
associated with an AWS object, eg S3 bucket",
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name":        "key",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  false,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "value",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  false,
+                    "isUnique":    false
+                }
+            ]
+        },
+        {
+            "name":        "aws_cloud_watch_metric",
+            "description": "Atlas Type representing a metric provided by AWS 
Cloud Watch",
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name":        "metricName",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  false,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "scope",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  false,
+                    "isUnique":    false
+                }
+            ]
+        }
+    ],
+    "classificationDefs": [],
+    "entityDefs": []
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/f787bcc2/addons/models/3000-Cloud/3020-aws_s3_typedefs.json
----------------------------------------------------------------------
diff --git a/addons/models/3000-Cloud/3020-aws_s3_typedefs.json 
b/addons/models/3000-Cloud/3020-aws_s3_typedefs.json
new file mode 100644
index 0000000..480fd1f
--- /dev/null
+++ b/addons/models/3000-Cloud/3020-aws_s3_typedefs.json
@@ -0,0 +1,400 @@
+{
+    "enumDefs": [],
+    "structDefs": [
+        {
+            "name":        "aws_s3_bucket_lifeCycleRule",
+            "description": "Atlas Type representing the life cycle rules for 
S3 object store bucket",
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name":        "ruleType",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  false,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "days",
+                    "typeName":    "int",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  false,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "storageClass",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                }
+            ]
+        },
+        {
+            "name":        "aws_s3_access_policy",
+            "description": "Atlas Type representing an access policy statement 
on an S3 bucket. Can later be fleshed out to represent the JSON structure of 
the statement.",
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name":        "policyString",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  false,
+                    "isUnique":    false
+                }
+            ]
+        }
+    ],
+    "classificationDefs": [],
+    "entityDefs": [
+        {
+            "name":        "aws_s3_object",
+            "description": "Atlas Type representing an Object (file) in an S3 
Object Store Bucket",
+            "superTypes":  [ "DataSet" ],
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name":        "pseudoDirectory",
+                    "typeName":    "aws_s3_pseudo_dir",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  false,
+                    "isUnique":    false,
+                    "constraints": [
+                        {
+                            "type": "inverseRef",
+                            "params": {
+                                "attribute": "s3Objects"
+                            }
+                        }
+                    ]
+                },
+                {
+                    "name":        "dataType",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "avroSchema",
+                    "typeName":    "avro_schema",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "compressionType",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "awsTags",
+                    "typeName":    "array<aws_tag>",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "createTime",
+                    "typeName":    "date",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                }
+            ]
+        },
+        {
+            "name":        "aws_s3_pseudo_dir",
+            "description": "Atlas Type representing a Pseudo-Directory 
(prefix) in an S3 Object Store Bucket",
+            "superTypes":  [ "DataSet" ],
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name":        "objectPrefix",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  false,
+                    "isUnique":    true
+                },
+                {
+                    "name":        "bucket",
+                    "typeName":    "aws_s3_bucket",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  false,
+                    "isUnique":    false,
+                    "constraints": [
+                        {
+                            "type": "inverseRef",
+                            "params": {
+                                "attribute": "pseudoDirectories"
+                            }
+                        }
+                    ]
+                },
+                {
+                    "name":        "s3Objects",
+                    "typeName":    "array<aws_s3_object>",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false,
+                    "constraints": [
+                        {
+                            "type": "ownedRef"
+                        }
+                    ]
+                },
+                {
+                    "name":        "avroSchemas",
+                    "typeName":    "array<avro_schema>",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "subdomain",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "subject",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "currentStorageLocation",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "dataType",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "awsTags",
+                    "typeName":    "array<aws_tag>",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "createTime",
+                    "typeName":    "date",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                }
+            ]
+        },
+        {
+            "name":        "aws_s3_bucket",
+            "description": "Atlas Type representing a Bucket in an AWS S3 
Object Store",
+            "superTypes":  [ "DataSet" ],
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name":        "partner",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "domain",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "pseudoDirectories",
+                    "typeName":    "array<aws_s3_pseudo_dir>",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false,
+                    "constraints": [
+                        {
+                            "type": "ownedRef"
+                        }
+                    ]
+                },
+                {
+                    "name":        "region",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "s3AccessPolicies",
+                    "typeName":    "array<aws_s3_access_policy>",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "isEncrypted",
+                    "typeName":    "boolean",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "encryptionType",
+                    "typeName":    "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "lifeCycleRules",
+                    "typeName":    "array<aws_s3_bucket_lifeCycleRule>",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "awsTags",
+                    "typeName":    "array<aws_tag>",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "cloudWatchMetrics",
+                    "typeName":    "array<aws_cloud_watch_metric>",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional":  true,
+                    "isUnique":    false
+                },
+                {
+                    "name":        "createtime",
+                    "typeName":    "date",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional":  true,
+                    "isUnique":    false
+                }
+            ]
+        }
+    ],
+    "relationshipDefs": [
+        {
+            "name":                 "aws_s3_bucket_aws_s3_pseudo_dirs",
+            "typeVersion":          "1.0",
+            "relationshipCategory": "COMPOSITION",
+            "endDef1": {
+                "type":              "aws_s3_bucket",
+                "name":              "pseudoDirectories",
+                "isContainer":       true,
+                "cardinality":       "SET",
+                "isLegacyAttribute": true
+            },
+            "endDef2": {
+                "type":               "aws_s3_pseudo_dir",
+                "name":               "bucket",
+                "isContainer":       false,
+                "cardinality":       "SINGLE",
+                "isLegacyAttribute": true
+            },
+            "propagateTags": "ONE_TO_TWO"
+        },
+        {
+            "name":                 "aws_s3_pseudo_dir_aws_objects",
+            "typeVersion":          "1.0",
+            "relationshipCategory": "COMPOSITION",
+            "endDef1": {
+                "type":              "aws_s3_pseudo_dir",
+                "name":              "s3Objects",
+                "isContainer":       true,
+                "cardinality":       "SET",
+                "isLegacyAttribute": true
+            },
+            "endDef2": {
+                "type":              "aws_s3_object",
+                "name":              "pseudoDirectory",
+                "isContainer":       false,
+                "cardinality":       "SINGLE",
+                "isLegacyAttribute": true
+            },
+            "propagateTags": "ONE_TO_TWO"
+        },
+        {
+            "name":                 "aws_s3_object_avro_schema",
+            "typeVersion":          "1.0",
+            "relationshipCategory": "ASSOCIATION",
+            "endDef1": {
+                "type":              "aws_s3_object",
+                "name":              "avroSchema",
+                "isContainer":       false,
+                "cardinality":       "SINGLE",
+                "isLegacyAttribute": true
+            },
+            "endDef2": {
+                "type":              "avro_schema",
+                "name":              "s3Objects",
+                "isContainer":       false,
+                "cardinality":       "SET"
+            },
+            "propagateTags": "NONE"
+        },
+        {
+            "name":                 "aws_s3_pseudo_dir_avro_schema",
+            "typeVersion":          "1.0",
+            "relationshipCategory": "ASSOCIATION",
+            "endDef1": {
+                "type":              "aws_s3_pseudo_dir",
+                "name":              "avroSchemas",
+                "isContainer":       false,
+                "cardinality":       "SET",
+                "isLegacyAttribute": true
+            },
+            "endDef2": {
+                "type":              "avro_schema",
+                "name":              "s3PseudoDirs",
+                "isContainer":       false,
+                "cardinality":       "SET"
+            },
+            "propagateTags": "NONE"
+        }
+    ]
+}

Reply via email to