code: func ensureDefined(c context.Context, host string, bid BuilderID) error {
  	client, err := newSwarmbucketClient(c, host)
  	if err != nil {
  		return err
  	}
  	getBuilders := client.GetBuilders()
  	getBuilders.Bucket(bid.V1Bucket())
  	getBuilders.Fields(googleapi.Field("buckets/(builders/name,name)"))
  	res, err := getBuilders.Do()
  	if err != nil {
  		return err
  	}
  
  	for _, bucket := range res.Buckets {
  		if bucket.Name != bid.V1Bucket() {
  			continue // defensive programming; shouldn't happen in practice.
  		}
  		for _, builder := range bucket.Builders {
  			if builder.Name == bid.Builder {
  				return nil
  			}
  		}
  	}
  	return errors.Reason("builder %q not found", bid.Builder).Tag(grpcutil.NotFoundTag).Err()
  }
docs: // ensureDefined returns grpcutil.NotFoundTag tagged error if a builder is not
  // defined in its swarmbucket.