Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Directory ¶
type Directory struct {
pulumi.ResourceState
Resources pulumi.Output
}
Directory is a component representing a collection of resources described by a kustomize directory (kustomization).
## Example Usage ### Local Kustomize Directory
```go package main
import (
"github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/kustomize" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := kustomize.NewDirectory(ctx, "helloWorldLocal",
kustomize.DirectoryArgs{
Directory: pulumi.String("./helloWorld"),
},
)
if err != nil {
return err
}
return nil
})
}
``` ### Kustomize Directory from a Git Repo
```go package main
import (
"github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/kustomize" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := kustomize.NewDirectory(ctx, "helloWorldRemote",
kustomize.DirectoryArgs{
Directory: pulumi.String("https://github.com/kubernetes-sigs/kustomize/tree/v3.3.1/examples/helloWorld"),
},
)
if err != nil {
return err
}
return nil
})
}
``` ### Kustomize Directory with Transformations
```go package main
import (
"github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/kustomize" "github.com/pulumi/pulumi-kubernetes/sdk/v4/go/kubernetes/yaml" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := kustomize.NewDirectory(ctx, "helloWorldRemote",
kustomize.DirectoryArgs{
Directory: pulumi.String("https://github.com/kubernetes-sigs/kustomize/tree/v3.3.1/examples/helloWorld"),
Transformations: []yaml.Transformation{
// Make every service private to the cluster, i.e., turn all services into ClusterIP
// instead of LoadBalancer.
func(state map[string]interface{}, opts ...pulumi.ResourceOption) {
if state["kind"] == "Service" {
spec := state["spec"].(map[string]interface{})
spec["type"] = "ClusterIP"
}
},
// Set a resource alias for a previous name.
func(state map[string]interface{}, opts ...pulumi.ResourceOption) {
if state["kind"] == "Deployment" {
aliases := pulumi.Aliases([]pulumi.Alias{
{
Name: pulumi.String("oldName"),
},
})
opts = append(opts, aliases)
}
},
// Omit a resource from the Chart by transforming the specified resource definition
// to an empty List.
func(state map[string]interface{}, opts ...pulumi.ResourceOption) {
name := state["metadata"].(map[string]interface{})["name"]
if state["kind"] == "Pod" && name == "test" {
state["apiVersion"] = "core/v1"
state["kind"] = "List"
}
},
},
},
)
if err != nil {
return err
}
return nil
})
}
```
func NewDirectory ¶
func NewDirectory(ctx *pulumi.Context, name string, args DirectoryArgs, opts ...pulumi.ResourceOption) (*Directory, error)
NewDirectory registers a new resource with the given unique name, arguments, and options.
type DirectoryArgs ¶
type DirectoryArgs struct {
// The directory containing the kustomization to apply. The value can be a local directory or a folder in a
// git repository.
// Example: ./helloWorld
// Example: https://github.com/kubernetes-sigs/kustomize/tree/master/examples/helloWorld
Directory pulumi.StringInput
// Transformations is an optional list of transformations to apply to Kubernetes resource definitions
// before registering with the engine.
Transformations []yaml.Transformation
// ResourcePrefix is an optional prefix for the auto-generated resource names. For example, a resource named `bar`
// created with resource prefix of `"foo"` would produce a resource named `"foo-bar"`.
ResourcePrefix string
}
DirectoryArgs specifies arguments for constructing a kustomize resource.
func (DirectoryArgs) ElementType ¶
func (DirectoryArgs) ElementType() reflect.Type
func (DirectoryArgs) ToDirectoryArgsOutput ¶
func (i DirectoryArgs) ToDirectoryArgsOutput() DirectoryArgsOutput
func (DirectoryArgs) ToDirectoryArgsOutputWithContext ¶
func (i DirectoryArgs) ToDirectoryArgsOutputWithContext(ctx context.Context) DirectoryArgsOutput
type DirectoryArgsInput ¶
type DirectoryArgsInput interface {
pulumi.Input
ToDirectoryArgsOutput() DirectoryArgsOutput
ToDirectoryArgsOutputWithContext(context.Context) DirectoryArgsOutput
}
type DirectoryArgsOutput ¶
type DirectoryArgsOutput struct{ *pulumi.OutputState }
func (DirectoryArgsOutput) ElementType ¶
func (DirectoryArgsOutput) ElementType() reflect.Type
func (DirectoryArgsOutput) ToDirectoryArgsOutput ¶
func (o DirectoryArgsOutput) ToDirectoryArgsOutput() DirectoryArgsOutput
func (DirectoryArgsOutput) ToDirectoryArgsOutputWithContext ¶
func (o DirectoryArgsOutput) ToDirectoryArgsOutputWithContext(ctx context.Context) DirectoryArgsOutput
Click to show internal directories.
Click to hide internal directories.