Skip to content

Inventory data model

This is the structure of the inventory data model, it can generated from the actual deployed resources with the inventory command or manually and used as input for the diagram one to generate the architecture diagram.

# Accounts map, the key must be the account ID
accounts:
  # ID of the account
  "000000000000":
    # ID of the account
    id: 000000000000
    # Account's name
    name: Production
    # Regions map
    regions:
      # Region ID
      us-east-1:
        # Enabled availability zone flags
        azs:
          us-east-1a: true  # Enable US-East-1a AZ
          us-east-1b: false # Disable US-East-1b AZ
          us-east-1c: false # Disable US-East-1c AZ
        # List of Internet Gateways
        internetGateways:
          -
            # ID
            id: ig-0000
            # Name
            name: internet-gw
            # List of VPC the Internet Gateway is attached to
            vpcs:
              - vpc-00000 # VPC ID as listed below
        # Name
        name: us-east-1
        # Map of Transit Gateways
        transitGateways:
          # ID
          main-tgw:
            # ID
            id: main-tgw
            # Name
            name: TGW
            # Map of TGW attachments
            attachments:
              # ID
              production:
                # ID
                id: tgw-attach-prod
                # Name
                name: tgw-attachment-production
                # ID of the account where the attachment is deployed
                accountId: 000000000000
                # ID of the TGW this is attached to
                tgwId: main-tgw
        # Map of VPCs
        vpcs:
          # ID
          vpc-00000:
            # ID
            id: vpc-00000
            # Name
            name: production-vpc
            # CIDR block
            cidr: 10.10.0.0/16
            # RDS clusters map
            dbClusters:
              # ID
              product-db-production:
                # ID
                id: rds-0000
                # Name
                name: product-db-production
                # DB engine
                engine: Aurora
                # DB instances list
                instances:
                  -
                    # ID
                    id: rds-0000-0
                    # Name
                    name: product-db-production-0
                    # ID of the subnet where the instance is deployed
                    subnet: subnet-00000000
                    # Flag to indicate the instance is a primary replica
                    isReplica: false
                  -
                    # ID
                    id: rds-0000-1
                    # Name
                    name: product-db-production-1
                    # ID of the subnet where the instance is deployed
                    subnet: subnet-00000000
                    # Flag to indicate if the instance is a read replica
                    isReplica: true
            # Map of Elasticache clusters
            elasticacheClusters:
              # ID
              product-production:
                # ID
                id: ec-0000
                # Name
                name: product-production
                # Engine
                engine: redis
                # List of subnets where the resource is deployed into
                subnets:
                  - subnet-00000000 # subnet ID as listed below
            # Map of Elastic Load Balancers (ELBs)
            elbs:
              # ID
              public-nlb:
                # ID
                id: public-nlb
                # Name
                name: public-nlb-production
                # Flag to indicate whether the LB is public or not
                isPublic: true
                # List of subnets where the resource is deployed into
                subnets:
                  - subnet-00000000 # subnet ID as listed below
                # LB type
                type: network
            # Flag to indicate whether the VPC is the default one
            isDefault: true
            # Map of Managed Streaming for Apache Kafka (MSK) clusters
            mskClusters:
              # ID
              product-production:
                # ID
                id: msk-0000
                # Name
                name: product-production
                # List of subnets where the resource is deployed into
                subnets:
                  - subnet-00000000 # subnet ID as listed below
            # Map of OpenSearch clusters
            openSearchClusters:
              # ID
              logging-production:
                # ID
                id: os-0000
                # Name
                name: logging-production
                # List of subnets where the resource is deployed into
                subnets:
                  - subnet-00000000 # subnet ID as listed below
            # Map of subnets
            subnets:
              # ID
              subnet-00000000:
                # ID
                id: subnet-00000000
                # Name
                name: public-production-us-east-1a
                # CIDR block
                cidr: 10.10.0.0/24
                # Flag to indicate that network interfaces attached to instances created in the specified subnet should be assigned a public IPv4 address
                autoAssignPublicIp: true
                # Map of EC2 instances
                instances:
                  # ID
                  i-00000000000000003:
                    # ID
                    id: i-00000000000000003
                    # Name
                    name: "production-vpn"
                    # Public IP
                    publicIp: 15.184.23.228
                    # Private IP
                    privateIp: 10.10.0.9
                # AZ where the subnet is deployed to
                az: us-east-1a
                # List of NAT gateways
                natGateways:
                  -
                    # ID
                    id: ngw-0000
                    # Name
                    name: production-nat-1
                    # Public IP
                    publicIp: 15.184.23.229
                    # Private IP
                    privateIp: 10.10.0.50
            # TGW Attachments map
            tgwAttachments:
              # ID
              tgw-attach-prod-0000:
                # ID
                id: tgw-attach-prod-0000
                # Name
                name: tgw-main
                # TGW ID
                tgwId: main-tgw
                # List of subnets where the resource is deployed into
                subnets:
                  - subnet-00000000 # subnet ID as listed below