wip: init go provider
This commit is contained in:
406
sdk/go/incus/storageVolume.go
generated
Normal file
406
sdk/go/incus/storageVolume.go
generated
Normal file
@@ -0,0 +1,406 @@
|
||||
// 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 StorageVolume struct {
|
||||
pulumi.CustomResourceState
|
||||
|
||||
// *Optional* - Map of key/value pairs of
|
||||
// [volume config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).
|
||||
// Config settings vary depending on the Storage Pool used.
|
||||
Config pulumi.StringMapOutput `pulumi:"config"`
|
||||
// *Optional* - Volume content type (`filesystem` or `block`)
|
||||
ContentType pulumi.StringOutput `pulumi:"contentType"`
|
||||
// *Optional* - Description of the volume.
|
||||
Description pulumi.StringOutput `pulumi:"description"`
|
||||
// Name of the node where volume was created. It could be useful with Incus in cluster mode.
|
||||
Location pulumi.StringOutput `pulumi:"location"`
|
||||
// **Required** - Name of the storage volume.
|
||||
Name pulumi.StringOutput `pulumi:"name"`
|
||||
// **Required** - Name of storage pool to host the volume.
|
||||
Pool pulumi.StringOutput `pulumi:"pool"`
|
||||
// *Optional* - Name of the project where the volume will be stored.
|
||||
Project pulumi.StringOutput `pulumi:"project"`
|
||||
// *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"`
|
||||
// *Optional* - Path to a backup file from which the volume will be created.
|
||||
SourceFile pulumi.StringPtrOutput `pulumi:"sourceFile"`
|
||||
// *Optional* - The source volume from which the volume will be created. See reference below.
|
||||
SourceVolume StorageVolumeSourceVolumePtrOutput `pulumi:"sourceVolume"`
|
||||
// *Optional* - Specify a target node in a cluster.
|
||||
Target pulumi.StringOutput `pulumi:"target"`
|
||||
// *Optional* - The "type" of volume. The default value is `custom`,
|
||||
// which is the type to use for storage volumes attached to instances.
|
||||
Type pulumi.StringOutput `pulumi:"type"`
|
||||
}
|
||||
|
||||
// NewStorageVolume registers a new resource with the given unique name, arguments, and options.
|
||||
func NewStorageVolume(ctx *pulumi.Context,
|
||||
name string, args *StorageVolumeArgs, opts ...pulumi.ResourceOption) (*StorageVolume, error) {
|
||||
if args == nil {
|
||||
return nil, errors.New("missing one or more required arguments")
|
||||
}
|
||||
|
||||
if args.Pool == nil {
|
||||
return nil, errors.New("invalid value for required argument 'Pool'")
|
||||
}
|
||||
if args.Project == nil {
|
||||
args.Project = pulumi.StringPtr("default")
|
||||
}
|
||||
opts = internal.PkgResourceDefaultOpts(opts)
|
||||
var resource StorageVolume
|
||||
err := ctx.RegisterResource("incus:index/storageVolume:StorageVolume", name, args, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// GetStorageVolume gets an existing StorageVolume 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 GetStorageVolume(ctx *pulumi.Context,
|
||||
name string, id pulumi.IDInput, state *StorageVolumeState, opts ...pulumi.ResourceOption) (*StorageVolume, error) {
|
||||
var resource StorageVolume
|
||||
err := ctx.ReadResource("incus:index/storageVolume:StorageVolume", name, id, state, &resource, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resource, nil
|
||||
}
|
||||
|
||||
// Input properties used for looking up and filtering StorageVolume resources.
|
||||
type storageVolumeState struct {
|
||||
// *Optional* - Map of key/value pairs of
|
||||
// [volume config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).
|
||||
// Config settings vary depending on the Storage Pool used.
|
||||
Config map[string]string `pulumi:"config"`
|
||||
// *Optional* - Volume content type (`filesystem` or `block`)
|
||||
ContentType *string `pulumi:"contentType"`
|
||||
// *Optional* - Description of the volume.
|
||||
Description *string `pulumi:"description"`
|
||||
// Name of the node where volume was created. It could be useful with Incus in cluster mode.
|
||||
Location *string `pulumi:"location"`
|
||||
// **Required** - Name of the storage volume.
|
||||
Name *string `pulumi:"name"`
|
||||
// **Required** - Name of storage pool to host the volume.
|
||||
Pool *string `pulumi:"pool"`
|
||||
// *Optional* - Name of the project where the volume will be stored.
|
||||
Project *string `pulumi:"project"`
|
||||
// *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"`
|
||||
// *Optional* - Path to a backup file from which the volume will be created.
|
||||
SourceFile *string `pulumi:"sourceFile"`
|
||||
// *Optional* - The source volume from which the volume will be created. See reference below.
|
||||
SourceVolume *StorageVolumeSourceVolume `pulumi:"sourceVolume"`
|
||||
// *Optional* - Specify a target node in a cluster.
|
||||
Target *string `pulumi:"target"`
|
||||
// *Optional* - The "type" of volume. The default value is `custom`,
|
||||
// which is the type to use for storage volumes attached to instances.
|
||||
Type *string `pulumi:"type"`
|
||||
}
|
||||
|
||||
type StorageVolumeState struct {
|
||||
// *Optional* - Map of key/value pairs of
|
||||
// [volume config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).
|
||||
// Config settings vary depending on the Storage Pool used.
|
||||
Config pulumi.StringMapInput
|
||||
// *Optional* - Volume content type (`filesystem` or `block`)
|
||||
ContentType pulumi.StringPtrInput
|
||||
// *Optional* - Description of the volume.
|
||||
Description pulumi.StringPtrInput
|
||||
// Name of the node where volume was created. It could be useful with Incus in cluster mode.
|
||||
Location pulumi.StringPtrInput
|
||||
// **Required** - Name of the storage volume.
|
||||
Name pulumi.StringPtrInput
|
||||
// **Required** - Name of storage pool to host the volume.
|
||||
Pool pulumi.StringPtrInput
|
||||
// *Optional* - Name of the project where the volume will be stored.
|
||||
Project 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
|
||||
// *Optional* - Path to a backup file from which the volume will be created.
|
||||
SourceFile pulumi.StringPtrInput
|
||||
// *Optional* - The source volume from which the volume will be created. See reference below.
|
||||
SourceVolume StorageVolumeSourceVolumePtrInput
|
||||
// *Optional* - Specify a target node in a cluster.
|
||||
Target pulumi.StringPtrInput
|
||||
// *Optional* - The "type" of volume. The default value is `custom`,
|
||||
// which is the type to use for storage volumes attached to instances.
|
||||
Type pulumi.StringPtrInput
|
||||
}
|
||||
|
||||
func (StorageVolumeState) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*storageVolumeState)(nil)).Elem()
|
||||
}
|
||||
|
||||
type storageVolumeArgs struct {
|
||||
// *Optional* - Map of key/value pairs of
|
||||
// [volume config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).
|
||||
// Config settings vary depending on the Storage Pool used.
|
||||
Config map[string]string `pulumi:"config"`
|
||||
// *Optional* - Volume content type (`filesystem` or `block`)
|
||||
ContentType *string `pulumi:"contentType"`
|
||||
// *Optional* - Description of the volume.
|
||||
Description *string `pulumi:"description"`
|
||||
// **Required** - Name of the storage volume.
|
||||
Name *string `pulumi:"name"`
|
||||
// **Required** - Name of storage pool to host the volume.
|
||||
Pool string `pulumi:"pool"`
|
||||
// *Optional* - Name of the project where the volume will be stored.
|
||||
Project *string `pulumi:"project"`
|
||||
// *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"`
|
||||
// *Optional* - Path to a backup file from which the volume will be created.
|
||||
SourceFile *string `pulumi:"sourceFile"`
|
||||
// *Optional* - The source volume from which the volume will be created. See reference below.
|
||||
SourceVolume *StorageVolumeSourceVolume `pulumi:"sourceVolume"`
|
||||
// *Optional* - Specify a target node in a cluster.
|
||||
Target *string `pulumi:"target"`
|
||||
// *Optional* - The "type" of volume. The default value is `custom`,
|
||||
// which is the type to use for storage volumes attached to instances.
|
||||
Type *string `pulumi:"type"`
|
||||
}
|
||||
|
||||
// The set of arguments for constructing a StorageVolume resource.
|
||||
type StorageVolumeArgs struct {
|
||||
// *Optional* - Map of key/value pairs of
|
||||
// [volume config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).
|
||||
// Config settings vary depending on the Storage Pool used.
|
||||
Config pulumi.StringMapInput
|
||||
// *Optional* - Volume content type (`filesystem` or `block`)
|
||||
ContentType pulumi.StringPtrInput
|
||||
// *Optional* - Description of the volume.
|
||||
Description pulumi.StringPtrInput
|
||||
// **Required** - Name of the storage volume.
|
||||
Name pulumi.StringPtrInput
|
||||
// **Required** - Name of storage pool to host the volume.
|
||||
Pool pulumi.StringInput
|
||||
// *Optional* - Name of the project where the volume will be stored.
|
||||
Project 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
|
||||
// *Optional* - Path to a backup file from which the volume will be created.
|
||||
SourceFile pulumi.StringPtrInput
|
||||
// *Optional* - The source volume from which the volume will be created. See reference below.
|
||||
SourceVolume StorageVolumeSourceVolumePtrInput
|
||||
// *Optional* - Specify a target node in a cluster.
|
||||
Target pulumi.StringPtrInput
|
||||
// *Optional* - The "type" of volume. The default value is `custom`,
|
||||
// which is the type to use for storage volumes attached to instances.
|
||||
Type pulumi.StringPtrInput
|
||||
}
|
||||
|
||||
func (StorageVolumeArgs) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*storageVolumeArgs)(nil)).Elem()
|
||||
}
|
||||
|
||||
type StorageVolumeInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToStorageVolumeOutput() StorageVolumeOutput
|
||||
ToStorageVolumeOutputWithContext(ctx context.Context) StorageVolumeOutput
|
||||
}
|
||||
|
||||
func (*StorageVolume) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**StorageVolume)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i *StorageVolume) ToStorageVolumeOutput() StorageVolumeOutput {
|
||||
return i.ToStorageVolumeOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i *StorageVolume) ToStorageVolumeOutputWithContext(ctx context.Context) StorageVolumeOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(StorageVolumeOutput)
|
||||
}
|
||||
|
||||
// StorageVolumeArrayInput is an input type that accepts StorageVolumeArray and StorageVolumeArrayOutput values.
|
||||
// You can construct a concrete instance of `StorageVolumeArrayInput` via:
|
||||
//
|
||||
// StorageVolumeArray{ StorageVolumeArgs{...} }
|
||||
type StorageVolumeArrayInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToStorageVolumeArrayOutput() StorageVolumeArrayOutput
|
||||
ToStorageVolumeArrayOutputWithContext(context.Context) StorageVolumeArrayOutput
|
||||
}
|
||||
|
||||
type StorageVolumeArray []StorageVolumeInput
|
||||
|
||||
func (StorageVolumeArray) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*[]*StorageVolume)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i StorageVolumeArray) ToStorageVolumeArrayOutput() StorageVolumeArrayOutput {
|
||||
return i.ToStorageVolumeArrayOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i StorageVolumeArray) ToStorageVolumeArrayOutputWithContext(ctx context.Context) StorageVolumeArrayOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(StorageVolumeArrayOutput)
|
||||
}
|
||||
|
||||
// StorageVolumeMapInput is an input type that accepts StorageVolumeMap and StorageVolumeMapOutput values.
|
||||
// You can construct a concrete instance of `StorageVolumeMapInput` via:
|
||||
//
|
||||
// StorageVolumeMap{ "key": StorageVolumeArgs{...} }
|
||||
type StorageVolumeMapInput interface {
|
||||
pulumi.Input
|
||||
|
||||
ToStorageVolumeMapOutput() StorageVolumeMapOutput
|
||||
ToStorageVolumeMapOutputWithContext(context.Context) StorageVolumeMapOutput
|
||||
}
|
||||
|
||||
type StorageVolumeMap map[string]StorageVolumeInput
|
||||
|
||||
func (StorageVolumeMap) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*map[string]*StorageVolume)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (i StorageVolumeMap) ToStorageVolumeMapOutput() StorageVolumeMapOutput {
|
||||
return i.ToStorageVolumeMapOutputWithContext(context.Background())
|
||||
}
|
||||
|
||||
func (i StorageVolumeMap) ToStorageVolumeMapOutputWithContext(ctx context.Context) StorageVolumeMapOutput {
|
||||
return pulumi.ToOutputWithContext(ctx, i).(StorageVolumeMapOutput)
|
||||
}
|
||||
|
||||
type StorageVolumeOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (StorageVolumeOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((**StorageVolume)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o StorageVolumeOutput) ToStorageVolumeOutput() StorageVolumeOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o StorageVolumeOutput) ToStorageVolumeOutputWithContext(ctx context.Context) StorageVolumeOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
// *Optional* - Map of key/value pairs of
|
||||
// [volume config settings](https://linuxcontainers.org/incus/docs/main/reference/storage_drivers/).
|
||||
// Config settings vary depending on the Storage Pool used.
|
||||
func (o StorageVolumeOutput) Config() pulumi.StringMapOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) pulumi.StringMapOutput { return v.Config }).(pulumi.StringMapOutput)
|
||||
}
|
||||
|
||||
// *Optional* - Volume content type (`filesystem` or `block`)
|
||||
func (o StorageVolumeOutput) ContentType() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) pulumi.StringOutput { return v.ContentType }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// *Optional* - Description of the volume.
|
||||
func (o StorageVolumeOutput) Description() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// Name of the node where volume was created. It could be useful with Incus in cluster mode.
|
||||
func (o StorageVolumeOutput) Location() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) pulumi.StringOutput { return v.Location }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// **Required** - Name of the storage volume.
|
||||
func (o StorageVolumeOutput) Name() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// **Required** - Name of storage pool to host the volume.
|
||||
func (o StorageVolumeOutput) Pool() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) pulumi.StringOutput { return v.Pool }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// *Optional* - Name of the project where the volume will be stored.
|
||||
func (o StorageVolumeOutput) Project() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) pulumi.StringOutput { return v.Project }).(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 StorageVolumeOutput) Remote() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) pulumi.StringPtrOutput { return v.Remote }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// *Optional* - Path to a backup file from which the volume will be created.
|
||||
func (o StorageVolumeOutput) SourceFile() pulumi.StringPtrOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) pulumi.StringPtrOutput { return v.SourceFile }).(pulumi.StringPtrOutput)
|
||||
}
|
||||
|
||||
// *Optional* - The source volume from which the volume will be created. See reference below.
|
||||
func (o StorageVolumeOutput) SourceVolume() StorageVolumeSourceVolumePtrOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) StorageVolumeSourceVolumePtrOutput { return v.SourceVolume }).(StorageVolumeSourceVolumePtrOutput)
|
||||
}
|
||||
|
||||
// *Optional* - Specify a target node in a cluster.
|
||||
func (o StorageVolumeOutput) Target() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) pulumi.StringOutput { return v.Target }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
// *Optional* - The "type" of volume. The default value is `custom`,
|
||||
// which is the type to use for storage volumes attached to instances.
|
||||
func (o StorageVolumeOutput) Type() pulumi.StringOutput {
|
||||
return o.ApplyT(func(v *StorageVolume) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput)
|
||||
}
|
||||
|
||||
type StorageVolumeArrayOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (StorageVolumeArrayOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*[]*StorageVolume)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o StorageVolumeArrayOutput) ToStorageVolumeArrayOutput() StorageVolumeArrayOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o StorageVolumeArrayOutput) ToStorageVolumeArrayOutputWithContext(ctx context.Context) StorageVolumeArrayOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o StorageVolumeArrayOutput) Index(i pulumi.IntInput) StorageVolumeOutput {
|
||||
return pulumi.All(o, i).ApplyT(func(vs []interface{}) *StorageVolume {
|
||||
return vs[0].([]*StorageVolume)[vs[1].(int)]
|
||||
}).(StorageVolumeOutput)
|
||||
}
|
||||
|
||||
type StorageVolumeMapOutput struct{ *pulumi.OutputState }
|
||||
|
||||
func (StorageVolumeMapOutput) ElementType() reflect.Type {
|
||||
return reflect.TypeOf((*map[string]*StorageVolume)(nil)).Elem()
|
||||
}
|
||||
|
||||
func (o StorageVolumeMapOutput) ToStorageVolumeMapOutput() StorageVolumeMapOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o StorageVolumeMapOutput) ToStorageVolumeMapOutputWithContext(ctx context.Context) StorageVolumeMapOutput {
|
||||
return o
|
||||
}
|
||||
|
||||
func (o StorageVolumeMapOutput) MapIndex(k pulumi.StringInput) StorageVolumeOutput {
|
||||
return pulumi.All(o, k).ApplyT(func(vs []interface{}) *StorageVolume {
|
||||
return vs[0].(map[string]*StorageVolume)[vs[1].(string)]
|
||||
}).(StorageVolumeOutput)
|
||||
}
|
||||
|
||||
func init() {
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*StorageVolumeInput)(nil)).Elem(), &StorageVolume{})
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*StorageVolumeArrayInput)(nil)).Elem(), StorageVolumeArray{})
|
||||
pulumi.RegisterInputType(reflect.TypeOf((*StorageVolumeMapInput)(nil)).Elem(), StorageVolumeMap{})
|
||||
pulumi.RegisterOutputType(StorageVolumeOutput{})
|
||||
pulumi.RegisterOutputType(StorageVolumeArrayOutput{})
|
||||
pulumi.RegisterOutputType(StorageVolumeMapOutput{})
|
||||
}
|
||||
Reference in New Issue
Block a user