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" + } + ] +}