// 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 ClusterGroup struct { pulumi.CustomResourceState // *Optional* - Map of key/value pairs of // [cluster group config settings](https://linuxcontainers.org/incus/docs/main/howto/cluster_groups/#configuration-options). Config pulumi.StringMapOutput `pulumi:"config"` // *Optional* - Description of the cluster group. Description pulumi.StringOutput `pulumi:"description"` // **Required** - Name of the cluster group. Name pulumi.StringOutput `pulumi:"name"` // *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"` } // NewClusterGroup registers a new resource with the given unique name, arguments, and options. func NewClusterGroup(ctx *pulumi.Context, name string, args *ClusterGroupArgs, opts ...pulumi.ResourceOption) (*ClusterGroup, error) { if args == nil { return nil, errors.New("missing one or more required arguments") } if args.Name == nil { return nil, errors.New("invalid value for required argument 'Name'") } opts = internal.PkgResourceDefaultOpts(opts) var resource ClusterGroup err := ctx.RegisterResource("incus:index/clusterGroup:ClusterGroup", name, args, &resource, opts...) if err != nil { return nil, err } return &resource, nil } // GetClusterGroup gets an existing ClusterGroup 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 GetClusterGroup(ctx *pulumi.Context, name string, id pulumi.IDInput, state *ClusterGroupState, opts ...pulumi.ResourceOption) (*ClusterGroup, error) { var resource ClusterGroup err := ctx.ReadResource("incus:index/clusterGroup:ClusterGroup", name, id, state, &resource, opts...) if err != nil { return nil, err } return &resource, nil } // Input properties used for looking up and filtering ClusterGroup resources. type clusterGroupState struct { // *Optional* - Map of key/value pairs of // [cluster group config settings](https://linuxcontainers.org/incus/docs/main/howto/cluster_groups/#configuration-options). Config map[string]string `pulumi:"config"` // *Optional* - Description of the cluster group. Description *string `pulumi:"description"` // **Required** - Name of the cluster group. Name *string `pulumi:"name"` // *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 ClusterGroupState struct { // *Optional* - Map of key/value pairs of // [cluster group config settings](https://linuxcontainers.org/incus/docs/main/howto/cluster_groups/#configuration-options). Config pulumi.StringMapInput // *Optional* - Description of the cluster group. Description pulumi.StringPtrInput // **Required** - Name of the cluster group. Name 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 (ClusterGroupState) ElementType() reflect.Type { return reflect.TypeOf((*clusterGroupState)(nil)).Elem() } type clusterGroupArgs struct { // *Optional* - Map of key/value pairs of // [cluster group config settings](https://linuxcontainers.org/incus/docs/main/howto/cluster_groups/#configuration-options). Config map[string]string `pulumi:"config"` // *Optional* - Description of the cluster group. Description *string `pulumi:"description"` // **Required** - Name of the cluster group. Name string `pulumi:"name"` // *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 ClusterGroup resource. type ClusterGroupArgs struct { // *Optional* - Map of key/value pairs of // [cluster group config settings](https://linuxcontainers.org/incus/docs/main/howto/cluster_groups/#configuration-options). Config pulumi.StringMapInput // *Optional* - Description of the cluster group. Description pulumi.StringPtrInput // **Required** - Name of the cluster group. Name 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 (ClusterGroupArgs) ElementType() reflect.Type { return reflect.TypeOf((*clusterGroupArgs)(nil)).Elem() } type ClusterGroupInput interface { pulumi.Input ToClusterGroupOutput() ClusterGroupOutput ToClusterGroupOutputWithContext(ctx context.Context) ClusterGroupOutput } func (*ClusterGroup) ElementType() reflect.Type { return reflect.TypeOf((**ClusterGroup)(nil)).Elem() } func (i *ClusterGroup) ToClusterGroupOutput() ClusterGroupOutput { return i.ToClusterGroupOutputWithContext(context.Background()) } func (i *ClusterGroup) ToClusterGroupOutputWithContext(ctx context.Context) ClusterGroupOutput { return pulumi.ToOutputWithContext(ctx, i).(ClusterGroupOutput) } // ClusterGroupArrayInput is an input type that accepts ClusterGroupArray and ClusterGroupArrayOutput values. // You can construct a concrete instance of `ClusterGroupArrayInput` via: // // ClusterGroupArray{ ClusterGroupArgs{...} } type ClusterGroupArrayInput interface { pulumi.Input ToClusterGroupArrayOutput() ClusterGroupArrayOutput ToClusterGroupArrayOutputWithContext(context.Context) ClusterGroupArrayOutput } type ClusterGroupArray []ClusterGroupInput func (ClusterGroupArray) ElementType() reflect.Type { return reflect.TypeOf((*[]*ClusterGroup)(nil)).Elem() } func (i ClusterGroupArray) ToClusterGroupArrayOutput() ClusterGroupArrayOutput { return i.ToClusterGroupArrayOutputWithContext(context.Background()) } func (i ClusterGroupArray) ToClusterGroupArrayOutputWithContext(ctx context.Context) ClusterGroupArrayOutput { return pulumi.ToOutputWithContext(ctx, i).(ClusterGroupArrayOutput) } // ClusterGroupMapInput is an input type that accepts ClusterGroupMap and ClusterGroupMapOutput values. // You can construct a concrete instance of `ClusterGroupMapInput` via: // // ClusterGroupMap{ "key": ClusterGroupArgs{...} } type ClusterGroupMapInput interface { pulumi.Input ToClusterGroupMapOutput() ClusterGroupMapOutput ToClusterGroupMapOutputWithContext(context.Context) ClusterGroupMapOutput } type ClusterGroupMap map[string]ClusterGroupInput func (ClusterGroupMap) ElementType() reflect.Type { return reflect.TypeOf((*map[string]*ClusterGroup)(nil)).Elem() } func (i ClusterGroupMap) ToClusterGroupMapOutput() ClusterGroupMapOutput { return i.ToClusterGroupMapOutputWithContext(context.Background()) } func (i ClusterGroupMap) ToClusterGroupMapOutputWithContext(ctx context.Context) ClusterGroupMapOutput { return pulumi.ToOutputWithContext(ctx, i).(ClusterGroupMapOutput) } type ClusterGroupOutput struct{ *pulumi.OutputState } func (ClusterGroupOutput) ElementType() reflect.Type { return reflect.TypeOf((**ClusterGroup)(nil)).Elem() } func (o ClusterGroupOutput) ToClusterGroupOutput() ClusterGroupOutput { return o } func (o ClusterGroupOutput) ToClusterGroupOutputWithContext(ctx context.Context) ClusterGroupOutput { return o } // *Optional* - Map of key/value pairs of // [cluster group config settings](https://linuxcontainers.org/incus/docs/main/howto/cluster_groups/#configuration-options). func (o ClusterGroupOutput) Config() pulumi.StringMapOutput { return o.ApplyT(func(v *ClusterGroup) pulumi.StringMapOutput { return v.Config }).(pulumi.StringMapOutput) } // *Optional* - Description of the cluster group. func (o ClusterGroupOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *ClusterGroup) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } // **Required** - Name of the cluster group. func (o ClusterGroupOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *ClusterGroup) pulumi.StringOutput { return v.Name }).(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 ClusterGroupOutput) Remote() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterGroup) pulumi.StringPtrOutput { return v.Remote }).(pulumi.StringPtrOutput) } type ClusterGroupArrayOutput struct{ *pulumi.OutputState } func (ClusterGroupArrayOutput) ElementType() reflect.Type { return reflect.TypeOf((*[]*ClusterGroup)(nil)).Elem() } func (o ClusterGroupArrayOutput) ToClusterGroupArrayOutput() ClusterGroupArrayOutput { return o } func (o ClusterGroupArrayOutput) ToClusterGroupArrayOutputWithContext(ctx context.Context) ClusterGroupArrayOutput { return o } func (o ClusterGroupArrayOutput) Index(i pulumi.IntInput) ClusterGroupOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ClusterGroup { return vs[0].([]*ClusterGroup)[vs[1].(int)] }).(ClusterGroupOutput) } type ClusterGroupMapOutput struct{ *pulumi.OutputState } func (ClusterGroupMapOutput) ElementType() reflect.Type { return reflect.TypeOf((*map[string]*ClusterGroup)(nil)).Elem() } func (o ClusterGroupMapOutput) ToClusterGroupMapOutput() ClusterGroupMapOutput { return o } func (o ClusterGroupMapOutput) ToClusterGroupMapOutputWithContext(ctx context.Context) ClusterGroupMapOutput { return o } func (o ClusterGroupMapOutput) MapIndex(k pulumi.StringInput) ClusterGroupOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ClusterGroup { return vs[0].(map[string]*ClusterGroup)[vs[1].(string)] }).(ClusterGroupOutput) } func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterGroupInput)(nil)).Elem(), &ClusterGroup{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterGroupArrayInput)(nil)).Elem(), ClusterGroupArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterGroupMapInput)(nil)).Elem(), ClusterGroupMap{}) pulumi.RegisterOutputType(ClusterGroupOutput{}) pulumi.RegisterOutputType(ClusterGroupArrayOutput{}) pulumi.RegisterOutputType(ClusterGroupMapOutput{}) }