// 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 incus import ( "context" "reflect" "errors" "git.kalinow.ski/kiterun/pulumi-incus/sdk/go/incus/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) type ClusterGroupMember 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"` } // NewClusterGroupMember registers a new resource with the given unique name, arguments, and options. func NewClusterGroupMember(ctx *pulumi.Context, name string, args *ClusterGroupMemberArgs, opts ...pulumi.ResourceOption) (*ClusterGroupMember, 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 ClusterGroupMember err := ctx.RegisterResource("incus:index/clusterGroupMember:ClusterGroupMember", name, args, &resource, opts...) if err != nil { return nil, err } return &resource, nil } // GetClusterGroupMember gets an existing ClusterGroupMember 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 GetClusterGroupMember(ctx *pulumi.Context, name string, id pulumi.IDInput, state *ClusterGroupMemberState, opts ...pulumi.ResourceOption) (*ClusterGroupMember, error) { var resource ClusterGroupMember err := ctx.ReadResource("incus:index/clusterGroupMember:ClusterGroupMember", name, id, state, &resource, opts...) if err != nil { return nil, err } return &resource, nil } // Input properties used for looking up and filtering ClusterGroupMember resources. type clusterGroupMemberState 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 ClusterGroupMemberState 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 (ClusterGroupMemberState) ElementType() reflect.Type { return reflect.TypeOf((*clusterGroupMemberState)(nil)).Elem() } type clusterGroupMemberArgs 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 ClusterGroupMember resource. type ClusterGroupMemberArgs 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 (ClusterGroupMemberArgs) ElementType() reflect.Type { return reflect.TypeOf((*clusterGroupMemberArgs)(nil)).Elem() } type ClusterGroupMemberInput interface { pulumi.Input ToClusterGroupMemberOutput() ClusterGroupMemberOutput ToClusterGroupMemberOutputWithContext(ctx context.Context) ClusterGroupMemberOutput } func (*ClusterGroupMember) ElementType() reflect.Type { return reflect.TypeOf((**ClusterGroupMember)(nil)).Elem() } func (i *ClusterGroupMember) ToClusterGroupMemberOutput() ClusterGroupMemberOutput { return i.ToClusterGroupMemberOutputWithContext(context.Background()) } func (i *ClusterGroupMember) ToClusterGroupMemberOutputWithContext(ctx context.Context) ClusterGroupMemberOutput { return pulumi.ToOutputWithContext(ctx, i).(ClusterGroupMemberOutput) } // ClusterGroupMemberArrayInput is an input type that accepts ClusterGroupMemberArray and ClusterGroupMemberArrayOutput values. // You can construct a concrete instance of `ClusterGroupMemberArrayInput` via: // // ClusterGroupMemberArray{ ClusterGroupMemberArgs{...} } type ClusterGroupMemberArrayInput interface { pulumi.Input ToClusterGroupMemberArrayOutput() ClusterGroupMemberArrayOutput ToClusterGroupMemberArrayOutputWithContext(context.Context) ClusterGroupMemberArrayOutput } type ClusterGroupMemberArray []ClusterGroupMemberInput func (ClusterGroupMemberArray) ElementType() reflect.Type { return reflect.TypeOf((*[]*ClusterGroupMember)(nil)).Elem() } func (i ClusterGroupMemberArray) ToClusterGroupMemberArrayOutput() ClusterGroupMemberArrayOutput { return i.ToClusterGroupMemberArrayOutputWithContext(context.Background()) } func (i ClusterGroupMemberArray) ToClusterGroupMemberArrayOutputWithContext(ctx context.Context) ClusterGroupMemberArrayOutput { return pulumi.ToOutputWithContext(ctx, i).(ClusterGroupMemberArrayOutput) } // ClusterGroupMemberMapInput is an input type that accepts ClusterGroupMemberMap and ClusterGroupMemberMapOutput values. // You can construct a concrete instance of `ClusterGroupMemberMapInput` via: // // ClusterGroupMemberMap{ "key": ClusterGroupMemberArgs{...} } type ClusterGroupMemberMapInput interface { pulumi.Input ToClusterGroupMemberMapOutput() ClusterGroupMemberMapOutput ToClusterGroupMemberMapOutputWithContext(context.Context) ClusterGroupMemberMapOutput } type ClusterGroupMemberMap map[string]ClusterGroupMemberInput func (ClusterGroupMemberMap) ElementType() reflect.Type { return reflect.TypeOf((*map[string]*ClusterGroupMember)(nil)).Elem() } func (i ClusterGroupMemberMap) ToClusterGroupMemberMapOutput() ClusterGroupMemberMapOutput { return i.ToClusterGroupMemberMapOutputWithContext(context.Background()) } func (i ClusterGroupMemberMap) ToClusterGroupMemberMapOutputWithContext(ctx context.Context) ClusterGroupMemberMapOutput { return pulumi.ToOutputWithContext(ctx, i).(ClusterGroupMemberMapOutput) } type ClusterGroupMemberOutput struct{ *pulumi.OutputState } func (ClusterGroupMemberOutput) ElementType() reflect.Type { return reflect.TypeOf((**ClusterGroupMember)(nil)).Elem() } func (o ClusterGroupMemberOutput) ToClusterGroupMemberOutput() ClusterGroupMemberOutput { return o } func (o ClusterGroupMemberOutput) ToClusterGroupMemberOutputWithContext(ctx context.Context) ClusterGroupMemberOutput { return o } // **Required** - Name of the cluster group. func (o ClusterGroupMemberOutput) ClusterGroup() pulumi.StringOutput { return o.ApplyT(func(v *ClusterGroupMember) pulumi.StringOutput { return v.ClusterGroup }).(pulumi.StringOutput) } // **Required** - Name of the cluster group member. func (o ClusterGroupMemberOutput) Member() pulumi.StringOutput { return o.ApplyT(func(v *ClusterGroupMember) 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 ClusterGroupMemberOutput) Remote() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterGroupMember) pulumi.StringPtrOutput { return v.Remote }).(pulumi.StringPtrOutput) } type ClusterGroupMemberArrayOutput struct{ *pulumi.OutputState } func (ClusterGroupMemberArrayOutput) ElementType() reflect.Type { return reflect.TypeOf((*[]*ClusterGroupMember)(nil)).Elem() } func (o ClusterGroupMemberArrayOutput) ToClusterGroupMemberArrayOutput() ClusterGroupMemberArrayOutput { return o } func (o ClusterGroupMemberArrayOutput) ToClusterGroupMemberArrayOutputWithContext(ctx context.Context) ClusterGroupMemberArrayOutput { return o } func (o ClusterGroupMemberArrayOutput) Index(i pulumi.IntInput) ClusterGroupMemberOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ClusterGroupMember { return vs[0].([]*ClusterGroupMember)[vs[1].(int)] }).(ClusterGroupMemberOutput) } type ClusterGroupMemberMapOutput struct{ *pulumi.OutputState } func (ClusterGroupMemberMapOutput) ElementType() reflect.Type { return reflect.TypeOf((*map[string]*ClusterGroupMember)(nil)).Elem() } func (o ClusterGroupMemberMapOutput) ToClusterGroupMemberMapOutput() ClusterGroupMemberMapOutput { return o } func (o ClusterGroupMemberMapOutput) ToClusterGroupMemberMapOutputWithContext(ctx context.Context) ClusterGroupMemberMapOutput { return o } func (o ClusterGroupMemberMapOutput) MapIndex(k pulumi.StringInput) ClusterGroupMemberOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ClusterGroupMember { return vs[0].(map[string]*ClusterGroupMember)[vs[1].(string)] }).(ClusterGroupMemberOutput) } func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterGroupMemberInput)(nil)).Elem(), &ClusterGroupMember{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterGroupMemberArrayInput)(nil)).Elem(), ClusterGroupMemberArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterGroupMemberMapInput)(nil)).Elem(), ClusterGroupMemberMap{}) pulumi.RegisterOutputType(ClusterGroupMemberOutput{}) pulumi.RegisterOutputType(ClusterGroupMemberArrayOutput{}) pulumi.RegisterOutputType(ClusterGroupMemberMapOutput{}) }