pulumi/pkg/resource/deploy/source_null.go
joeduffy f189c40f35 Wire up Lumi to the new runtime strategy
🔥 🔥 🔥  🔥 🔥 🔥

Getting closer on #311.
2017-09-04 11:35:21 -07:00

44 lines
1.1 KiB
Go

// Copyright 2016-2017, Pulumi Corporation. All rights reserved.
package deploy
import (
"github.com/pulumi/pulumi-fabric/pkg/tokens"
)
// NullSource is a singleton source that never returns any resources. This may be used in scenarios where the "new"
// version of the world is meant to be empty, either for testing purposes, or removal of an existing environment.
var NullSource Source = &nullSource{}
// A nullSource never returns any resources.
type nullSource struct {
}
func (src *nullSource) Close() error {
return nil // nothing to do.
}
func (src *nullSource) Pkg() tokens.PackageName {
return ""
}
func (src *nullSource) Info() interface{} {
return nil
}
func (src *nullSource) Iterate() (SourceIterator, error) {
return &nullSourceIterator{}, nil
}
// nullSourceIterator always returns nil, nil in response to Next, indicating that it is done.
type nullSourceIterator struct {
}
func (iter *nullSourceIterator) Close() error {
return nil // nothing to do.
}
func (iter *nullSourceIterator) Next() (SourceGoal, error) {
return nil, nil // means "done"
}