def METHOD_NAME(
    radius: float = 10.0,
    gap: float = 0.2,
    wrap_angle_deg: float = 180.0,
    parity: int = 1,
    cross_section: CrossSectionSpec = "strip",
    **kwargs,
) -> Component:
    """Disk Resonator.
    Args:
       radius: disk resonator radius.
       gap: Distance between the bus straight and resonator.
       wrap_angle_deg: Angle in degrees between 0 and 180.
        determines how much the bus straight wraps along the resonator.
        0 corresponds to a straight bus straight.
        180 corresponds to a bus straight wrapped around half of the resonator.
       parity (1 or -1): 1, resonator left from bus straight, -1 resonator to the right.
       cross_section: cross_section spec.
       kwargs: cross_section settings.
    """
    if parity not in (1, -1):
        raise ValueError("parity must be 1 or -1")
    if wrap_angle_deg < 0.0 or wrap_angle_deg > 180.0:
        raise ValueError("wrap_angle_deg must be between 0.0 and 180.0")
    c = gf.Component()
    xs = gf.get_cross_section(cross_section=cross_section, radius=radius, **kwargs)
    xs_bend = xs.copy()
    xs_bend.radius = radius + xs.width / 2.0 + gap
    r_bend, size_x, dy, bus_length = _compute_parameters(
        xs_bend, wrap_angle_deg, radius
    )
    c, bend_input, bend_middle, bend_output = _generate_bends(
        c, r_bend, wrap_angle_deg, xs_bend
    )
    c, straight_left, straight_right = _generate_straights(
        c, bus_length, size_x, bend_input, bend_output, xs_bend
    )
    c, circle, circle_cladding = _generate_circles(
        c, radius, xs, bend_middle, straight_left, r_bend, dy
    )
    c = _absorb(
        c,
        circle,
        circle_cladding,
        straight_left,
        straight_right,
        bend_input,
        bend_middle,
        bend_output,
    )
    c.add_port("o1", port=straight_left.ports["o1"], layer="PORT")
    c.add_port("o2", port=straight_right.ports["o2"])
    if xs.add_bbox:
        c = xs.add_bbox(c)
    if parity == -1:
        c = c.rotate(180)
    c.snap_ports_to_grid()
    return c