added public/private instances and ebs block size

This commit is contained in:
Ari Brown 2023-10-10 14:37:17 -04:00
parent 5eb2e39c69
commit 2caafcc344

View file

@ -12,7 +12,9 @@ class Machine:
variables = {}, variables = {},
username = None, username = None,
key_pair = None, key_pair = None,
name = "Minerva Instance"): name = "Minerva Instance",
public = True,
disk_size = 8):
self.pier = pier self.pier = pier
self.ami = ami self.ami = ami
@ -25,6 +27,8 @@ class Machine:
self.info = None self.info = None
self.ssh = None self.ssh = None
self.terminated = False self.terminated = False
self.public = public
self.disk_size = disk_size
def create(self): def create(self):
if self.info: if self.info:
@ -39,10 +43,12 @@ class Machine:
MaxCount = 1, MaxCount = 1,
TagSpecifications = [{'ResourceType': 'instance', TagSpecifications = [{'ResourceType': 'instance',
'Tags': [{'Key': 'Name', 'Value': self.name}]}], 'Tags': [{'Key': 'Name', 'Value': self.name}]}],
NetworkInterfaces = [{'AssociatePublicIpAddress': True, NetworkInterfaces = [{'AssociatePublicIpAddress': self.public,
'SubnetId': self.pier.subnet_id, 'SubnetId': self.pier.subnet_id,
'Groups': self.pier.groups, 'Groups': self.pier.groups,
'DeviceIndex': 0}], 'DeviceIndex': 0}],
BlockDeviceMappings = [{'Ebs': {'VolumeSize': self.disk_size,
'DeleteOnTermination': True}}],
IamInstanceProfile = iam IamInstanceProfile = iam
) )