def METHOD_NAME(line):
    """Return dict containing parameter info extracted from line."""
    # Examples of parameter definitions:
    #   maxAccessKeyAgeType: intDefault: 90
    #   IgnorePublicAcls \(Optional\)Type: StringDefault: True
    #   MasterAccountId \(Optional\)Type: String
    #   endpointConfigurationTypesType: String
    values = re.split(r":\s?", line)
    name = values[0]
    param_type = values[1]
    # If there is no Optional keyword, then sometimes there
    # isn't a space between the parameter name and "Type".
    name = re.sub("Type$", "", name)
    # Sometimes there isn't a space between the type and the
    # word "Default".
    if "Default" in param_type:
        param_type = re.sub("Default$", "", param_type)
    optional = False
    if "Optional" in line:
        optional = True
        # Remove "Optional" from the line.
        name = name.split()[0]
    param_info = {
        "Name": name,
        "Optional": optional,
        "Type": param_type,
    }
    # A default value isn't always provided.
    if len(values) > 2:
        param_info["Default"] = values[2]
    return param_info