def taskmanager(location, vpc=None):
    properties = dict(
        GroupDescription="Enable accesses to TaskManager",
        SecurityGroupIngress=[]
    )

    if vpc:
        properties["VpcId"] = Ref(vpc)

    sg = SecurityGroup("None", GroupDescription="None")
    return sg.from_dict("TaskManagerSecurityGroup", properties)
def ssh(location, vpc=None):
    properties = dict(
        GroupDescription="Enable SSH access via port 22",
        SecurityGroupIngress=[
            SecurityGroupRule(IpProtocol="tcp", CidrIp=Ref(location),
                              FromPort="22", ToPort="22")
        ]
    )

    if vpc:
        properties["VpcId"] = Ref(vpc)

    sg = SecurityGroup("None", GroupDescription="None")
    return sg.from_dict("SSHSecurityGroup", properties)
def jobmanager(location, vpc=None):
    properties = dict(
        GroupDescription="Enable accesses to JobManager",
        SecurityGroupIngress=[
            SecurityGroupRule(IpProtocol="tcp", CidrIp="0.0.0.0/0",
                              FromPort="6123", ToPort="6123"),
            SecurityGroupRule(IpProtocol="tcp", CidrIp=Ref(location),
                              FromPort="8081", ToPort="8081")
        ]
    )

    if vpc:
        properties["VpcId"] = Ref(vpc)

    sg = SecurityGroup("None", GroupDescription="None")
    return sg.from_dict("JobManagerSecurityGroup", properties)