Переглянути джерело

load sample data for vpcs and subnets

Chris Mague 8 роки тому
батько
коміт
549c34574b
2 змінених файлів з 84 додано та 2 видалено
  1. 30 2
      tasks/sample_data.rake
  2. 54 0
      tasks/sample_data.yaml

+ 30 - 2
tasks/sample_data.rake

@@ -40,7 +40,35 @@ namespace :sample_data do
 
   task :vpcs do
     puts 'loading vpcs'
-    j = NeoInfra::Vpcs.new
+    sample_data['vpcs'].each do |v|
+    	next unless Vpc.where(vpc_id: v['vpc_id']).empty?
+      vp = Vpc.new(
+        vpc_id: v['vpc_id'],
+        name: v['name'],
+        cidr: v['cidr'],
+        state: v['state'],
+        default: v['default'].to_s
+      )
+      vp.save
+      AccountVpc.create(from_node: vp, to_node: AwsAccount.where(name: v['account']).first)
+      VpcRegion.create(from_node: vp, to_node: Region.where(region: v['region']).first)
+    end
+  end
+
+  task :subnets do
+    puts 'loading subnets'
+    sample_data['subnets'].each do |s|
+    	next unless Subnet.where(vpc_id: s['subnet_id']).empty?
+      sn = Subnet.new(
+        subnet_id: s['subnet_id'],
+        cidr: s['cidr'],
+        name: s['name'],
+        ip_count: s['ip_count'],
+        state: s['state']
+      )
+      VpcSubnet.create(from_node: sn, to_node: Vpc.where(vpc_id: s['vpc_id']).first)
+      SubnetAz.create(from_node: sn, to_node: Az.where(az: s['az']).first)
+    end
   end
 
   task :buckets do
@@ -54,5 +82,5 @@ namespace :sample_data do
   end
 
   desc 'Load Sample Data'
-  task all: %i[accounts regions vpcs buckets nodes]
+  task all: %i[accounts regions vpcs subnets buckets nodes]
 end

+ 54 - 0
tasks/sample_data.yaml

@@ -2,6 +2,7 @@
 accounts:
   - :name: account1
   - :name: account2
+
 regions:
   - us-east-1:
     - us-east-1a
@@ -12,3 +13,56 @@ regions:
   - us-west-1:
     - us-west-1a
     - us-west-1c
+
+vpcs:
+  - vpc_id: vpc-21121
+    name: prod-vpc-1
+    state: available
+    default: false
+    cidr: 192.168.0.0/24
+    region: us-east-1
+    account: account1
+  - vpc_id: vpc-21122
+    name: test-vpc-1
+    state: available
+    default: false
+    cidr: 192.168.5.0/24
+    region: us-west-1
+    account: account2
+
+subnets:
+  - subnet_id: subnet-444444
+    cidr: 192.168.5.0/25
+    name: test-subnet-public
+    ip_count: 128
+    state: avaliable
+    az: us-west-1a
+    vpc_id: vpc-21122
+  - subnet_id: subnet-444445
+    cidr: 192.168.5.128/25
+    name: test-subnet-private
+    ip_count: 128
+    state: avaliable
+    az: us-west-1c
+    vpc_id: vpc-21122
+  - subnet_id: subnet-555555
+    cidr: 192.168.0.0/26
+    name: test-subnet-public
+    ip_count: 64
+    state: avaliable
+    az: us-east-1a
+    vpc_id: vpc-21121
+  - subnet_id: subnet-555556
+    cidr: 192.168.0.64/26
+    name: test-subnet-private
+    ip_count: 64
+    state: avaliable
+    az: us-east-1b
+    vpc_id: vpc-21121
+  - subnet_id: subnet-555557
+    cidr: 192.168.0.128/25
+    name: test-subnet-private
+    ip_count: 128
+    state: avaliable
+    az: us-east-1d
+    vpc_id: vpc-21121