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