pulumi/pkg/resource/deploy/source_null.go

44 lines
1.1 KiB
Go
Raw Normal View History

2017-06-26 23:46:34 +02:00
// Copyright 2016-2017, Pulumi Corporation. All rights reserved.
package deploy
import (
"github.com/pulumi/pulumi/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(opts Options) (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"
}