def set_advanced_networking(self, vip_dhcp_allocation: Optional[bool]=None, cluster_networks: Optional[List[models.ClusterNetwork]]=None, service_networks: Optional[List[models.ServiceNetwork]]=None, machine_networks: Optional[List[models.MachineNetwork]]=None, api_vip: Optional[str]=None, ingress_vip: Optional[str]=None):
    if (machine_networks is None):
        machine_networks = self._config.machine_networks
    else:
        machine_networks = [models.MachineNetwork(cidr=cidr) for cidr in machine_networks]
    if (vip_dhcp_allocation is None):
        vip_dhcp_allocation = self._config.vip_dhcp_allocation
    advanced_networking = {'vip_dhcp_allocation': vip_dhcp_allocation, 'cluster_networks': (cluster_networks if (cluster_networks is not None) else self._config.cluster_networks), 'service_networks': (service_networks if (service_networks is not None) else self._config.service_networks), 'machine_networks': machine_networks, 'api_vip': (api_vip if (api_vip is not None) else self._config.api_vip), 'ingress_vip': (ingress_vip if (ingress_vip is not None) else self._config.ingress_vip)}
    log.info(f'Updating advanced networking with {advanced_networking} for cluster: {self.id}')
    self.update_config(**advanced_networking)
    self.api_client.update_cluster(self.id, advanced_networking)
def set_advanced_networking(self, vip_dhcp_allocation: Optional[bool]=None, cluster_networks: Optional[List[models.ClusterNetwork]]=None, service_networks: Optional[List[models.ServiceNetwork]]=None, machine_networks: Optional[List[models.MachineNetwork]]=None, api_vip: Optional[str]=None, ingress_vip: Optional[str]=None):
    if (machine_networks is None):
        machine_networks = self._config.machine_networks
    else:
        machine_networks = [models.MachineNetwork(cidr=cidr) for cidr in machine_networks]
    if (vip_dhcp_allocation is None):
        vip_dhcp_allocation = self._config.vip_dhcp_allocation
    advanced_networking = {'vip_dhcp_allocation': vip_dhcp_allocation, 'cluster_networks': (cluster_networks if (cluster_networks is not None) else self._config.cluster_networks), 'service_networks': (service_networks if (service_networks is not None) else self._config.service_networks), 'machine_networks': machine_networks, 'api_vip': (api_vip if (api_vip is not None) else self._config.api_vip), 'ingress_vip': (ingress_vip if (ingress_vip is not None) else self._config.ingress_vip)}
    log.info(f'Updating advanced networking with {advanced_networking} for cluster: {self.id}')
    self.update_config(**advanced_networking)
    self.api_client.update_cluster(self.id, advanced_networking)