in dcv_session_manager_infrastructure/dcv_session_manager_infrastructure_stack.py [0:0]
def create_dcv_linux(self, config, vpc, role_dcv, dcv_security_group):
# Userdata of the instances
data_dcv_linux = open("userdata/dcv_linux.sh", "rb").read()
dcv_linux_userdata = ec2.UserData.for_linux()
# Change some placeholders inside the userdata of the instances
data_dcv_linux_format = str(data_dcv_linux, 'utf-8').format(arn_secret_password=config['arn_efadmin_password'],
StackName=core.Aws.STACK_NAME,
RegionName=core.Aws.REGION)
# Add the userdata to the instances
dcv_linux_userdata.add_commands(data_dcv_linux_format)
# Search for the latest AMIs for the instances
linux_ami_dcv_linux = ec2.MachineImage.lookup(
name="DCV-AmazonLinux2*NVIDIA*",
owners=["amazon"]
)
# Linux DCV instances ASG
asg_dcv_linux = self.create_asg("dcv_linux", vpc, config['ec2_type_dcv_linux'], linux_ami_dcv_linux, dcv_linux_userdata,
role_dcv, config['key_name'], config['linux_dcv_number'], dcv_security_group, "/dev/xvda", config['ebs_dcv_linux_size'])
return asg_dcv_linux