def getFsxInfo()

in main/src/training-compute/training-compute.py [0:0]


def getFsxInfo():
    fsx = boto3.client("fsx")
    ec2 = boto3.client("ec2")
    fileSystems=fsx.describe_file_systems()
    fsList = fileSystems['FileSystems']
    fileSystem=None
    for fs in fsList:
        tags = fs['Tags']
        for tag in tags:
            key=tag['Key']
            value=tag['Value']
            if value.startswith('BioimageSearch'):
                fileSystem=fs
                break
    if fileSystem==None:
        fsxInfo = {
            'subnetIds': '',
            'fsxId': '',
            'securityGroupIds': '',
            'directoryPath': ''
        }
        return fsxInfo
    else:
        fsxId = fileSystem['FileSystemId']
        subnetIds = fileSystem['SubnetIds']
        vpcId = fileSystem['VpcId']
        lustreConfiguration = fileSystem['LustreConfiguration']
        mountName = lustreConfiguration['MountName']
        securityGroupInfo = ec2.describe_security_groups()
        securityGroupId=None
        securityGroups = securityGroupInfo['SecurityGroups']
        for sg in securityGroups:
            description = sg['Description']
            if description.startswith('BioimageSearchLustreStack'):
                securityGroupId = sg['GroupId']
                break
        fsxInfo = {
            'fsxId' : fsxId,
            'subnetIds' : subnetIds,
            'vpcId' : vpcId,
            'mountName' : mountName,
            'securityGroup' : securityGroupId
        }
        return fsxInfo