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

266 lines
9.8 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"
"git.kalinow.ski/nimbus/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"`
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 {
args = &ClusterGroupArgs{}
}
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"`
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
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"`
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
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 (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)
}
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{})
}