code: func (az *Cloud) CreateOrUpdatePIP(service *v1.Service, pipResourceGroup string, pip network.PublicIPAddress) error {
  	if az.Config.shouldOmitCloudProviderBackoff() {
  		ctx, cancel := getContextWithCancel()
  		defer cancel()
  
  		resp, err := az.PublicIPAddressesClient.CreateOrUpdate(ctx, pipResourceGroup, *pip.Name, pip)
  		klog.V(10).Infof("PublicIPAddressesClient.CreateOrUpdate(%s, %s): end", pipResourceGroup, *pip.Name)
  		return az.processHTTPResponse(service, "CreateOrUpdatePublicIPAddress", resp, err)
  	}
  
  	return az.createOrUpdatePIPWithRetry(service, pipResourceGroup, pip)
  }
docs: // CreateOrUpdatePIP invokes az.PublicIPAddressesClient.CreateOrUpdate with exponential backoff retry