{
  "enumDefs": [],
  "structDefs": [],
  "classificationDefs": [],
  "entityDefs": [
    {
      "name":        "aws_s3_v2_container",
      "superTypes": [],
      "description": "Atlas Type representing a Container Types in an S3 Object Store",
      "serviceType": "aws",
      "typeVersion": "1.0",
      "attributeDefs": []
    },
    {
      "name":        "aws_s3_v2_contained",
      "superTypes": [],
      "description": "Atlas Type representing a Contained Types in an S3 Object Store",
      "serviceType": "aws",
      "typeVersion": "1.0",
      "attributeDefs": []
    },
    {
      "name":        "aws_s3_v2_base",
      "description": "Atlas Type representing a base Type for all AWS S3 V2 Data Types",
      "superTypes":  [
        "DataSet"
      ],
      "serviceType": "aws",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name":        "region",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  true,
          "isUnique":    false
        },
        {
          "name":        "ownerName",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  true,
          "isUnique":    false,
          "searchWeight" : 5
        },
        {
          "name":        "ownerId",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": false,
          "isOptional":  true,
          "isUnique":    false
        },
        {
          "name":        "eTag",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  true,
          "isUnique":    false,
          "searchWeight" : 5
        },
        {
          "name":        "encryption",
          "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":        "aws_s3_v2_object",
      "description": "Atlas Type representing an Object in an S3 Object Store",
      "superTypes":  [
        "aws_s3_v2_base",
        "aws_s3_v2_contained"
      ],
      "serviceType": "aws",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name":        "lastModifiedTime",
          "typeName":    "date",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  true,
          "isUnique":    false
        },
        {
          "name":        "bucketName",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  true,
          "isUnique":    false,
          "searchWeight" : 5
        },
        {
          "name":        "size",
          "typeName":    "long",
          "cardinality": "SINGLE",
          "isIndexable": false,
          "isOptional":  true
        },
        {
          "name":        "storageClass",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  true,
          "isUnique":    false,
          "searchWeight" : 5
        },
        {
          "name":        "compressionType",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": false,
          "isOptional":  true,
          "isUnique":    false
        },
        {
          "name":        "dataType",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  true,
          "isUnique":    false
        }
      ]
    },
    {
      "name":        "aws_s3_v2_directory",
      "description": "Atlas Type representing a directory in an S3 Object Store",
      "superTypes":  [
        "aws_s3_v2_object",
        "aws_s3_v2_container"
      ],
      "serviceType": "aws",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name":        "objectPrefix",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  false,
          "isUnique":    true
        },
        {
          "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":        "storageLocation",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": false,
          "isOptional":  true,
          "isUnique":    false
        }
      ]
    },
    {
      "name":        "aws_s3_v2_bucket",
      "description": "Atlas Type representing a Bucket in an AWS S3 Object Store",
      "superTypes":  [
        "aws_s3_v2_base",
        "aws_s3_v2_container"
      ],
      "serviceType": "aws",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name":        "creationTime",
          "typeName":    "date",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  true,
          "isUnique":    false
        },
        {
          "name":        "permissions",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": false,
          "isOptional":  true,
          "isUnique":    false
        },
        {
          "name":        "partner",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  true,
          "isUnique":    false,
          "searchWeight" : 5
        },
        {
          "name":        "domain",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  true,
          "isUnique":    false
        },
        {
          "name":        "s3AccessPolicies",
          "typeName":    "array<aws_s3_access_policy>",
          "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":        "cloudWatchMetrics",
          "typeName":    "array<aws_cloud_watch_metric>",
          "cardinality": "SINGLE",
          "isIndexable": false,
          "isOptional":  true,
          "isUnique":    false
        },
        {
          "name":        "accountId",
          "typeName":    "string",
          "cardinality": "SINGLE",
          "isIndexable": true,
          "isOptional":  true,
          "isUnique":    false,
          "searchWeight" : 10
        }
      ]
    }
  ],
  "relationshipDefs": [
    {
      "name":                 "aws_s3_v2_container_contained",
      "serviceType":          "aws",
      "typeVersion":          "1.0",
      "relationshipCategory": "COMPOSITION",
      "endDef1": {
        "type":               "aws_s3_v2_container",
        "name":               "contained",
        "isContainer":        true,
        "cardinality":        "SET"
      },
      "endDef2": {
        "type":               "aws_s3_v2_contained",
        "name":               "container",
        "isContainer":        false,
        "cardinality":        "SINGLE"
      },
      "propagateTags": "NONE"
    }
  ]
}