code: func (am *addressManager) ReleaseAddress() error {
  	if !am.tryRelease {
  		klog.V(4).Infof("%v: not attempting release of address %q.", am.logPrefix, am.targetIP)
  		return nil
  	}
  
  	klog.V(4).Infof("%v: releasing address %q named %q", am.logPrefix, am.targetIP, am.name)
  	// Controller only ever tries to unreserve the address named with the load balancer's name.
  	err := am.svc.DeleteRegionAddress(am.name, am.region)
  	if err != nil {
  		if isNotFound(err) {
  			klog.Warningf("%v: address %q was not found. Ignoring.", am.logPrefix, am.name)
  			return nil
  		}
  
  		return err
  	}
  
  	klog.V(4).Infof("%v: successfully released IP %q named %q", am.logPrefix, am.targetIP, am.name)
  	return nil
  }
docs: // ReleaseAddress will release the address if it's owned by the controller.