37 lines
771 B
Go
37 lines
771 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"github.com/pulumi/pulumi-linode/sdk/v3/go/linode"
|
||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
|
||
|
)
|
||
|
|
||
|
type Domain struct {
|
||
|
Name string
|
||
|
Description string
|
||
|
SoaEmail string
|
||
|
Tags []string
|
||
|
}
|
||
|
|
||
|
func domain(ctx *pulumi.Context) error {
|
||
|
var d Domain
|
||
|
|
||
|
cfg := config.New(ctx, "")
|
||
|
|
||
|
cfg.RequireObject("domain", &d)
|
||
|
|
||
|
domainArgs := linode.DomainArgs{
|
||
|
Description: pulumi.String(d.Description),
|
||
|
Type: pulumi.String("master"),
|
||
|
Domain: pulumi.String(d.Name),
|
||
|
SoaEmail: pulumi.String(d.SoaEmail),
|
||
|
Tags: pulumi.ToStringArray(d.Tags),
|
||
|
}
|
||
|
|
||
|
_, err := linode.NewDomain(ctx, d.Name, &domainArgs, pulumi.Protect(true))
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
return nil
|
||
|
}
|