anchor.diff:  	splits := strings.Split(id, "/")
   	return splits[len(splits)-1]
   }
  +
  +var containerNodePoolRestingStates = RestingStates{
  +	"RUNNING":            ReadyState,
  +	"RUNNING_WITH_ERROR": ErrorState,
  +	"ERROR":              ErrorState,
  +}
  +
  +// takes in a config object, full node pool name, and the current CRUD action timeout
  +// returns a state with no error if the state is a resting state, and the last state with an error otherwise
  +func containerNodePoolAwaitRestingState(config *Config, name string, timeout time.Duration) (state string, err error) {
  +	err = resource.Retry(timeout, func() *resource.RetryError {
  +		nodePool, gErr := config.clientContainerBeta.Projects.Locations.Clusters.NodePools.Get(name).Do()
  +		if gErr != nil {
  +			return resource.NonRetryableError(gErr)
  +		}
  +
  +		state = nodePool.Status
  +		switch stateType := containerNodePoolRestingStates[state]; stateType {
  +		case ReadyState:
  +			log.Printf("[DEBUG] NodePool %q has status %q with message %q.", name, state, nodePool.StatusMessage)
  +			return nil
  +		case ErrorState:
  +			log.Printf("[DEBUG] NodePool %q has error state %q with message %q.", name, state, nodePool.StatusMessage)
  +			return nil
  +		default:
  +			return resource.RetryableError(fmt.Errorf("NodePool %q has state %q with message %q", name, state, nodePool.StatusMessage))
  +		}
  +	})
  +
  +	return state, err
  +}
  
positive.code: 	}
  
  	name := getNodePoolName(d.Id())
  
  	timeoutInMinutes := int(d.Timeout(schema.TimeoutDelete).Minutes())
  
  
negative.code: 
  	log.Printf("[INFO] GKE NodePool %s has been created", nodePool.Name)
  
  	if err = resourceContainerNodePoolRead(d, meta); err != nil {
  		return err
  	}
  
  	state, err := containerNodePoolAwaitRestingState(config, d.Id(), d.Timeout(schema.TimeoutCreate))
  	if err != nil {
  		return err
  	}
  
  	if containerNodePoolRestingStates[state] == ErrorState {
  		return fmt.Errorf("NodePool %s was created in the error state %q", nodePool.Name, state)
  	}
  
  	return nil
  }
  
  func resourceContainerNodePoolRead(d *schema.ResourceData, meta interface{}) error {
  