type SyncManager … var _ … type cloudResourceSyncManager … // NewSyncManager creates a manager responsible for collecting resources from a // cloud provider through requests that are sensitive to timeouts and hanging func NewSyncManager(cloud cloudprovider.Interface, nodeName types.NodeName, syncPeriod time.Duration) SyncManager { … } // NodeAddresses waits for the first sync loop to run. If no successful syncs // have run, it will return the most recent error. If node addresses have been // synced successfully, it will return the list of node addresses from the most // recent successful sync. func (m *cloudResourceSyncManager) NodeAddresses() ([]v1.NodeAddress, error) { … } // getNodeAddresses calls the cloud provider to get a current list of node addresses. func (m *cloudResourceSyncManager) getNodeAddresses() ([]v1.NodeAddress, error) { … } func (m *cloudResourceSyncManager) syncNodeAddresses() { … } // Run starts the cloud resource sync manager's sync loop. func (m *cloudResourceSyncManager) Run(stopCh <-chan struct{ … }