// 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/kiterun/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{}) }