Skip to main content

// Accounts MERGE (accDev:AwsAccount {accountId: '018777506747'}) ON CREATE SET accDev.name = 'dev'; MERGE (accQa:AwsAccount {accountId: '018778761706'}) ON CREATE SET accQa.name = 'qa'; MERGE (accPrd:AwsAccount {accountId: '018778855179'}) ON CREATE SET accPrd.name = 'prd'; // Regions MERGE (cn1:AwsRegion {name: 'cn-north-1'}); MERGE (cw1:AwsRegion {name: 'cn-northwest-1'}); // Region to Account relationships MERGE (cn1)-[:IN_ACCOUNT]->(accDev); // cn-north-1 in dev account MERGE (cw1)-[:IN_ACCOUNT]->(accDev); // cn-northwest-1 in dev account MERGE (cn1)-[:IN_ACCOUNT]->(accQa); // cn-north-1 in qa account MERGE (cw1)-[:IN_ACCOUNT]->(accQa); // cn-northwest-1 in qa account MERGE (cn1)-[:IN_ACCOUNT]->(accPrd); // cn-north-1 in prd account MERGE (cw1)-[:IN_ACCOUNT]->(accPrd); // cn-northwest-1 in prd account // VPCs in Beijing (cn-north-1) MERGE (vpcA:Vpc {vpcId: 'vpc-a', name: 'vpc-a', cidr: '10.120.0.0/16'}) ON CREATE SET vpcA.accountId = '018777506747'; MERGE (vpcA)-[:IN_REGION]->(cn1); MERGE (vpcB:Vpc {vpcId: 'vpc-b', name: 'vpc-b', cidr: '10.200.0.0/16'}) ON CREATE SET vpcB.accountId = '018777506747'; MERGE (vpcB)-[:IN_REGION]->(cn1); MERGE (vpcC:Vpc {vpcId: 'vpc-c', name: 'vpc-c', cidr: '10.201.0.0/16'}) ON CREATE SET vpcC.accountId = '018777506747'; MERGE (vpcC)-[:IN_REGION]->(cn1); // VPC in Ningxia (cn-northwest-1) MERGE (vpcD:Vpc {vpcId: 'vpc-d', name: 'vpc-d', cidr: '10.121.0.0/16'}) ON CREATE SET vpcD.accountId = '018777506747'; MERGE (vpcC)-[:IN_REGION]->(cw1); // VPCs in Beijing (cn-north-1) MERGE (vpcA:Vpc {vpcId: 'vpc-a', name: 'vpc-a', cidr: '10.120.0.0/16'}) ON CREATE SET vpcA.accountId = '018778761706'; MERGE (vpcA)-[:IN_REGION]->(cn1); MERGE (vpcB:Vpc {vpcId: 'vpc-b', name: 'vpc-b', cidr: '10.200.0.0/16'}) ON CREATE SET vpcB.accountId = '018778761706'; MERGE (vpcB)-[:IN_REGION]->(cn1); MERGE (vpcC:Vpc {vpcId: 'vpc-c', name: 'vpc-c', cidr: '10.201.0.0/16'}) ON CREATE SET vpcC.accountId = '018778761706'; MERGE (vpcC)-[:IN_REGION]->(cn1); // VPC in Ningxia (cn-northwest-1) MERGE (vpcD:Vpc {vpcId: 'vpc-d', name: 'vpc-d', cidr: '10.121.0.0/16'}) ON CREATE SET vpcD.accountId = '018778761706'; MERGE (vpcC)-[:IN_REGION]->(cw1); // VPCs in Beijing (cn-north-1) MERGE (vpcA:Vpc {vpcId: 'vpc-a', name: 'vpc-a', cidr: '10.120.0.0/16'}) ON CREATE SET vpcA.accountId = '018778855179'; MERGE (vpcA)-[:IN_REGION]->(cn1); MERGE (vpcB:Vpc {vpcId: 'vpc-b', name: 'vpc-b', cidr: '10.200.0.0/16'}) ON CREATE SET vpcB.accountId = '018778855179'; MERGE (vpcB)-[:IN_REGION]->(cn1); MERGE (vpcC:Vpc {vpcId: 'vpc-c', name: 'vpc-c', cidr: '10.201.0.0/16'}) ON CREATE SET vpcC.accountId = '018778855179'; MERGE (vpcC)-[:IN_REGION]->(cn1); // VPC in Ningxia (cn-northwest-1) MERGE (vpcD:Vpc {vpcId: 'vpc-d', name: 'vpc-d', cidr: '10.121.0.0/16'}) ON CREATE SET vpcD.accountId = '018778855179'; MERGE (vpcC)-[:IN_REGION]->(cw1); // 创建AZ节点 MERGE (az1a:Az {name: 'cn-north-1a'}); MERGE (az1b:Az {name: 'cn-north-1b'}); MERGE (az2a:Az {name: 'cn-northwest-1a'}); MERGE (az2b:Az {name: 'cn-northwest-1b'}); MERGE (az2c:Az {name: 'cn-northwest-1c'}); // 创建AZ到VPC-A的关系 MERGE (vpcA)-[:HAS_AZ]->(az1a); MERGE (vpcA)-[:HAS_AZ]->(az1b); // 创建AZ到VPC-B的关系 MERGE (vpcB)-[:HAS_AZ]->(az1a); MERGE (vpcB)-[:HAS_AZ]->(az1b); // 创建AZ到VPC-C的关系 MERGE (vpcC)-[:HAS_AZ]->(az1a); MERGE (vpcC)-[:HAS_AZ]->(az1b); // 创建AZ到VPC-D的关系 MERGE (vpcD)-[:HAS_AZ]->(az2a); MERGE (vpcD)-[:HAS_AZ]->(az2b); MERGE (vpcD)-[:HAS_AZ]->(az2c); // 创建子网(1a AZ) MERGE (sub1a1:Subnet {subnetId: 'pub-1', cidr: '10.120.12.0/24', type: 'public', az: 'cn-north-1a'}) ON CREATE SET sub1a1.accountId = '018778855179'; MERGE (sub1a2:Subnet {subnetId: 'pri-1', cidr: '10.120.1.0/24', type: 'private', purpose: 'bastion', az: 'cn-north-1a'})

  1. // Accounts
    MERGE (accDev:AwsAccount {accountId: '018777506747'})
    ON CREATE SET accDev.name = 'dev';

    MERGE (accQa:AwsAccount {accountId: '018778761706'})
    ON CREATE SET accQa.name = 'qa';

    MERGE (accPrd:AwsAccount {accountId: '018778855179'})
    ON CREATE SET accPrd.name = 'prd';


    // Regions
    MERGE (cn1:AwsRegion {name: 'cn-north-1'});
    MERGE (cw1:AwsRegion {name: 'cn-northwest-1'});


    // Region to Account relationships
    MERGE (cn1)-[:IN_ACCOUNT]->(accDev); // cn-north-1 in dev account
    MERGE (cw1)-[:IN_ACCOUNT]->(accDev); // cn-northwest-1 in dev account

    MERGE (cn1)-[:IN_ACCOUNT]->(accQa); // cn-north-1 in qa account
    MERGE (cw1)-[:IN_ACCOUNT]->(accQa); // cn-northwest-1 in qa account

    MERGE (cn1)-[:IN_ACCOUNT]->(accPrd); // cn-north-1 in prd account
    MERGE (cw1)-[:IN_ACCOUNT]->(accPrd); // cn-northwest-1 in prd account


    // VPCs in Beijing (cn-north-1)
    MERGE (vpcA:Vpc {vpcId: 'vpc-a', name: 'vpc-a', cidr: '10.120.0.0/16'})
    ON CREATE SET vpcA.accountId = '018777506747';
    MERGE (vpcA)-[:IN_REGION]->(cn1);

    MERGE (vpcB:Vpc {vpcId: 'vpc-b', name: 'vpc-b', cidr: '10.200.0.0/16'})
    ON CREATE SET vpcB.accountId = '018777506747';
    MERGE (vpcB)-[:IN_REGION]->(cn1);

    MERGE (vpcC:Vpc {vpcId: 'vpc-c', name: 'vpc-c', cidr: '10.201.0.0/16'})
    ON CREATE SET vpcC.accountId = '018777506747';
    MERGE (vpcC)-[:IN_REGION]->(cn1);

    // VPC in Ningxia (cn-northwest-1)
    MERGE (vpcD:Vpc {vpcId: 'vpc-d', name: 'vpc-d', cidr: '10.121.0.0/16'})
    ON CREATE SET vpcD.accountId = '018777506747';
    MERGE (vpcC)-[:IN_REGION]->(cw1);


    // VPCs in Beijing (cn-north-1)
    MERGE (vpcA:Vpc {vpcId: 'vpc-a', name: 'vpc-a', cidr: '10.120.0.0/16'})
    ON CREATE SET vpcA.accountId = '018778761706';
    MERGE (vpcA)-[:IN_REGION]->(cn1);

    MERGE (vpcB:Vpc {vpcId: 'vpc-b', name: 'vpc-b', cidr: '10.200.0.0/16'})
    ON CREATE SET vpcB.accountId = '018778761706';
    MERGE (vpcB)-[:IN_REGION]->(cn1);

    MERGE (vpcC:Vpc {vpcId: 'vpc-c', name: 'vpc-c', cidr: '10.201.0.0/16'})
    ON CREATE SET vpcC.accountId = '018778761706';
    MERGE (vpcC)-[:IN_REGION]->(cn1);

    // VPC in Ningxia (cn-northwest-1)
    MERGE (vpcD:Vpc {vpcId: 'vpc-d', name: 'vpc-d', cidr: '10.121.0.0/16'})
    ON CREATE SET vpcD.accountId = '018778761706';
    MERGE (vpcC)-[:IN_REGION]->(cw1);


    // VPCs in Beijing (cn-north-1)
    MERGE (vpcA:Vpc {vpcId: 'vpc-a', name: 'vpc-a', cidr: '10.120.0.0/16'})
    ON CREATE SET vpcA.accountId = '018778855179';
    MERGE (vpcA)-[:IN_REGION]->(cn1);

    MERGE (vpcB:Vpc {vpcId: 'vpc-b', name: 'vpc-b', cidr: '10.200.0.0/16'})
    ON CREATE SET vpcB.accountId = '018778855179';
    MERGE (vpcB)-[:IN_REGION]->(cn1);

    MERGE (vpcC:Vpc {vpcId: 'vpc-c', name: 'vpc-c', cidr: '10.201.0.0/16'})
    ON CREATE SET vpcC.accountId = '018778855179';
    MERGE (vpcC)-[:IN_REGION]->(cn1);

    // VPC in Ningxia (cn-northwest-1)
    MERGE (vpcD:Vpc {vpcId: 'vpc-d', name: 'vpc-d', cidr: '10.121.0.0/16'})
    ON CREATE SET vpcD.accountId = '018778855179';
    MERGE (vpcC)-[:IN_REGION]->(cw1);


    // 创建AZ节点
    MERGE (az1a:Az {name: 'cn-north-1a'});
    MERGE (az1b:Az {name: 'cn-north-1b'});
    MERGE (az2a:Az {name: 'cn-northwest-1a'});
    MERGE (az2b:Az {name: 'cn-northwest-1b'});
    MERGE (az2c:Az {name: 'cn-northwest-1c'});

    // 创建AZ到VPC-A的关系
    MERGE (vpcA)-[:HAS_AZ]->(az1a);
    MERGE (vpcA)-[:HAS_AZ]->(az1b);

    // 创建AZ到VPC-B的关系
    MERGE (vpcB)-[:HAS_AZ]->(az1a);
    MERGE (vpcB)-[:HAS_AZ]->(az1b);

    // 创建AZ到VPC-C的关系
    MERGE (vpcC)-[:HAS_AZ]->(az1a);
    MERGE (vpcC)-[:HAS_AZ]->(az1b);

    // 创建AZ到VPC-D的关系
    MERGE (vpcD)-[:HAS_AZ]->(az2a);
    MERGE (vpcD)-[:HAS_AZ]->(az2b);
    MERGE (vpcD)-[:HAS_AZ]->(az2c);


    // 创建子网(1a AZ)
    MERGE (sub1a1:Subnet {subnetId: 'pub-1', cidr: '10.120.12.0/24', type: 'public', az: 'cn-north-1a'})
    ON CREATE SET sub1a1.accountId = '018778855179';
    MERGE (sub1a2:Subnet {subnetId: 'pri-1', cidr: '10.120.1.0/24', type: 'private', purpose: 'bastion', az: 'cn-north-1a'})