<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def cli(env, identifier, enabled, port, weight, healthcheck_type, ip_address):
 """Edit the properties of a service group."""


    mgr = SoftLayer.LoadBalancerManager(env.client)

    loadbal_id, service_id = loadbal.parse_id(identifier)

    # check if any input is provided
    if ((not any([ip_address, weight, port, healthcheck_type])) and
            enabled is None):
        raise exceptions.CLIAbort(
            'At least one property is required to be changed!')

    # check if the IP is valid
    ip_address_id = None
    if ip_address:
        ip_service = env.client['Network_Subnet_IpAddress']
        ip_record = ip_service.getByIpAddress(ip_address)
        ip_address_id = ip_record['id']

    mgr.edit_service(loadbal_id,
                     service_id,
                     ip_address_id=ip_address_id,
                     enabled=enabled,
                     port=port,
                     weight=weight,
                     hc_type=healthcheck_type)
    env.fout('Load balancer service %s is being modified!' % identifier)