Files
pulumi-incus/sdk/go/incus/clusterGroupAssignment.go

258 lines
10 KiB
Go
Generated

// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
package incus
import (
"context"
"reflect"
"errors"
"git.kalinow.ski/nimbus/pulumi-incus/sdk/go/incus/internal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
type ClusterGroupAssignment struct {
pulumi.CustomResourceState
// **Required** - Name of the cluster group.
ClusterGroup pulumi.StringOutput `pulumi:"clusterGroup"`
// **Required** - Name of the cluster group member.
Member pulumi.StringOutput `pulumi:"member"`
// *Optional* - The remote in which the resource will be created. If
// not provided, the provider's default remote will be used.
Remote pulumi.StringPtrOutput `pulumi:"remote"`
}
// NewClusterGroupAssignment registers a new resource with the given unique name, arguments, and options.
func NewClusterGroupAssignment(ctx *pulumi.Context,
name string, args *ClusterGroupAssignmentArgs, opts ...pulumi.ResourceOption) (*ClusterGroupAssignment, error) {
if args == nil {
return nil, errors.New("missing one or more required arguments")
}
if args.ClusterGroup == nil {
return nil, errors.New("invalid value for required argument 'ClusterGroup'")
}
if args.Member == nil {
return nil, errors.New("invalid value for required argument 'Member'")
}
opts = internal.PkgResourceDefaultOpts(opts)
var resource ClusterGroupAssignment
err := ctx.RegisterResource("incus:index/clusterGroupAssignment:ClusterGroupAssignment", name, args, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// GetClusterGroupAssignment gets an existing ClusterGroupAssignment 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 GetClusterGroupAssignment(ctx *pulumi.Context,
name string, id pulumi.IDInput, state *ClusterGroupAssignmentState, opts ...pulumi.ResourceOption) (*ClusterGroupAssignment, error) {
var resource ClusterGroupAssignment
err := ctx.ReadResource("incus:index/clusterGroupAssignment:ClusterGroupAssignment", name, id, state, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// Input properties used for looking up and filtering ClusterGroupAssignment resources.
type clusterGroupAssignmentState struct {
// **Required** - Name of the cluster group.
ClusterGroup *string `pulumi:"clusterGroup"`
// **Required** - Name of the cluster group member.
Member *string `pulumi:"member"`
// *Optional* - The remote in which the resource will be created. If
// not provided, the provider's default remote will be used.
Remote *string `pulumi:"remote"`
}
type ClusterGroupAssignmentState struct {
// **Required** - Name of the cluster group.
ClusterGroup pulumi.StringPtrInput
// **Required** - Name of the cluster group member.
Member pulumi.StringPtrInput
// *Optional* - The remote in which the resource will be created. If
// not provided, the provider's default remote will be used.
Remote pulumi.StringPtrInput
}
func (ClusterGroupAssignmentState) ElementType() reflect.Type {
return reflect.TypeOf((*clusterGroupAssignmentState)(nil)).Elem()
}
type clusterGroupAssignmentArgs struct {
// **Required** - Name of the cluster group.
ClusterGroup string `pulumi:"clusterGroup"`
// **Required** - Name of the cluster group member.
Member string `pulumi:"member"`
// *Optional* - The remote in which the resource will be created. If
// not provided, the provider's default remote will be used.
Remote *string `pulumi:"remote"`
}
// The set of arguments for constructing a ClusterGroupAssignment resource.
type ClusterGroupAssignmentArgs struct {
// **Required** - Name of the cluster group.
ClusterGroup pulumi.StringInput
// **Required** - Name of the cluster group member.
Member pulumi.StringInput
// *Optional* - The remote in which the resource will be created. If
// not provided, the provider's default remote will be used.
Remote pulumi.StringPtrInput
}
func (ClusterGroupAssignmentArgs) ElementType() reflect.Type {
return reflect.TypeOf((*clusterGroupAssignmentArgs)(nil)).Elem()
}
type ClusterGroupAssignmentInput interface {
pulumi.Input
ToClusterGroupAssignmentOutput() ClusterGroupAssignmentOutput
ToClusterGroupAssignmentOutputWithContext(ctx context.Context) ClusterGroupAssignmentOutput
}
func (*ClusterGroupAssignment) ElementType() reflect.Type {
return reflect.TypeOf((**ClusterGroupAssignment)(nil)).Elem()
}
func (i *ClusterGroupAssignment) ToClusterGroupAssignmentOutput() ClusterGroupAssignmentOutput {
return i.ToClusterGroupAssignmentOutputWithContext(context.Background())
}
func (i *ClusterGroupAssignment) ToClusterGroupAssignmentOutputWithContext(ctx context.Context) ClusterGroupAssignmentOutput {
return pulumi.ToOutputWithContext(ctx, i).(ClusterGroupAssignmentOutput)
}
// ClusterGroupAssignmentArrayInput is an input type that accepts ClusterGroupAssignmentArray and ClusterGroupAssignmentArrayOutput values.
// You can construct a concrete instance of `ClusterGroupAssignmentArrayInput` via:
//
// ClusterGroupAssignmentArray{ ClusterGroupAssignmentArgs{...} }
type ClusterGroupAssignmentArrayInput interface {
pulumi.Input
ToClusterGroupAssignmentArrayOutput() ClusterGroupAssignmentArrayOutput
ToClusterGroupAssignmentArrayOutputWithContext(context.Context) ClusterGroupAssignmentArrayOutput
}
type ClusterGroupAssignmentArray []ClusterGroupAssignmentInput
func (ClusterGroupAssignmentArray) ElementType() reflect.Type {
return reflect.TypeOf((*[]*ClusterGroupAssignment)(nil)).Elem()
}
func (i ClusterGroupAssignmentArray) ToClusterGroupAssignmentArrayOutput() ClusterGroupAssignmentArrayOutput {
return i.ToClusterGroupAssignmentArrayOutputWithContext(context.Background())
}
func (i ClusterGroupAssignmentArray) ToClusterGroupAssignmentArrayOutputWithContext(ctx context.Context) ClusterGroupAssignmentArrayOutput {
return pulumi.ToOutputWithContext(ctx, i).(ClusterGroupAssignmentArrayOutput)
}
// ClusterGroupAssignmentMapInput is an input type that accepts ClusterGroupAssignmentMap and ClusterGroupAssignmentMapOutput values.
// You can construct a concrete instance of `ClusterGroupAssignmentMapInput` via:
//
// ClusterGroupAssignmentMap{ "key": ClusterGroupAssignmentArgs{...} }
type ClusterGroupAssignmentMapInput interface {
pulumi.Input
ToClusterGroupAssignmentMapOutput() ClusterGroupAssignmentMapOutput
ToClusterGroupAssignmentMapOutputWithContext(context.Context) ClusterGroupAssignmentMapOutput
}
type ClusterGroupAssignmentMap map[string]ClusterGroupAssignmentInput
func (ClusterGroupAssignmentMap) ElementType() reflect.Type {
return reflect.TypeOf((*map[string]*ClusterGroupAssignment)(nil)).Elem()
}
func (i ClusterGroupAssignmentMap) ToClusterGroupAssignmentMapOutput() ClusterGroupAssignmentMapOutput {
return i.ToClusterGroupAssignmentMapOutputWithContext(context.Background())
}
func (i ClusterGroupAssignmentMap) ToClusterGroupAssignmentMapOutputWithContext(ctx context.Context) ClusterGroupAssignmentMapOutput {
return pulumi.ToOutputWithContext(ctx, i).(ClusterGroupAssignmentMapOutput)
}
type ClusterGroupAssignmentOutput struct{ *pulumi.OutputState }
func (ClusterGroupAssignmentOutput) ElementType() reflect.Type {
return reflect.TypeOf((**ClusterGroupAssignment)(nil)).Elem()
}
func (o ClusterGroupAssignmentOutput) ToClusterGroupAssignmentOutput() ClusterGroupAssignmentOutput {
return o
}
func (o ClusterGroupAssignmentOutput) ToClusterGroupAssignmentOutputWithContext(ctx context.Context) ClusterGroupAssignmentOutput {
return o
}
// **Required** - Name of the cluster group.
func (o ClusterGroupAssignmentOutput) ClusterGroup() pulumi.StringOutput {
return o.ApplyT(func(v *ClusterGroupAssignment) pulumi.StringOutput { return v.ClusterGroup }).(pulumi.StringOutput)
}
// **Required** - Name of the cluster group member.
func (o ClusterGroupAssignmentOutput) Member() pulumi.StringOutput {
return o.ApplyT(func(v *ClusterGroupAssignment) pulumi.StringOutput { return v.Member }).(pulumi.StringOutput)
}
// *Optional* - The remote in which the resource will be created. If
// not provided, the provider's default remote will be used.
func (o ClusterGroupAssignmentOutput) Remote() pulumi.StringPtrOutput {
return o.ApplyT(func(v *ClusterGroupAssignment) pulumi.StringPtrOutput { return v.Remote }).(pulumi.StringPtrOutput)
}
type ClusterGroupAssignmentArrayOutput struct{ *pulumi.OutputState }
func (ClusterGroupAssignmentArrayOutput) ElementType() reflect.Type {
return reflect.TypeOf((*[]*ClusterGroupAssignment)(nil)).Elem()
}
func (o ClusterGroupAssignmentArrayOutput) ToClusterGroupAssignmentArrayOutput() ClusterGroupAssignmentArrayOutput {
return o
}
func (o ClusterGroupAssignmentArrayOutput) ToClusterGroupAssignmentArrayOutputWithContext(ctx context.Context) ClusterGroupAssignmentArrayOutput {
return o
}
func (o ClusterGroupAssignmentArrayOutput) Index(i pulumi.IntInput) ClusterGroupAssignmentOutput {
return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ClusterGroupAssignment {
return vs[0].([]*ClusterGroupAssignment)[vs[1].(int)]
}).(ClusterGroupAssignmentOutput)
}
type ClusterGroupAssignmentMapOutput struct{ *pulumi.OutputState }
func (ClusterGroupAssignmentMapOutput) ElementType() reflect.Type {
return reflect.TypeOf((*map[string]*ClusterGroupAssignment)(nil)).Elem()
}
func (o ClusterGroupAssignmentMapOutput) ToClusterGroupAssignmentMapOutput() ClusterGroupAssignmentMapOutput {
return o
}
func (o ClusterGroupAssignmentMapOutput) ToClusterGroupAssignmentMapOutputWithContext(ctx context.Context) ClusterGroupAssignmentMapOutput {
return o
}
func (o ClusterGroupAssignmentMapOutput) MapIndex(k pulumi.StringInput) ClusterGroupAssignmentOutput {
return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ClusterGroupAssignment {
return vs[0].(map[string]*ClusterGroupAssignment)[vs[1].(string)]
}).(ClusterGroupAssignmentOutput)
}
func init() {
pulumi.RegisterInputType(reflect.TypeOf((*ClusterGroupAssignmentInput)(nil)).Elem(), &ClusterGroupAssignment{})
pulumi.RegisterInputType(reflect.TypeOf((*ClusterGroupAssignmentArrayInput)(nil)).Elem(), ClusterGroupAssignmentArray{})
pulumi.RegisterInputType(reflect.TypeOf((*ClusterGroupAssignmentMapInput)(nil)).Elem(), ClusterGroupAssignmentMap{})
pulumi.RegisterOutputType(ClusterGroupAssignmentOutput{})
pulumi.RegisterOutputType(ClusterGroupAssignmentArrayOutput{})
pulumi.RegisterOutputType(ClusterGroupAssignmentMapOutput{})
}