Documentation
¶
Overview ¶
Package outputs contains lightweight output structs for scenarios. These structs only contain *Output types and have no test client dependencies. Use these in Run functions to avoid pulling in heavy test dependencies.
The testing layer (environments package) embeds these outputs and adds client functionality on top. This separation ensures that running scenarios via pulumi doesn't pull in test framework dependencies like testify, k8s client, etc.
package outputs contains the output types for the scenarios. This packageshould be very similar to the environments defined in the testing/environments package. The main difference is that these structs should not contain any dependency to clients that are actually used inside the tests. The goal is to allow the use of scenarios without pulling all the test client dependencies, scenarios for local and testing were first merged without that abstraction. But it lead to unnecesarily increasing the build time of the Pulumi binaries when running them locally, because pulling client used in test pull a lot of dependencies, especially zstd due to the usage of agent payload in the fakeintake client.
Index ¶
- type DockerHost
- func (h *DockerHost) DisableAgent()
- func (h *DockerHost) DisableFakeIntake()
- func (h *DockerHost) DockerAgentOutput() *agent.DockerAgentOutput
- func (h *DockerHost) DockerOutput() *docker.ManagerOutput
- func (h *DockerHost) FakeIntakeOutput() *fakeintake.FakeintakeOutput
- func (h *DockerHost) RemoteHostOutput() *remote.HostOutput
- type DockerHostOutputs
- type ECS
- type ECSOutputs
- type Host
- func (h *Host) AgentOutput() *agent.HostAgentOutput
- func (h *Host) DisableAgent()
- func (h *Host) DisableFakeIntake()
- func (h *Host) DisableUpdater()
- func (h *Host) FakeIntakeOutput() *fakeintake.FakeintakeOutput
- func (h *Host) RemoteHostOutput() *remote.HostOutput
- func (h *Host) SetAgentClientOptions(options ...agentclientparams.Option)
- func (h *Host) UpdaterOutput() *updater.HostUpdaterOutput
- type HostOutputs
- type Kubernetes
- type KubernetesOutputs
- type WindowsHost
- func (h *WindowsHost) ActiveDirectoryOutput() *activedirectory.Output
- func (h *WindowsHost) AgentOutput() *agent.HostAgentOutput
- func (h *WindowsHost) DisableActiveDirectory()
- func (h *WindowsHost) DisableAgent()
- func (h *WindowsHost) DisableFakeIntake()
- func (h *WindowsHost) FakeIntakeOutput() *fakeintake.FakeintakeOutput
- func (h *WindowsHost) RemoteHostOutput() *remote.HostOutput
- func (h *WindowsHost) SetAgentClientOptions(options ...agentclientparams.Option)
- func (h *WindowsHost) SetEnvironment(env config.Env)
- type WindowsHostOutputs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DockerHost ¶
type DockerHost struct {
RemoteHost *remote.HostOutput
FakeIntake *fakeintake.FakeintakeOutput
Agent *agent.DockerAgentOutput
Docker *docker.ManagerOutput
}
DockerHost contains the outputs for a DockerHost environment.
func NewDockerHost ¶
func NewDockerHost() *DockerHost
NewDockerHost creates a new DockerHost output struct with all fields initialized.
func (*DockerHost) DisableAgent ¶
func (h *DockerHost) DisableAgent()
DisableAgent marks Agent as not provisioned (sets to nil)
func (*DockerHost) DisableFakeIntake ¶
func (h *DockerHost) DisableFakeIntake()
DisableFakeIntake marks FakeIntake as not provisioned (sets to nil)
func (*DockerHost) DockerAgentOutput ¶
func (h *DockerHost) DockerAgentOutput() *agent.DockerAgentOutput
DockerAgentOutput returns the Docker agent output for exporting (may be nil)
func (*DockerHost) DockerOutput ¶
func (h *DockerHost) DockerOutput() *docker.ManagerOutput
DockerOutput returns the Docker manager output for exporting
func (*DockerHost) FakeIntakeOutput ¶
func (h *DockerHost) FakeIntakeOutput() *fakeintake.FakeintakeOutput
FakeIntakeOutput returns the fakeintake output for exporting (may be nil)
func (*DockerHost) RemoteHostOutput ¶
func (h *DockerHost) RemoteHostOutput() *remote.HostOutput
RemoteHostOutput returns the remote host output for exporting
type DockerHostOutputs ¶
type DockerHostOutputs interface {
RemoteHostOutput() *remote.HostOutput
FakeIntakeOutput() *fakeintake.FakeintakeOutput
DockerAgentOutput() *agent.DockerAgentOutput
DockerOutput() *docker.ManagerOutput
DisableFakeIntake()
DisableAgent()
}
DockerHostOutputs is the interface for DockerHost environment outputs.
type ECS ¶
type ECS struct {
ECSCluster *ecs.ClusterOutput
FakeIntake *fakeintake.FakeintakeOutput
}
ECS contains the outputs for an ECS environment.
func NewECS ¶
func NewECS() *ECS
NewECS creates a new ECS output struct with all fields initialized.
func (*ECS) DisableFakeIntake ¶
func (e *ECS) DisableFakeIntake()
DisableFakeIntake marks FakeIntake as not provisioned (sets to nil)
func (*ECS) ECSClusterOutput ¶
func (e *ECS) ECSClusterOutput() *ecs.ClusterOutput
ECSClusterOutput returns the ECS cluster output for exporting
func (*ECS) FakeIntakeOutput ¶
func (e *ECS) FakeIntakeOutput() *fakeintake.FakeintakeOutput
FakeIntakeOutput returns the fakeintake output for exporting (may be nil)
type ECSOutputs ¶
type ECSOutputs interface {
ECSClusterOutput() *ecs.ClusterOutput
FakeIntakeOutput() *fakeintake.FakeintakeOutput
DisableFakeIntake()
}
ECSOutputs is the interface for ECS environment outputs.
type Host ¶
type Host struct {
RemoteHost *remote.HostOutput
FakeIntake *fakeintake.FakeintakeOutput
Agent *agent.HostAgentOutput
Updater *updater.HostUpdaterOutput
}
Host contains the outputs for a Host environment. This struct is lightweight and does not import test client dependencies.
func NewHost ¶
func NewHost() *Host
NewHost creates a new Host output struct with all fields initialized.
func (*Host) AgentOutput ¶
func (h *Host) AgentOutput() *agent.HostAgentOutput
AgentOutput returns the agent output for exporting (may be nil)
func (*Host) DisableAgent ¶
func (h *Host) DisableAgent()
DisableAgent marks Agent as not provisioned (sets to nil)
func (*Host) DisableFakeIntake ¶
func (h *Host) DisableFakeIntake()
DisableFakeIntake marks FakeIntake as not provisioned (sets to nil)
func (*Host) DisableUpdater ¶
func (h *Host) DisableUpdater()
DisableUpdater marks Updater as not provisioned (sets to nil)
func (*Host) FakeIntakeOutput ¶
func (h *Host) FakeIntakeOutput() *fakeintake.FakeintakeOutput
FakeIntakeOutput returns the fakeintake output for exporting (may be nil)
func (*Host) RemoteHostOutput ¶
func (h *Host) RemoteHostOutput() *remote.HostOutput
RemoteHostOutput returns the remote host output for exporting
func (*Host) SetAgentClientOptions ¶
func (h *Host) SetAgentClientOptions(options ...agentclientparams.Option)
SetAgentClientOptions sets the agent client options
func (*Host) UpdaterOutput ¶
func (h *Host) UpdaterOutput() *updater.HostUpdaterOutput
UpdaterOutput returns the updater output for exporting (may be nil)
type HostOutputs ¶
type HostOutputs interface {
RemoteHostOutput() *remote.HostOutput
FakeIntakeOutput() *fakeintake.FakeintakeOutput
AgentOutput() *agent.HostAgentOutput
UpdaterOutput() *updater.HostUpdaterOutput
DisableFakeIntake()
DisableAgent()
DisableUpdater()
SetAgentClientOptions(options ...agentclientparams.Option)
}
HostOutputs is the interface that both outputs.Host and environments.Host implement. This allows Run functions to accept either type, enabling: - Scenarios (main.go) to use lightweight outputs.Host without test dependencies - Provisioners (test code) to use environments.Host with full client support
type Kubernetes ¶
type Kubernetes struct {
KubernetesCluster *kubernetes.ClusterOutput
FakeIntake *fakeintake.FakeintakeOutput
Agent *agent.KubernetesAgentOutput
}
Kubernetes contains the outputs for a Kubernetes environment.
func NewKubernetes ¶
func NewKubernetes() *Kubernetes
NewKubernetes creates a new Kubernetes output struct with all fields initialized.
func (*Kubernetes) DisableAgent ¶
func (k *Kubernetes) DisableAgent()
DisableAgent marks Agent as not provisioned (sets to nil)
func (*Kubernetes) DisableFakeIntake ¶
func (k *Kubernetes) DisableFakeIntake()
DisableFakeIntake marks FakeIntake as not provisioned (sets to nil)
func (*Kubernetes) FakeIntakeOutput ¶
func (k *Kubernetes) FakeIntakeOutput() *fakeintake.FakeintakeOutput
FakeIntakeOutput returns the fakeintake output for exporting (may be nil)
func (*Kubernetes) KubernetesAgentOutput ¶
func (k *Kubernetes) KubernetesAgentOutput() *agent.KubernetesAgentOutput
KubernetesAgentOutput returns the Kubernetes agent output for exporting (may be nil)
func (*Kubernetes) KubernetesClusterOutput ¶
func (k *Kubernetes) KubernetesClusterOutput() *kubernetes.ClusterOutput
KubernetesClusterOutput returns the Kubernetes cluster output for exporting
type KubernetesOutputs ¶
type KubernetesOutputs interface {
KubernetesClusterOutput() *kubernetes.ClusterOutput
FakeIntakeOutput() *fakeintake.FakeintakeOutput
KubernetesAgentOutput() *agent.KubernetesAgentOutput
DisableFakeIntake()
DisableAgent()
}
KubernetesOutputs is the interface for Kubernetes environment outputs. It is shared across different Kubernetes-based scenarios (EKS, KIND, etc.).
type WindowsHost ¶
type WindowsHost struct {
RemoteHost *remote.HostOutput
FakeIntake *fakeintake.FakeintakeOutput
Agent *agent.HostAgentOutput
ActiveDirectory *activedirectory.Output
}
WindowsHost contains the outputs for a WindowsHost environment.
func NewWindowsHost ¶
func NewWindowsHost() *WindowsHost
NewWindowsHost creates a new WindowsHost output struct with all fields initialized.
func (*WindowsHost) ActiveDirectoryOutput ¶
func (h *WindowsHost) ActiveDirectoryOutput() *activedirectory.Output
ActiveDirectoryOutput returns the ActiveDirectory output for exporting (may be nil)
func (*WindowsHost) AgentOutput ¶
func (h *WindowsHost) AgentOutput() *agent.HostAgentOutput
AgentOutput returns the agent output for exporting (may be nil)
func (*WindowsHost) DisableActiveDirectory ¶
func (h *WindowsHost) DisableActiveDirectory()
DisableActiveDirectory marks ActiveDirectory as not provisioned (sets to nil)
func (*WindowsHost) DisableAgent ¶
func (h *WindowsHost) DisableAgent()
DisableAgent marks Agent as not provisioned (sets to nil)
func (*WindowsHost) DisableFakeIntake ¶
func (h *WindowsHost) DisableFakeIntake()
DisableFakeIntake marks FakeIntake as not provisioned (sets to nil)
func (*WindowsHost) FakeIntakeOutput ¶
func (h *WindowsHost) FakeIntakeOutput() *fakeintake.FakeintakeOutput
FakeIntakeOutput returns the fakeintake output for exporting (may be nil)
func (*WindowsHost) RemoteHostOutput ¶
func (h *WindowsHost) RemoteHostOutput() *remote.HostOutput
RemoteHostOutput returns the remote host output for exporting
func (*WindowsHost) SetAgentClientOptions ¶
func (h *WindowsHost) SetAgentClientOptions(options ...agentclientparams.Option)
SetAgentClientOptions sets the agent client options
func (*WindowsHost) SetEnvironment ¶
func (h *WindowsHost) SetEnvironment(env config.Env)
SetEnvironment is a no-op for outputs (only used in test environments)
type WindowsHostOutputs ¶
type WindowsHostOutputs interface {
RemoteHostOutput() *remote.HostOutput
FakeIntakeOutput() *fakeintake.FakeintakeOutput
AgentOutput() *agent.HostAgentOutput
ActiveDirectoryOutput() *activedirectory.Output
DisableFakeIntake()
DisableAgent()
DisableActiveDirectory()
SetAgentClientOptions(options ...agentclientparams.Option)
SetEnvironment(env config.Env)
}
WindowsHostOutputs is the interface for WindowsHost environment outputs.