Initial commit
This commit is contained in:
2
sdk/go/xyz/doc.go
Normal file
2
sdk/go/xyz/doc.go
Normal file
@@ -0,0 +1,2 @@
|
||||
// Package xyz exports types, functions, subpackages for provisioning xyz resources.
|
||||
package xyz
|
||||
66
sdk/go/xyz/init.go
Normal file
66
sdk/go/xyz/init.go
Normal file
@@ -0,0 +1,66 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package xyz
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/blang/semver"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"internal"
|
||||
)
|
||||
|
||||
type module struct {
|
||||
version semver.Version
|
||||
}
|
||||
|
||||
func (m *module) Version() semver.Version {
|
||||
return m.version
|
||||
}
|
||||
|
||||
func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) {
|
||||
switch typ {
|
||||
case "xyz:index:Random":
|
||||
r = &Random{}
|
||||
default:
|
||||
return nil, fmt.Errorf("unknown resource type: %s", typ)
|
||||
}
|
||||
|
||||
err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
|
||||
return
|
||||
}
|
||||
|
||||
type pkg struct {
|
||||
version semver.Version
|
||||
}
|
||||
|
||||
func (p *pkg) Version() semver.Version {
|
||||
return p.version
|
||||
}
|
||||
|
||||
func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pulumi.ProviderResource, error) {
|
||||
if typ != "pulumi:providers:xyz" {
|
||||
return nil, fmt.Errorf("unknown provider type: %s", typ)
|
||||
}
|
||||
|
||||
r := &Provider{}
|
||||
err := ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
|
||||
return r, err
|
||||
}
|
||||
|
||||
func init() {
|
||||
version, err := internal.PkgVersion()
|
||||
if err != nil {
|
||||
version = semver.Version{Major: 1}
|
||||
}
|
||||
pulumi.RegisterResourceModule(
|
||||
"xyz",
|
||||
"index",
|
||||
&module{version},
|
||||
)
|
||||
pulumi.RegisterResourcePackage(
|
||||
"xyz",
|
||||
&pkg{version},
|
||||
)
|
||||
}
|
||||
113
sdk/go/xyz/internal/pulumiUtilities.go
Normal file
113
sdk/go/xyz/internal/pulumiUtilities.go
Normal file
@@ -0,0 +1,113 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package internal
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"reflect"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/blang/semver"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
)
|
||||
|
||||
type envParser func(v string) interface{}
|
||||
|
||||
func ParseEnvBool(v string) interface{} {
|
||||
b, err := strconv.ParseBool(v)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
func ParseEnvInt(v string) interface{} {
|
||||
i, err := strconv.ParseInt(v, 0, 0)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return int(i)
|
||||
}
|
||||
|
||||
func ParseEnvFloat(v string) interface{} {
|
||||
f, err := strconv.ParseFloat(v, 64)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return f
|
||||
}
|
||||
|
||||
func ParseEnvStringArray(v string) interface{} {
|
||||
var result pulumi.StringArray
|
||||
for _, item := range strings.Split(v, ";") {
|
||||
result = append(result, pulumi.String(item))
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func GetEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} {
|
||||
for _, v := range vars {
|
||||
if value, ok := os.LookupEnv(v); ok {
|
||||
if parser != nil {
|
||||
return parser(value)
|
||||
}
|
||||
return value
|
||||
}
|
||||
}
|
||||
return def
|
||||
}
|
||||
|
||||
// PkgVersion uses reflection to determine the version of the current package.
|
||||
// If a version cannot be determined, v1 will be assumed. The second return
|
||||
// value is always nil.
|
||||
func PkgVersion() (semver.Version, error) {
|
||||
// emptyVersion defaults to v0.0.0
|
||||
if !SdkVersion.Equals(semver.Version{}) {
|
||||
return SdkVersion, nil
|
||||
}
|
||||
type sentinal struct{}
|
||||
pkgPath := reflect.TypeOf(sentinal{}).PkgPath()
|
||||
re := regexp.MustCompile("^.*/pulumi-xyz/sdk(/v\\d+)?")
|
||||
if match := re.FindStringSubmatch(pkgPath); match != nil {
|
||||
vStr := match[1]
|
||||
if len(vStr) == 0 { // If the version capture group was empty, default to v1.
|
||||
return semver.Version{Major: 1}, nil
|
||||
}
|
||||
return semver.MustParse(fmt.Sprintf("%s.0.0", vStr[2:])), nil
|
||||
}
|
||||
return semver.Version{Major: 1}, nil
|
||||
}
|
||||
|
||||
// isZero is a null safe check for if a value is it's types zero value.
|
||||
func IsZero(v interface{}) bool {
|
||||
if v == nil {
|
||||
return true
|
||||
}
|
||||
return reflect.ValueOf(v).IsZero()
|
||||
}
|
||||
|
||||
// PkgResourceDefaultOpts provides package level defaults to pulumi.OptionResource.
|
||||
func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption {
|
||||
defaults := []pulumi.ResourceOption{}
|
||||
|
||||
version := SdkVersion
|
||||
if !version.Equals(semver.Version{}) {
|
||||
defaults = append(defaults, pulumi.Version(version.String()))
|
||||
}
|
||||
return append(defaults, opts...)
|
||||
}
|
||||
|
||||
// PkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke.
|
||||
func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption {
|
||||
defaults := []pulumi.InvokeOption{}
|
||||
|
||||
version := SdkVersion
|
||||
if !version.Equals(semver.Version{}) {
|
||||
defaults = append(defaults, pulumi.Version(version.String()))
|
||||
}
|
||||
return append(defaults, opts...)
|
||||
}
|
||||
11
sdk/go/xyz/internal/pulumiVersion.go
Normal file
11
sdk/go/xyz/internal/pulumiVersion.go
Normal file
@@ -0,0 +1,11 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package internal
|
||||
|
||||
import (
|
||||
"github.com/blang/semver"
|
||||
)
|
||||
|
||||
var SdkVersion semver.Version = semver.Version{}
|
||||
var pluginDownloadURL string = ""
|
||||
81
sdk/go/xyz/provider.go
Normal file
81
sdk/go/xyz/provider.go
Normal file
@@ -0,0 +1,81 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package xyz
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"internal"
|
||||
)
|
||||
|
||||
type Provider struct {
|
||||
pulumi.ProviderResourceState
|
||||
}
|
||||
|
||||
// NewProvider registers a new resource with the given unique name, arguments, and options.
|
||||
func NewProvider(ctx *pulumi.Context,
|
||||
name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) {
|
||||
if args == nil {
|
||||
args = &ProviderArgs{}
|
||||
}
|
||||
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource Provider
|
||||
err := ctx.RegisterResource("pulumi:providers:xyz", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
type providerArgs struct {
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a Provider resource.
|
||||
type ProviderArgs struct {
|
||||
}
|
||||
|
||||
func (ProviderArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*providerArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type ProviderInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToProviderOutput() ProviderOutput
|
||||
ToProviderOutputWithContext(ctx context.Context) ProviderOutput
|
||||
}
|
||||
|
||||
func (*Provider) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Provider)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *Provider) ToProviderOutput() ProviderOutput {
|
||||
return i.ToProviderOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput)
|
||||
}
|
||||
|
||||
type ProviderOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (ProviderOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Provider)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o ProviderOutput) ToProviderOutput() ProviderOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{})
|
||||
pulumi.RegisterOutputType(ProviderOutput{})
|
||||
}
|
||||
4
sdk/go/xyz/pulumi-plugin.json
Normal file
4
sdk/go/xyz/pulumi-plugin.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"resource": true,
|
||||
"name": "xyz"
|
||||
}
|
||||
121
sdk/go/xyz/random.go
Normal file
121
sdk/go/xyz/random.go
Normal file
@@ -0,0 +1,121 @@
|
||||
// Code generated by pulumi-language-go DO NOT EDIT.
|
||||
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
|
||||
|
||||
package xyz
|
||||
|
||||
import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
"errors"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||
"internal"
|
||||
)
|
||||
|
||||
type Random struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
Length pulumi.IntOutput `pulumi:"length"`
|
||||
Result pulumi.StringOutput `pulumi:"result"`
|
||||
}
|
||||
|
||||
// NewRandom registers a new resource with the given unique name, arguments, and options.
|
||||
func NewRandom(ctx *pulumi.Context,
|
||||
name string, args *RandomArgs, opts ...pulumi.ResourceOption) (*Random, error) {
|
||||
if args == nil {
|
||||
return nil, errors.New("missing one or more required arguments")
|
||||
}
|
||||
|
||||
if args.Length == nil {
|
||||
return nil, errors.New("invalid value for required argument 'Length'")
|
||||
}
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource Random
|
||||
err := ctx.RegisterResource("xyz:index:Random", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetRandom gets an existing Random resource's state with the given name, ID, and optional
|
||||
// state properties that are used to uniquely qualify the lookup (nil if not required).
|
||||
func GetRandom(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *RandomState, opts ...pulumi.ResourceOption) (*Random, error) {
|
||||
var resource Random
|
||||
err := ctx.ReadResource("xyz:index:Random", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering Random resources.
|
||||
type randomState struct {
|
||||
}
|
||||
|
||||
type RandomState struct {
|
||||
}
|
||||
|
||||
func (RandomState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*randomState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type randomArgs struct {
|
||||
Length int `pulumi:"length"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a Random resource.
|
||||
type RandomArgs struct {
|
||||
Length pulumi.IntInput
|
||||
}
|
||||
|
||||
func (RandomArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*randomArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type RandomInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToRandomOutput() RandomOutput
|
||||
ToRandomOutputWithContext(ctx context.Context) RandomOutput
|
||||
}
|
||||
|
||||
func (*Random) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Random)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *Random) ToRandomOutput() RandomOutput {
|
||||
return i.ToRandomOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *Random) ToRandomOutputWithContext(ctx context.Context) RandomOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(RandomOutput)
|
||||
}
|
||||
|
||||
type RandomOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (RandomOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**Random)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o RandomOutput) ToRandomOutput() RandomOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o RandomOutput) ToRandomOutputWithContext(ctx context.Context) RandomOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o RandomOutput) Length() pulumi.IntOutput {
|
||||
return o.ApplyT(func(v *Random) pulumi.IntOutput { return v.Length }).(pulumi.IntOutput)
|
||||
}
|
||||
|
||||
func (o RandomOutput) Result() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *Random) pulumi.StringOutput { return v.Result }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*RandomInput)(nil)).Elem(), &Random{})
|
||||
pulumi.RegisterOutputType(RandomOutput{})
|
||||
}
|
||||
Reference in New Issue
Block a user