filestore

package
v6.67.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 4, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Backup added in v6.46.0

type Backup struct {
	pulumi.CustomResourceState

	// The amount of bytes needed to allocate a full copy of the snapshot content.
	CapacityGb pulumi.StringOutput `pulumi:"capacityGb"`
	// The time when the snapshot was created in RFC3339 text format.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Amount of bytes that will be downloaded if the backup is restored.
	DownloadBytes pulumi.StringOutput `pulumi:"downloadBytes"`
	// KMS key name used for data encryption.
	KmsKeyName pulumi.StringOutput `pulumi:"kmsKeyName"`
	// Resource labels to represent user-provided metadata.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
	//
	// ***
	Location pulumi.StringOutput `pulumi:"location"`
	// The resource name of the backup. The name must be unique within the specified instance.
	// The name must be 1-63 characters long, and comply with
	// RFC1035. Specifically, the name must be 1-63 characters long and match
	// the regular expression `a-z?` which means the
	// first character must be a lowercase letter, and all following
	// characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// Name of the file share in the source Cloud Filestore instance that the backup is created from.
	SourceFileShare pulumi.StringOutput `pulumi:"sourceFileShare"`
	// The resource name of the source Cloud Filestore instance, in the format projects/{projectId}/locations/{locationId}/instances/{instanceId}, used to create this backup.
	SourceInstance pulumi.StringOutput `pulumi:"sourceInstance"`
	// The service tier of the source Cloud Filestore instance that this backup is created from.
	SourceInstanceTier pulumi.StringOutput `pulumi:"sourceInstanceTier"`
	// The backup state.
	State pulumi.StringOutput `pulumi:"state"`
	// The size of the storage used by the backup. As backups share storage, this number is expected to change with backup creation/deletion.
	StorageBytes pulumi.StringOutput `pulumi:"storageBytes"`
}

A Google Cloud Filestore backup.

To get more information about Backup, see:

* [API documentation](https://cloud.google.com/filestore/docs/reference/rest/v1/projects.locations.instances.backups) * How-to Guides

## Example Usage ### Filestore Backup Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/filestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := filestore.NewInstance(ctx, "instance", &filestore.InstanceArgs{
			Location: pulumi.String("us-central1-b"),
			Tier:     pulumi.String("BASIC_HDD"),
			FileShares: &filestore.InstanceFileSharesArgs{
				CapacityGb: pulumi.Int(1024),
				Name:       pulumi.String("share1"),
			},
			Networks: filestore.InstanceNetworkArray{
				&filestore.InstanceNetworkArgs{
					Network: pulumi.String("default"),
					Modes: pulumi.StringArray{
						pulumi.String("MODE_IPV4"),
					},
					ConnectMode: pulumi.String("DIRECT_PEERING"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = filestore.NewBackup(ctx, "backup", &filestore.BackupArgs{
			Location:        pulumi.String("us-central1"),
			Description:     pulumi.String("This is a filestore backup for the test instance"),
			SourceInstance:  instance.ID(),
			SourceFileShare: pulumi.String("share1"),
			Labels: pulumi.StringMap{
				"files":       pulumi.String("label1"),
				"other-label": pulumi.String("label2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Backup can be imported using any of these accepted formats

```sh

$ pulumi import gcp:filestore/backup:Backup default projects/{{project}}/locations/{{location}}/backups/{{name}}

```

```sh

$ pulumi import gcp:filestore/backup:Backup default {{project}}/{{location}}/{{name}}

```

```sh

$ pulumi import gcp:filestore/backup:Backup default {{location}}/{{name}}

```

func GetBackup added in v6.46.0

func GetBackup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupState, opts ...pulumi.ResourceOption) (*Backup, error)

GetBackup gets an existing Backup 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 NewBackup added in v6.46.0

func NewBackup(ctx *pulumi.Context,
	name string, args *BackupArgs, opts ...pulumi.ResourceOption) (*Backup, error)

NewBackup registers a new resource with the given unique name, arguments, and options.

func (*Backup) ElementType added in v6.46.0

func (*Backup) ElementType() reflect.Type

func (*Backup) ToBackupOutput added in v6.46.0

func (i *Backup) ToBackupOutput() BackupOutput

func (*Backup) ToBackupOutputWithContext added in v6.46.0

func (i *Backup) ToBackupOutputWithContext(ctx context.Context) BackupOutput

func (*Backup) ToOutput added in v6.65.1

func (i *Backup) ToOutput(ctx context.Context) pulumix.Output[*Backup]

type BackupArgs added in v6.46.0

type BackupArgs struct {
	// A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected.
	Description pulumi.StringPtrInput
	// Resource labels to represent user-provided metadata.
	Labels pulumi.StringMapInput
	// The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
	//
	// ***
	Location pulumi.StringInput
	// The resource name of the backup. The name must be unique within the specified instance.
	// The name must be 1-63 characters long, and comply with
	// RFC1035. Specifically, the name must be 1-63 characters long and match
	// the regular expression `a-z?` which means the
	// first character must be a lowercase letter, and all following
	// characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Name of the file share in the source Cloud Filestore instance that the backup is created from.
	SourceFileShare pulumi.StringInput
	// The resource name of the source Cloud Filestore instance, in the format projects/{projectId}/locations/{locationId}/instances/{instanceId}, used to create this backup.
	SourceInstance pulumi.StringInput
}

The set of arguments for constructing a Backup resource.

func (BackupArgs) ElementType added in v6.46.0

func (BackupArgs) ElementType() reflect.Type

type BackupArray added in v6.46.0

type BackupArray []BackupInput

func (BackupArray) ElementType added in v6.46.0

func (BackupArray) ElementType() reflect.Type

func (BackupArray) ToBackupArrayOutput added in v6.46.0

func (i BackupArray) ToBackupArrayOutput() BackupArrayOutput

func (BackupArray) ToBackupArrayOutputWithContext added in v6.46.0

func (i BackupArray) ToBackupArrayOutputWithContext(ctx context.Context) BackupArrayOutput

func (BackupArray) ToOutput added in v6.65.1

func (i BackupArray) ToOutput(ctx context.Context) pulumix.Output[[]*Backup]

type BackupArrayInput added in v6.46.0

type BackupArrayInput interface {
	pulumi.Input

	ToBackupArrayOutput() BackupArrayOutput
	ToBackupArrayOutputWithContext(context.Context) BackupArrayOutput
}

BackupArrayInput is an input type that accepts BackupArray and BackupArrayOutput values. You can construct a concrete instance of `BackupArrayInput` via:

BackupArray{ BackupArgs{...} }

type BackupArrayOutput added in v6.46.0

type BackupArrayOutput struct{ *pulumi.OutputState }

func (BackupArrayOutput) ElementType added in v6.46.0

func (BackupArrayOutput) ElementType() reflect.Type

func (BackupArrayOutput) Index added in v6.46.0

func (BackupArrayOutput) ToBackupArrayOutput added in v6.46.0

func (o BackupArrayOutput) ToBackupArrayOutput() BackupArrayOutput

func (BackupArrayOutput) ToBackupArrayOutputWithContext added in v6.46.0

func (o BackupArrayOutput) ToBackupArrayOutputWithContext(ctx context.Context) BackupArrayOutput

func (BackupArrayOutput) ToOutput added in v6.65.1

func (o BackupArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Backup]

type BackupInput added in v6.46.0

type BackupInput interface {
	pulumi.Input

	ToBackupOutput() BackupOutput
	ToBackupOutputWithContext(ctx context.Context) BackupOutput
}

type BackupMap added in v6.46.0

type BackupMap map[string]BackupInput

func (BackupMap) ElementType added in v6.46.0

func (BackupMap) ElementType() reflect.Type

func (BackupMap) ToBackupMapOutput added in v6.46.0

func (i BackupMap) ToBackupMapOutput() BackupMapOutput

func (BackupMap) ToBackupMapOutputWithContext added in v6.46.0

func (i BackupMap) ToBackupMapOutputWithContext(ctx context.Context) BackupMapOutput

func (BackupMap) ToOutput added in v6.65.1

func (i BackupMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Backup]

type BackupMapInput added in v6.46.0

type BackupMapInput interface {
	pulumi.Input

	ToBackupMapOutput() BackupMapOutput
	ToBackupMapOutputWithContext(context.Context) BackupMapOutput
}

BackupMapInput is an input type that accepts BackupMap and BackupMapOutput values. You can construct a concrete instance of `BackupMapInput` via:

BackupMap{ "key": BackupArgs{...} }

type BackupMapOutput added in v6.46.0

type BackupMapOutput struct{ *pulumi.OutputState }

func (BackupMapOutput) ElementType added in v6.46.0

func (BackupMapOutput) ElementType() reflect.Type

func (BackupMapOutput) MapIndex added in v6.46.0

func (BackupMapOutput) ToBackupMapOutput added in v6.46.0

func (o BackupMapOutput) ToBackupMapOutput() BackupMapOutput

func (BackupMapOutput) ToBackupMapOutputWithContext added in v6.46.0

func (o BackupMapOutput) ToBackupMapOutputWithContext(ctx context.Context) BackupMapOutput

func (BackupMapOutput) ToOutput added in v6.65.1

func (o BackupMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Backup]

type BackupOutput added in v6.46.0

type BackupOutput struct{ *pulumi.OutputState }

func (BackupOutput) CapacityGb added in v6.46.0

func (o BackupOutput) CapacityGb() pulumi.StringOutput

The amount of bytes needed to allocate a full copy of the snapshot content.

func (BackupOutput) CreateTime added in v6.46.0

func (o BackupOutput) CreateTime() pulumi.StringOutput

The time when the snapshot was created in RFC3339 text format.

func (BackupOutput) Description added in v6.46.0

func (o BackupOutput) Description() pulumi.StringPtrOutput

A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected.

func (BackupOutput) DownloadBytes added in v6.46.0

func (o BackupOutput) DownloadBytes() pulumi.StringOutput

Amount of bytes that will be downloaded if the backup is restored.

func (BackupOutput) ElementType added in v6.46.0

func (BackupOutput) ElementType() reflect.Type

func (BackupOutput) KmsKeyName added in v6.46.0

func (o BackupOutput) KmsKeyName() pulumi.StringOutput

KMS key name used for data encryption.

func (BackupOutput) Labels added in v6.46.0

func (o BackupOutput) Labels() pulumi.StringMapOutput

Resource labels to represent user-provided metadata.

func (BackupOutput) Location added in v6.46.0

func (o BackupOutput) Location() pulumi.StringOutput

The name of the location of the instance. This can be a region for ENTERPRISE tier instances.

***

func (BackupOutput) Name added in v6.46.0

func (o BackupOutput) Name() pulumi.StringOutput

The resource name of the backup. The name must be unique within the specified instance. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `a-z?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (BackupOutput) Project added in v6.46.0

func (o BackupOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (BackupOutput) SourceFileShare added in v6.46.0

func (o BackupOutput) SourceFileShare() pulumi.StringOutput

Name of the file share in the source Cloud Filestore instance that the backup is created from.

func (BackupOutput) SourceInstance added in v6.46.0

func (o BackupOutput) SourceInstance() pulumi.StringOutput

The resource name of the source Cloud Filestore instance, in the format projects/{projectId}/locations/{locationId}/instances/{instanceId}, used to create this backup.

func (BackupOutput) SourceInstanceTier added in v6.46.0

func (o BackupOutput) SourceInstanceTier() pulumi.StringOutput

The service tier of the source Cloud Filestore instance that this backup is created from.

func (BackupOutput) State added in v6.46.0

func (o BackupOutput) State() pulumi.StringOutput

The backup state.

func (BackupOutput) StorageBytes added in v6.46.0

func (o BackupOutput) StorageBytes() pulumi.StringOutput

The size of the storage used by the backup. As backups share storage, this number is expected to change with backup creation/deletion.

func (BackupOutput) ToBackupOutput added in v6.46.0

func (o BackupOutput) ToBackupOutput() BackupOutput

func (BackupOutput) ToBackupOutputWithContext added in v6.46.0

func (o BackupOutput) ToBackupOutputWithContext(ctx context.Context) BackupOutput

func (BackupOutput) ToOutput added in v6.65.1

func (o BackupOutput) ToOutput(ctx context.Context) pulumix.Output[*Backup]

type BackupState added in v6.46.0

type BackupState struct {
	// The amount of bytes needed to allocate a full copy of the snapshot content.
	CapacityGb pulumi.StringPtrInput
	// The time when the snapshot was created in RFC3339 text format.
	CreateTime pulumi.StringPtrInput
	// A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected.
	Description pulumi.StringPtrInput
	// Amount of bytes that will be downloaded if the backup is restored.
	DownloadBytes pulumi.StringPtrInput
	// KMS key name used for data encryption.
	KmsKeyName pulumi.StringPtrInput
	// Resource labels to represent user-provided metadata.
	Labels pulumi.StringMapInput
	// The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
	//
	// ***
	Location pulumi.StringPtrInput
	// The resource name of the backup. The name must be unique within the specified instance.
	// The name must be 1-63 characters long, and comply with
	// RFC1035. Specifically, the name must be 1-63 characters long and match
	// the regular expression `a-z?` which means the
	// first character must be a lowercase letter, and all following
	// characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Name of the file share in the source Cloud Filestore instance that the backup is created from.
	SourceFileShare pulumi.StringPtrInput
	// The resource name of the source Cloud Filestore instance, in the format projects/{projectId}/locations/{locationId}/instances/{instanceId}, used to create this backup.
	SourceInstance pulumi.StringPtrInput
	// The service tier of the source Cloud Filestore instance that this backup is created from.
	SourceInstanceTier pulumi.StringPtrInput
	// The backup state.
	State pulumi.StringPtrInput
	// The size of the storage used by the backup. As backups share storage, this number is expected to change with backup creation/deletion.
	StorageBytes pulumi.StringPtrInput
}

func (BackupState) ElementType added in v6.46.0

func (BackupState) ElementType() reflect.Type

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// Creation timestamp in RFC3339 text format.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// A description of the instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Server-specified ETag for the instance resource to prevent
	// simultaneous updates from overwriting each other.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// File system shares on the instance. For this version, only a
	// single file share is supported.
	// Structure is documented below.
	FileShares InstanceFileSharesOutput `pulumi:"fileShares"`
	// KMS key name used for data encryption.
	KmsKeyName pulumi.StringPtrOutput `pulumi:"kmsKeyName"`
	// Resource labels to represent user-provided metadata.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
	Location pulumi.StringOutput `pulumi:"location"`
	// The resource name of the instance.
	Name pulumi.StringOutput `pulumi:"name"`
	// VPC networks to which the instance is connected. For this version,
	// only a single network is supported.
	// Structure is documented below.
	Networks InstanceNetworkArrayOutput `pulumi:"networks"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The service tier of the instance.
	// Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL and ENTERPRISE
	Tier pulumi.StringOutput `pulumi:"tier"`
	// (Optional, Deprecated)
	// The name of the Filestore zone of the instance.
	//
	// > **Warning:** `zone` is deprecated and will be removed in a future major release. Use `location` instead.
	//
	// Deprecated: `zone` is deprecated and will be removed in a future major release. Use `location` instead.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

A Google Cloud Filestore instance.

To get more information about Instance, see:

* [API documentation](https://cloud.google.com/filestore/docs/reference/rest/v1beta1/projects.locations.instances/create) * How-to Guides

## Example Usage ### Filestore Instance Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/filestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := filestore.NewInstance(ctx, "instance", &filestore.InstanceArgs{
			FileShares: &filestore.InstanceFileSharesArgs{
				CapacityGb: pulumi.Int(1024),
				Name:       pulumi.String("share1"),
			},
			Location: pulumi.String("us-central1-b"),
			Networks: filestore.InstanceNetworkArray{
				&filestore.InstanceNetworkArgs{
					Modes: pulumi.StringArray{
						pulumi.String("MODE_IPV4"),
					},
					Network: pulumi.String("default"),
				},
			},
			Tier: pulumi.String("BASIC_HDD"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Filestore Instance Full

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/filestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := filestore.NewInstance(ctx, "instance", &filestore.InstanceArgs{
			FileShares: &filestore.InstanceFileSharesArgs{
				CapacityGb: pulumi.Int(2560),
				Name:       pulumi.String("share1"),
				NfsExportOptions: filestore.InstanceFileSharesNfsExportOptionArray{
					&filestore.InstanceFileSharesNfsExportOptionArgs{
						AccessMode: pulumi.String("READ_WRITE"),
						IpRanges: pulumi.StringArray{
							pulumi.String("10.0.0.0/24"),
						},
						SquashMode: pulumi.String("NO_ROOT_SQUASH"),
					},
					&filestore.InstanceFileSharesNfsExportOptionArgs{
						AccessMode: pulumi.String("READ_ONLY"),
						AnonGid:    pulumi.Int(456),
						AnonUid:    pulumi.Int(123),
						IpRanges: pulumi.StringArray{
							pulumi.String("10.10.0.0/24"),
						},
						SquashMode: pulumi.String("ROOT_SQUASH"),
					},
				},
			},
			Location: pulumi.String("us-central1-b"),
			Networks: filestore.InstanceNetworkArray{
				&filestore.InstanceNetworkArgs{
					ConnectMode: pulumi.String("DIRECT_PEERING"),
					Modes: pulumi.StringArray{
						pulumi.String("MODE_IPV4"),
					},
					Network: pulumi.String("default"),
				},
			},
			Tier: pulumi.String("BASIC_SSD"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Filestore Instance Enterprise

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/filestore"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		filestoreKeyring, err := kms.NewKeyRing(ctx, "filestoreKeyring", &kms.KeyRingArgs{
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		filestoreKey, err := kms.NewCryptoKey(ctx, "filestoreKey", &kms.CryptoKeyArgs{
			KeyRing: filestoreKeyring.ID(),
		})
		if err != nil {
			return err
		}
		_, err = filestore.NewInstance(ctx, "instance", &filestore.InstanceArgs{
			Location: pulumi.String("us-central1"),
			Tier:     pulumi.String("ENTERPRISE"),
			FileShares: &filestore.InstanceFileSharesArgs{
				CapacityGb: pulumi.Int(1024),
				Name:       pulumi.String("share1"),
			},
			Networks: filestore.InstanceNetworkArray{
				&filestore.InstanceNetworkArgs{
					Network: pulumi.String("default"),
					Modes: pulumi.StringArray{
						pulumi.String("MODE_IPV4"),
					},
				},
			},
			KmsKeyName: filestoreKey.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Instance can be imported using any of these accepted formats

```sh

$ pulumi import gcp:filestore/instance:Instance default projects/{{project}}/locations/{{location}}/instances/{{name}}

```

```sh

$ pulumi import gcp:filestore/instance:Instance default {{project}}/{{location}}/{{name}}

```

```sh

$ pulumi import gcp:filestore/instance:Instance default {{location}}/{{name}}

```

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error)

GetInstance gets an existing Instance 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 NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error)

NewInstance registers a new resource with the given unique name, arguments, and options.

func (*Instance) ElementType

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

func (i *Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

func (*Instance) ToOutput added in v6.65.1

func (i *Instance) ToOutput(ctx context.Context) pulumix.Output[*Instance]

type InstanceArgs

type InstanceArgs struct {
	// A description of the instance.
	Description pulumi.StringPtrInput
	// File system shares on the instance. For this version, only a
	// single file share is supported.
	// Structure is documented below.
	FileShares InstanceFileSharesInput
	// KMS key name used for data encryption.
	KmsKeyName pulumi.StringPtrInput
	// Resource labels to represent user-provided metadata.
	Labels pulumi.StringMapInput
	// The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
	Location pulumi.StringPtrInput
	// The resource name of the instance.
	Name pulumi.StringPtrInput
	// VPC networks to which the instance is connected. For this version,
	// only a single network is supported.
	// Structure is documented below.
	Networks InstanceNetworkArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The service tier of the instance.
	// Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL and ENTERPRISE
	Tier pulumi.StringInput
	// (Optional, Deprecated)
	// The name of the Filestore zone of the instance.
	//
	// > **Warning:** `zone` is deprecated and will be removed in a future major release. Use `location` instead.
	//
	// Deprecated: `zone` is deprecated and will be removed in a future major release. Use `location` instead.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

func (InstanceArray) ToOutput added in v6.65.1

func (i InstanceArray) ToOutput(ctx context.Context) pulumix.Output[[]*Instance]

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

	ToInstanceArrayOutput() InstanceArrayOutput
	ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput
}

InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. You can construct a concrete instance of `InstanceArrayInput` via:

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

func (InstanceArrayOutput) ToOutput added in v6.65.1

type InstanceFileShares

type InstanceFileShares struct {
	// File share capacity in GiB. This must be at least 1024 GiB
	// for the standard tier, or 2560 GiB for the premium tier.
	CapacityGb int `pulumi:"capacityGb"`
	// The name of the fileshare (16 characters or less)
	Name string `pulumi:"name"`
	// Nfs Export Options. There is a limit of 10 export options per file share.
	// Structure is documented below.
	NfsExportOptions []InstanceFileSharesNfsExportOption `pulumi:"nfsExportOptions"`
	// (Output)
	// The resource name of the backup, in the format
	// projects/{projectId}/locations/{locationId}/backups/{backupId},
	// that this file share has been restored from.
	SourceBackup *string `pulumi:"sourceBackup"`
}

type InstanceFileSharesArgs

type InstanceFileSharesArgs struct {
	// File share capacity in GiB. This must be at least 1024 GiB
	// for the standard tier, or 2560 GiB for the premium tier.
	CapacityGb pulumi.IntInput `pulumi:"capacityGb"`
	// The name of the fileshare (16 characters or less)
	Name pulumi.StringInput `pulumi:"name"`
	// Nfs Export Options. There is a limit of 10 export options per file share.
	// Structure is documented below.
	NfsExportOptions InstanceFileSharesNfsExportOptionArrayInput `pulumi:"nfsExportOptions"`
	// (Output)
	// The resource name of the backup, in the format
	// projects/{projectId}/locations/{locationId}/backups/{backupId},
	// that this file share has been restored from.
	SourceBackup pulumi.StringPtrInput `pulumi:"sourceBackup"`
}

func (InstanceFileSharesArgs) ElementType

func (InstanceFileSharesArgs) ElementType() reflect.Type

func (InstanceFileSharesArgs) ToInstanceFileSharesOutput

func (i InstanceFileSharesArgs) ToInstanceFileSharesOutput() InstanceFileSharesOutput

func (InstanceFileSharesArgs) ToInstanceFileSharesOutputWithContext

func (i InstanceFileSharesArgs) ToInstanceFileSharesOutputWithContext(ctx context.Context) InstanceFileSharesOutput

func (InstanceFileSharesArgs) ToInstanceFileSharesPtrOutput

func (i InstanceFileSharesArgs) ToInstanceFileSharesPtrOutput() InstanceFileSharesPtrOutput

func (InstanceFileSharesArgs) ToInstanceFileSharesPtrOutputWithContext

func (i InstanceFileSharesArgs) ToInstanceFileSharesPtrOutputWithContext(ctx context.Context) InstanceFileSharesPtrOutput

func (InstanceFileSharesArgs) ToOutput added in v6.65.1

type InstanceFileSharesInput

type InstanceFileSharesInput interface {
	pulumi.Input

	ToInstanceFileSharesOutput() InstanceFileSharesOutput
	ToInstanceFileSharesOutputWithContext(context.Context) InstanceFileSharesOutput
}

InstanceFileSharesInput is an input type that accepts InstanceFileSharesArgs and InstanceFileSharesOutput values. You can construct a concrete instance of `InstanceFileSharesInput` via:

InstanceFileSharesArgs{...}

type InstanceFileSharesNfsExportOption

type InstanceFileSharesNfsExportOption struct {
	// Either READ_ONLY, for allowing only read requests on the exported directory,
	// or READ_WRITE, for allowing both read and write requests. The default is READ_WRITE.
	// Default value is `READ_WRITE`.
	// Possible values are: `READ_ONLY`, `READ_WRITE`.
	AccessMode *string `pulumi:"accessMode"`
	// An integer representing the anonymous group id with a default value of 65534.
	// Anon_gid may only be set with squashMode of ROOT_SQUASH. An error will be returned
	// if this field is specified for other squashMode settings.
	AnonGid *int `pulumi:"anonGid"`
	// An integer representing the anonymous user id with a default value of 65534.
	// Anon_uid may only be set with squashMode of ROOT_SQUASH. An error will be returned
	// if this field is specified for other squashMode settings.
	AnonUid *int `pulumi:"anonUid"`
	// List of either IPv4 addresses, or ranges in CIDR notation which may mount the file share.
	// Overlapping IP ranges are not allowed, both within and across NfsExportOptions. An error will be returned.
	// The limit is 64 IP ranges/addresses for each FileShareConfig among all NfsExportOptions.
	IpRanges []string `pulumi:"ipRanges"`
	// Either NO_ROOT_SQUASH, for allowing root access on the exported directory, or ROOT_SQUASH,
	// for not allowing root access. The default is NO_ROOT_SQUASH.
	// Default value is `NO_ROOT_SQUASH`.
	// Possible values are: `NO_ROOT_SQUASH`, `ROOT_SQUASH`.
	SquashMode *string `pulumi:"squashMode"`
}

type InstanceFileSharesNfsExportOptionArgs

type InstanceFileSharesNfsExportOptionArgs struct {
	// Either READ_ONLY, for allowing only read requests on the exported directory,
	// or READ_WRITE, for allowing both read and write requests. The default is READ_WRITE.
	// Default value is `READ_WRITE`.
	// Possible values are: `READ_ONLY`, `READ_WRITE`.
	AccessMode pulumi.StringPtrInput `pulumi:"accessMode"`
	// An integer representing the anonymous group id with a default value of 65534.
	// Anon_gid may only be set with squashMode of ROOT_SQUASH. An error will be returned
	// if this field is specified for other squashMode settings.
	AnonGid pulumi.IntPtrInput `pulumi:"anonGid"`
	// An integer representing the anonymous user id with a default value of 65534.
	// Anon_uid may only be set with squashMode of ROOT_SQUASH. An error will be returned
	// if this field is specified for other squashMode settings.
	AnonUid pulumi.IntPtrInput `pulumi:"anonUid"`
	// List of either IPv4 addresses, or ranges in CIDR notation which may mount the file share.
	// Overlapping IP ranges are not allowed, both within and across NfsExportOptions. An error will be returned.
	// The limit is 64 IP ranges/addresses for each FileShareConfig among all NfsExportOptions.
	IpRanges pulumi.StringArrayInput `pulumi:"ipRanges"`
	// Either NO_ROOT_SQUASH, for allowing root access on the exported directory, or ROOT_SQUASH,
	// for not allowing root access. The default is NO_ROOT_SQUASH.
	// Default value is `NO_ROOT_SQUASH`.
	// Possible values are: `NO_ROOT_SQUASH`, `ROOT_SQUASH`.
	SquashMode pulumi.StringPtrInput `pulumi:"squashMode"`
}

func (InstanceFileSharesNfsExportOptionArgs) ElementType

func (InstanceFileSharesNfsExportOptionArgs) ToInstanceFileSharesNfsExportOptionOutput

func (i InstanceFileSharesNfsExportOptionArgs) ToInstanceFileSharesNfsExportOptionOutput() InstanceFileSharesNfsExportOptionOutput

func (InstanceFileSharesNfsExportOptionArgs) ToInstanceFileSharesNfsExportOptionOutputWithContext

func (i InstanceFileSharesNfsExportOptionArgs) ToInstanceFileSharesNfsExportOptionOutputWithContext(ctx context.Context) InstanceFileSharesNfsExportOptionOutput

func (InstanceFileSharesNfsExportOptionArgs) ToOutput added in v6.65.1

type InstanceFileSharesNfsExportOptionArray

type InstanceFileSharesNfsExportOptionArray []InstanceFileSharesNfsExportOptionInput

func (InstanceFileSharesNfsExportOptionArray) ElementType

func (InstanceFileSharesNfsExportOptionArray) ToInstanceFileSharesNfsExportOptionArrayOutput

func (i InstanceFileSharesNfsExportOptionArray) ToInstanceFileSharesNfsExportOptionArrayOutput() InstanceFileSharesNfsExportOptionArrayOutput

func (InstanceFileSharesNfsExportOptionArray) ToInstanceFileSharesNfsExportOptionArrayOutputWithContext

func (i InstanceFileSharesNfsExportOptionArray) ToInstanceFileSharesNfsExportOptionArrayOutputWithContext(ctx context.Context) InstanceFileSharesNfsExportOptionArrayOutput

func (InstanceFileSharesNfsExportOptionArray) ToOutput added in v6.65.1

type InstanceFileSharesNfsExportOptionArrayInput

type InstanceFileSharesNfsExportOptionArrayInput interface {
	pulumi.Input

	ToInstanceFileSharesNfsExportOptionArrayOutput() InstanceFileSharesNfsExportOptionArrayOutput
	ToInstanceFileSharesNfsExportOptionArrayOutputWithContext(context.Context) InstanceFileSharesNfsExportOptionArrayOutput
}

InstanceFileSharesNfsExportOptionArrayInput is an input type that accepts InstanceFileSharesNfsExportOptionArray and InstanceFileSharesNfsExportOptionArrayOutput values. You can construct a concrete instance of `InstanceFileSharesNfsExportOptionArrayInput` via:

InstanceFileSharesNfsExportOptionArray{ InstanceFileSharesNfsExportOptionArgs{...} }

type InstanceFileSharesNfsExportOptionArrayOutput

type InstanceFileSharesNfsExportOptionArrayOutput struct{ *pulumi.OutputState }

func (InstanceFileSharesNfsExportOptionArrayOutput) ElementType

func (InstanceFileSharesNfsExportOptionArrayOutput) Index

func (InstanceFileSharesNfsExportOptionArrayOutput) ToInstanceFileSharesNfsExportOptionArrayOutput

func (o InstanceFileSharesNfsExportOptionArrayOutput) ToInstanceFileSharesNfsExportOptionArrayOutput() InstanceFileSharesNfsExportOptionArrayOutput

func (InstanceFileSharesNfsExportOptionArrayOutput) ToInstanceFileSharesNfsExportOptionArrayOutputWithContext

func (o InstanceFileSharesNfsExportOptionArrayOutput) ToInstanceFileSharesNfsExportOptionArrayOutputWithContext(ctx context.Context) InstanceFileSharesNfsExportOptionArrayOutput

func (InstanceFileSharesNfsExportOptionArrayOutput) ToOutput added in v6.65.1

type InstanceFileSharesNfsExportOptionInput

type InstanceFileSharesNfsExportOptionInput interface {
	pulumi.Input

	ToInstanceFileSharesNfsExportOptionOutput() InstanceFileSharesNfsExportOptionOutput
	ToInstanceFileSharesNfsExportOptionOutputWithContext(context.Context) InstanceFileSharesNfsExportOptionOutput
}

InstanceFileSharesNfsExportOptionInput is an input type that accepts InstanceFileSharesNfsExportOptionArgs and InstanceFileSharesNfsExportOptionOutput values. You can construct a concrete instance of `InstanceFileSharesNfsExportOptionInput` via:

InstanceFileSharesNfsExportOptionArgs{...}

type InstanceFileSharesNfsExportOptionOutput

type InstanceFileSharesNfsExportOptionOutput struct{ *pulumi.OutputState }

func (InstanceFileSharesNfsExportOptionOutput) AccessMode

Either READ_ONLY, for allowing only read requests on the exported directory, or READ_WRITE, for allowing both read and write requests. The default is READ_WRITE. Default value is `READ_WRITE`. Possible values are: `READ_ONLY`, `READ_WRITE`.

func (InstanceFileSharesNfsExportOptionOutput) AnonGid

An integer representing the anonymous group id with a default value of 65534. Anon_gid may only be set with squashMode of ROOT_SQUASH. An error will be returned if this field is specified for other squashMode settings.

func (InstanceFileSharesNfsExportOptionOutput) AnonUid

An integer representing the anonymous user id with a default value of 65534. Anon_uid may only be set with squashMode of ROOT_SQUASH. An error will be returned if this field is specified for other squashMode settings.

func (InstanceFileSharesNfsExportOptionOutput) ElementType

func (InstanceFileSharesNfsExportOptionOutput) IpRanges

List of either IPv4 addresses, or ranges in CIDR notation which may mount the file share. Overlapping IP ranges are not allowed, both within and across NfsExportOptions. An error will be returned. The limit is 64 IP ranges/addresses for each FileShareConfig among all NfsExportOptions.

func (InstanceFileSharesNfsExportOptionOutput) SquashMode

Either NO_ROOT_SQUASH, for allowing root access on the exported directory, or ROOT_SQUASH, for not allowing root access. The default is NO_ROOT_SQUASH. Default value is `NO_ROOT_SQUASH`. Possible values are: `NO_ROOT_SQUASH`, `ROOT_SQUASH`.

func (InstanceFileSharesNfsExportOptionOutput) ToInstanceFileSharesNfsExportOptionOutput

func (o InstanceFileSharesNfsExportOptionOutput) ToInstanceFileSharesNfsExportOptionOutput() InstanceFileSharesNfsExportOptionOutput

func (InstanceFileSharesNfsExportOptionOutput) ToInstanceFileSharesNfsExportOptionOutputWithContext

func (o InstanceFileSharesNfsExportOptionOutput) ToInstanceFileSharesNfsExportOptionOutputWithContext(ctx context.Context) InstanceFileSharesNfsExportOptionOutput

func (InstanceFileSharesNfsExportOptionOutput) ToOutput added in v6.65.1

type InstanceFileSharesOutput

type InstanceFileSharesOutput struct{ *pulumi.OutputState }

func (InstanceFileSharesOutput) CapacityGb

func (o InstanceFileSharesOutput) CapacityGb() pulumi.IntOutput

File share capacity in GiB. This must be at least 1024 GiB for the standard tier, or 2560 GiB for the premium tier.

func (InstanceFileSharesOutput) ElementType

func (InstanceFileSharesOutput) ElementType() reflect.Type

func (InstanceFileSharesOutput) Name

The name of the fileshare (16 characters or less)

func (InstanceFileSharesOutput) NfsExportOptions

Nfs Export Options. There is a limit of 10 export options per file share. Structure is documented below.

func (InstanceFileSharesOutput) SourceBackup added in v6.46.0

(Output) The resource name of the backup, in the format projects/{projectId}/locations/{locationId}/backups/{backupId}, that this file share has been restored from.

func (InstanceFileSharesOutput) ToInstanceFileSharesOutput

func (o InstanceFileSharesOutput) ToInstanceFileSharesOutput() InstanceFileSharesOutput

func (InstanceFileSharesOutput) ToInstanceFileSharesOutputWithContext

func (o InstanceFileSharesOutput) ToInstanceFileSharesOutputWithContext(ctx context.Context) InstanceFileSharesOutput

func (InstanceFileSharesOutput) ToInstanceFileSharesPtrOutput

func (o InstanceFileSharesOutput) ToInstanceFileSharesPtrOutput() InstanceFileSharesPtrOutput

func (InstanceFileSharesOutput) ToInstanceFileSharesPtrOutputWithContext

func (o InstanceFileSharesOutput) ToInstanceFileSharesPtrOutputWithContext(ctx context.Context) InstanceFileSharesPtrOutput

func (InstanceFileSharesOutput) ToOutput added in v6.65.1

type InstanceFileSharesPtrInput

type InstanceFileSharesPtrInput interface {
	pulumi.Input

	ToInstanceFileSharesPtrOutput() InstanceFileSharesPtrOutput
	ToInstanceFileSharesPtrOutputWithContext(context.Context) InstanceFileSharesPtrOutput
}

InstanceFileSharesPtrInput is an input type that accepts InstanceFileSharesArgs, InstanceFileSharesPtr and InstanceFileSharesPtrOutput values. You can construct a concrete instance of `InstanceFileSharesPtrInput` via:

        InstanceFileSharesArgs{...}

or:

        nil

type InstanceFileSharesPtrOutput

type InstanceFileSharesPtrOutput struct{ *pulumi.OutputState }

func (InstanceFileSharesPtrOutput) CapacityGb

File share capacity in GiB. This must be at least 1024 GiB for the standard tier, or 2560 GiB for the premium tier.

func (InstanceFileSharesPtrOutput) Elem

func (InstanceFileSharesPtrOutput) ElementType

func (InstanceFileSharesPtrOutput) Name

The name of the fileshare (16 characters or less)

func (InstanceFileSharesPtrOutput) NfsExportOptions

Nfs Export Options. There is a limit of 10 export options per file share. Structure is documented below.

func (InstanceFileSharesPtrOutput) SourceBackup added in v6.46.0

(Output) The resource name of the backup, in the format projects/{projectId}/locations/{locationId}/backups/{backupId}, that this file share has been restored from.

func (InstanceFileSharesPtrOutput) ToInstanceFileSharesPtrOutput

func (o InstanceFileSharesPtrOutput) ToInstanceFileSharesPtrOutput() InstanceFileSharesPtrOutput

func (InstanceFileSharesPtrOutput) ToInstanceFileSharesPtrOutputWithContext

func (o InstanceFileSharesPtrOutput) ToInstanceFileSharesPtrOutputWithContext(ctx context.Context) InstanceFileSharesPtrOutput

func (InstanceFileSharesPtrOutput) ToOutput added in v6.65.1

type InstanceInput

type InstanceInput interface {
	pulumi.Input

	ToInstanceOutput() InstanceOutput
	ToInstanceOutputWithContext(ctx context.Context) InstanceOutput
}

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

func (InstanceMap) ToOutput added in v6.65.1

func (i InstanceMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Instance]

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

	ToInstanceMapOutput() InstanceMapOutput
	ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput
}

InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. You can construct a concrete instance of `InstanceMapInput` via:

InstanceMap{ "key": InstanceArgs{...} }

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

func (InstanceMapOutput) ToOutput added in v6.65.1

type InstanceNetwork

type InstanceNetwork struct {
	// The network connect mode of the Filestore instance.
	// If not provided, the connect mode defaults to
	// DIRECT_PEERING.
	// Default value is `DIRECT_PEERING`.
	// Possible values are: `DIRECT_PEERING`, `PRIVATE_SERVICE_ACCESS`.
	//
	// ***
	ConnectMode *string `pulumi:"connectMode"`
	// (Output)
	// A list of IPv4 or IPv6 addresses.
	IpAddresses []string `pulumi:"ipAddresses"`
	// IP versions for which the instance has
	// IP addresses assigned.
	// Each value may be one of: `ADDRESS_MODE_UNSPECIFIED`, `MODE_IPV4`, `MODE_IPV6`.
	Modes []string `pulumi:"modes"`
	// The name of the GCE VPC network to which the
	// instance is connected.
	Network string `pulumi:"network"`
	// A /29 CIDR block that identifies the range of IP
	// addresses reserved for this instance.
	ReservedIpRange *string `pulumi:"reservedIpRange"`
}

type InstanceNetworkArgs

type InstanceNetworkArgs struct {
	// The network connect mode of the Filestore instance.
	// If not provided, the connect mode defaults to
	// DIRECT_PEERING.
	// Default value is `DIRECT_PEERING`.
	// Possible values are: `DIRECT_PEERING`, `PRIVATE_SERVICE_ACCESS`.
	//
	// ***
	ConnectMode pulumi.StringPtrInput `pulumi:"connectMode"`
	// (Output)
	// A list of IPv4 or IPv6 addresses.
	IpAddresses pulumi.StringArrayInput `pulumi:"ipAddresses"`
	// IP versions for which the instance has
	// IP addresses assigned.
	// Each value may be one of: `ADDRESS_MODE_UNSPECIFIED`, `MODE_IPV4`, `MODE_IPV6`.
	Modes pulumi.StringArrayInput `pulumi:"modes"`
	// The name of the GCE VPC network to which the
	// instance is connected.
	Network pulumi.StringInput `pulumi:"network"`
	// A /29 CIDR block that identifies the range of IP
	// addresses reserved for this instance.
	ReservedIpRange pulumi.StringPtrInput `pulumi:"reservedIpRange"`
}

func (InstanceNetworkArgs) ElementType

func (InstanceNetworkArgs) ElementType() reflect.Type

func (InstanceNetworkArgs) ToInstanceNetworkOutput

func (i InstanceNetworkArgs) ToInstanceNetworkOutput() InstanceNetworkOutput

func (InstanceNetworkArgs) ToInstanceNetworkOutputWithContext

func (i InstanceNetworkArgs) ToInstanceNetworkOutputWithContext(ctx context.Context) InstanceNetworkOutput

func (InstanceNetworkArgs) ToOutput added in v6.65.1

type InstanceNetworkArray

type InstanceNetworkArray []InstanceNetworkInput

func (InstanceNetworkArray) ElementType

func (InstanceNetworkArray) ElementType() reflect.Type

func (InstanceNetworkArray) ToInstanceNetworkArrayOutput

func (i InstanceNetworkArray) ToInstanceNetworkArrayOutput() InstanceNetworkArrayOutput

func (InstanceNetworkArray) ToInstanceNetworkArrayOutputWithContext

func (i InstanceNetworkArray) ToInstanceNetworkArrayOutputWithContext(ctx context.Context) InstanceNetworkArrayOutput

func (InstanceNetworkArray) ToOutput added in v6.65.1

type InstanceNetworkArrayInput

type InstanceNetworkArrayInput interface {
	pulumi.Input

	ToInstanceNetworkArrayOutput() InstanceNetworkArrayOutput
	ToInstanceNetworkArrayOutputWithContext(context.Context) InstanceNetworkArrayOutput
}

InstanceNetworkArrayInput is an input type that accepts InstanceNetworkArray and InstanceNetworkArrayOutput values. You can construct a concrete instance of `InstanceNetworkArrayInput` via:

InstanceNetworkArray{ InstanceNetworkArgs{...} }

type InstanceNetworkArrayOutput

type InstanceNetworkArrayOutput struct{ *pulumi.OutputState }

func (InstanceNetworkArrayOutput) ElementType

func (InstanceNetworkArrayOutput) ElementType() reflect.Type

func (InstanceNetworkArrayOutput) Index

func (InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutput

func (o InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutput() InstanceNetworkArrayOutput

func (InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutputWithContext

func (o InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutputWithContext(ctx context.Context) InstanceNetworkArrayOutput

func (InstanceNetworkArrayOutput) ToOutput added in v6.65.1

type InstanceNetworkInput

type InstanceNetworkInput interface {
	pulumi.Input

	ToInstanceNetworkOutput() InstanceNetworkOutput
	ToInstanceNetworkOutputWithContext(context.Context) InstanceNetworkOutput
}

InstanceNetworkInput is an input type that accepts InstanceNetworkArgs and InstanceNetworkOutput values. You can construct a concrete instance of `InstanceNetworkInput` via:

InstanceNetworkArgs{...}

type InstanceNetworkOutput

type InstanceNetworkOutput struct{ *pulumi.OutputState }

func (InstanceNetworkOutput) ConnectMode

The network connect mode of the Filestore instance. If not provided, the connect mode defaults to DIRECT_PEERING. Default value is `DIRECT_PEERING`. Possible values are: `DIRECT_PEERING`, `PRIVATE_SERVICE_ACCESS`.

***

func (InstanceNetworkOutput) ElementType

func (InstanceNetworkOutput) ElementType() reflect.Type

func (InstanceNetworkOutput) IpAddresses

(Output) A list of IPv4 or IPv6 addresses.

func (InstanceNetworkOutput) Modes

IP versions for which the instance has IP addresses assigned. Each value may be one of: `ADDRESS_MODE_UNSPECIFIED`, `MODE_IPV4`, `MODE_IPV6`.

func (InstanceNetworkOutput) Network

The name of the GCE VPC network to which the instance is connected.

func (InstanceNetworkOutput) ReservedIpRange

func (o InstanceNetworkOutput) ReservedIpRange() pulumi.StringPtrOutput

A /29 CIDR block that identifies the range of IP addresses reserved for this instance.

func (InstanceNetworkOutput) ToInstanceNetworkOutput

func (o InstanceNetworkOutput) ToInstanceNetworkOutput() InstanceNetworkOutput

func (InstanceNetworkOutput) ToInstanceNetworkOutputWithContext

func (o InstanceNetworkOutput) ToInstanceNetworkOutputWithContext(ctx context.Context) InstanceNetworkOutput

func (InstanceNetworkOutput) ToOutput added in v6.65.1

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) CreateTime added in v6.23.0

func (o InstanceOutput) CreateTime() pulumi.StringOutput

Creation timestamp in RFC3339 text format.

func (InstanceOutput) Description added in v6.23.0

func (o InstanceOutput) Description() pulumi.StringPtrOutput

A description of the instance.

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) Etag added in v6.23.0

Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.

func (InstanceOutput) FileShares added in v6.23.0

File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.

func (InstanceOutput) KmsKeyName added in v6.23.0

func (o InstanceOutput) KmsKeyName() pulumi.StringPtrOutput

KMS key name used for data encryption.

func (InstanceOutput) Labels added in v6.23.0

Resource labels to represent user-provided metadata.

func (InstanceOutput) Location added in v6.23.0

func (o InstanceOutput) Location() pulumi.StringOutput

The name of the location of the instance. This can be a region for ENTERPRISE tier instances.

func (InstanceOutput) Name added in v6.23.0

The resource name of the instance.

func (InstanceOutput) Networks added in v6.23.0

VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.

func (InstanceOutput) Project added in v6.23.0

func (o InstanceOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (InstanceOutput) Tier added in v6.23.0

The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL and ENTERPRISE

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

func (InstanceOutput) ToOutput added in v6.65.1

func (InstanceOutput) Zone deprecated added in v6.23.0

(Optional, Deprecated) The name of the Filestore zone of the instance.

> **Warning:** `zone` is deprecated and will be removed in a future major release. Use `location` instead.

Deprecated: `zone` is deprecated and will be removed in a future major release. Use `location` instead.

type InstanceState

type InstanceState struct {
	// Creation timestamp in RFC3339 text format.
	CreateTime pulumi.StringPtrInput
	// A description of the instance.
	Description pulumi.StringPtrInput
	// Server-specified ETag for the instance resource to prevent
	// simultaneous updates from overwriting each other.
	Etag pulumi.StringPtrInput
	// File system shares on the instance. For this version, only a
	// single file share is supported.
	// Structure is documented below.
	FileShares InstanceFileSharesPtrInput
	// KMS key name used for data encryption.
	KmsKeyName pulumi.StringPtrInput
	// Resource labels to represent user-provided metadata.
	Labels pulumi.StringMapInput
	// The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
	Location pulumi.StringPtrInput
	// The resource name of the instance.
	Name pulumi.StringPtrInput
	// VPC networks to which the instance is connected. For this version,
	// only a single network is supported.
	// Structure is documented below.
	Networks InstanceNetworkArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The service tier of the instance.
	// Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL and ENTERPRISE
	Tier pulumi.StringPtrInput
	// (Optional, Deprecated)
	// The name of the Filestore zone of the instance.
	//
	// > **Warning:** `zone` is deprecated and will be removed in a future major release. Use `location` instead.
	//
	// Deprecated: `zone` is deprecated and will be removed in a future major release. Use `location` instead.
	Zone pulumi.StringPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type Snapshot added in v6.38.0

type Snapshot struct {
	pulumi.CustomResourceState

	// The time when the snapshot was created in RFC3339 text format.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The amount of bytes needed to allocate a full copy of the snapshot content.
	FilesystemUsedBytes pulumi.StringOutput `pulumi:"filesystemUsedBytes"`
	// The resource name of the filestore instance.
	//
	// ***
	Instance pulumi.StringOutput `pulumi:"instance"`
	// Resource labels to represent user-provided metadata.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
	Location pulumi.StringOutput `pulumi:"location"`
	// The resource name of the snapshot. The name must be unique within the specified instance.
	// The name must be 1-63 characters long, and comply with
	// RFC1035. Specifically, the name must be 1-63 characters long and match
	// the regular expression `a-z?` which means the
	// first character must be a lowercase letter, and all following
	// characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The snapshot state.
	State pulumi.StringOutput `pulumi:"state"`
}

A Google Cloud Filestore snapshot.

To get more information about Snapshot, see:

* [API documentation](https://cloud.google.com/filestore/docs/reference/rest/v1/projects.locations.instances.snapshots) * How-to Guides

## Example Usage ### Filestore Snapshot Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/filestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := filestore.NewInstance(ctx, "instance", &filestore.InstanceArgs{
			Location: pulumi.String("us-east1"),
			Tier:     pulumi.String("ENTERPRISE"),
			FileShares: &filestore.InstanceFileSharesArgs{
				CapacityGb: pulumi.Int(1024),
				Name:       pulumi.String("share1"),
			},
			Networks: filestore.InstanceNetworkArray{
				&filestore.InstanceNetworkArgs{
					Network: pulumi.String("default"),
					Modes: pulumi.StringArray{
						pulumi.String("MODE_IPV4"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = filestore.NewSnapshot(ctx, "snapshot", &filestore.SnapshotArgs{
			Instance: instance.Name,
			Location: pulumi.String("us-east1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Filestore Snapshot Full

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/filestore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := filestore.NewInstance(ctx, "instance", &filestore.InstanceArgs{
			Location: pulumi.String("us-west1"),
			Tier:     pulumi.String("ENTERPRISE"),
			FileShares: &filestore.InstanceFileSharesArgs{
				CapacityGb: pulumi.Int(1024),
				Name:       pulumi.String("share1"),
			},
			Networks: filestore.InstanceNetworkArray{
				&filestore.InstanceNetworkArgs{
					Network: pulumi.String("default"),
					Modes: pulumi.StringArray{
						pulumi.String("MODE_IPV4"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = filestore.NewSnapshot(ctx, "snapshot", &filestore.SnapshotArgs{
			Instance:    instance.Name,
			Location:    pulumi.String("us-west1"),
			Description: pulumi.String("Snapshot of test-instance-for-snapshot"),
			Labels: pulumi.StringMap{
				"my_label": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Snapshot can be imported using any of these accepted formats

```sh

$ pulumi import gcp:filestore/snapshot:Snapshot default projects/{{project}}/locations/{{location}}/instances/{{instance}}/snapshots/{{name}}

```

```sh

$ pulumi import gcp:filestore/snapshot:Snapshot default {{project}}/{{location}}/{{instance}}/{{name}}

```

```sh

$ pulumi import gcp:filestore/snapshot:Snapshot default {{location}}/{{instance}}/{{name}}

```

func GetSnapshot added in v6.38.0

func GetSnapshot(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnapshotState, opts ...pulumi.ResourceOption) (*Snapshot, error)

GetSnapshot gets an existing Snapshot 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 NewSnapshot added in v6.38.0

func NewSnapshot(ctx *pulumi.Context,
	name string, args *SnapshotArgs, opts ...pulumi.ResourceOption) (*Snapshot, error)

NewSnapshot registers a new resource with the given unique name, arguments, and options.

func (*Snapshot) ElementType added in v6.38.0

func (*Snapshot) ElementType() reflect.Type

func (*Snapshot) ToOutput added in v6.65.1

func (i *Snapshot) ToOutput(ctx context.Context) pulumix.Output[*Snapshot]

func (*Snapshot) ToSnapshotOutput added in v6.38.0

func (i *Snapshot) ToSnapshotOutput() SnapshotOutput

func (*Snapshot) ToSnapshotOutputWithContext added in v6.38.0

func (i *Snapshot) ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput

type SnapshotArgs added in v6.38.0

type SnapshotArgs struct {
	// A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected.
	Description pulumi.StringPtrInput
	// The resource name of the filestore instance.
	//
	// ***
	Instance pulumi.StringInput
	// Resource labels to represent user-provided metadata.
	Labels pulumi.StringMapInput
	// The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
	Location pulumi.StringInput
	// The resource name of the snapshot. The name must be unique within the specified instance.
	// The name must be 1-63 characters long, and comply with
	// RFC1035. Specifically, the name must be 1-63 characters long and match
	// the regular expression `a-z?` which means the
	// first character must be a lowercase letter, and all following
	// characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a Snapshot resource.

func (SnapshotArgs) ElementType added in v6.38.0

func (SnapshotArgs) ElementType() reflect.Type

type SnapshotArray added in v6.38.0

type SnapshotArray []SnapshotInput

func (SnapshotArray) ElementType added in v6.38.0

func (SnapshotArray) ElementType() reflect.Type

func (SnapshotArray) ToOutput added in v6.65.1

func (i SnapshotArray) ToOutput(ctx context.Context) pulumix.Output[[]*Snapshot]

func (SnapshotArray) ToSnapshotArrayOutput added in v6.38.0

func (i SnapshotArray) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArray) ToSnapshotArrayOutputWithContext added in v6.38.0

func (i SnapshotArray) ToSnapshotArrayOutputWithContext(ctx context.Context) SnapshotArrayOutput

type SnapshotArrayInput added in v6.38.0

type SnapshotArrayInput interface {
	pulumi.Input

	ToSnapshotArrayOutput() SnapshotArrayOutput
	ToSnapshotArrayOutputWithContext(context.Context) SnapshotArrayOutput
}

SnapshotArrayInput is an input type that accepts SnapshotArray and SnapshotArrayOutput values. You can construct a concrete instance of `SnapshotArrayInput` via:

SnapshotArray{ SnapshotArgs{...} }

type SnapshotArrayOutput added in v6.38.0

type SnapshotArrayOutput struct{ *pulumi.OutputState }

func (SnapshotArrayOutput) ElementType added in v6.38.0

func (SnapshotArrayOutput) ElementType() reflect.Type

func (SnapshotArrayOutput) Index added in v6.38.0

func (SnapshotArrayOutput) ToOutput added in v6.65.1

func (SnapshotArrayOutput) ToSnapshotArrayOutput added in v6.38.0

func (o SnapshotArrayOutput) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArrayOutput) ToSnapshotArrayOutputWithContext added in v6.38.0

func (o SnapshotArrayOutput) ToSnapshotArrayOutputWithContext(ctx context.Context) SnapshotArrayOutput

type SnapshotInput added in v6.38.0

type SnapshotInput interface {
	pulumi.Input

	ToSnapshotOutput() SnapshotOutput
	ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput
}

type SnapshotMap added in v6.38.0

type SnapshotMap map[string]SnapshotInput

func (SnapshotMap) ElementType added in v6.38.0

func (SnapshotMap) ElementType() reflect.Type

func (SnapshotMap) ToOutput added in v6.65.1

func (i SnapshotMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Snapshot]

func (SnapshotMap) ToSnapshotMapOutput added in v6.38.0

func (i SnapshotMap) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMap) ToSnapshotMapOutputWithContext added in v6.38.0

func (i SnapshotMap) ToSnapshotMapOutputWithContext(ctx context.Context) SnapshotMapOutput

type SnapshotMapInput added in v6.38.0

type SnapshotMapInput interface {
	pulumi.Input

	ToSnapshotMapOutput() SnapshotMapOutput
	ToSnapshotMapOutputWithContext(context.Context) SnapshotMapOutput
}

SnapshotMapInput is an input type that accepts SnapshotMap and SnapshotMapOutput values. You can construct a concrete instance of `SnapshotMapInput` via:

SnapshotMap{ "key": SnapshotArgs{...} }

type SnapshotMapOutput added in v6.38.0

type SnapshotMapOutput struct{ *pulumi.OutputState }

func (SnapshotMapOutput) ElementType added in v6.38.0

func (SnapshotMapOutput) ElementType() reflect.Type

func (SnapshotMapOutput) MapIndex added in v6.38.0

func (SnapshotMapOutput) ToOutput added in v6.65.1

func (SnapshotMapOutput) ToSnapshotMapOutput added in v6.38.0

func (o SnapshotMapOutput) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMapOutput) ToSnapshotMapOutputWithContext added in v6.38.0

func (o SnapshotMapOutput) ToSnapshotMapOutputWithContext(ctx context.Context) SnapshotMapOutput

type SnapshotOutput added in v6.38.0

type SnapshotOutput struct{ *pulumi.OutputState }

func (SnapshotOutput) CreateTime added in v6.38.0

func (o SnapshotOutput) CreateTime() pulumi.StringOutput

The time when the snapshot was created in RFC3339 text format.

func (SnapshotOutput) Description added in v6.38.0

func (o SnapshotOutput) Description() pulumi.StringPtrOutput

A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected.

func (SnapshotOutput) ElementType added in v6.38.0

func (SnapshotOutput) ElementType() reflect.Type

func (SnapshotOutput) FilesystemUsedBytes added in v6.38.0

func (o SnapshotOutput) FilesystemUsedBytes() pulumi.StringOutput

The amount of bytes needed to allocate a full copy of the snapshot content.

func (SnapshotOutput) Instance added in v6.38.0

func (o SnapshotOutput) Instance() pulumi.StringOutput

The resource name of the filestore instance.

***

func (SnapshotOutput) Labels added in v6.38.0

Resource labels to represent user-provided metadata.

func (SnapshotOutput) Location added in v6.38.0

func (o SnapshotOutput) Location() pulumi.StringOutput

The name of the location of the instance. This can be a region for ENTERPRISE tier instances.

func (SnapshotOutput) Name added in v6.38.0

The resource name of the snapshot. The name must be unique within the specified instance. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `a-z?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.

func (SnapshotOutput) Project added in v6.38.0

func (o SnapshotOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (SnapshotOutput) State added in v6.38.0

The snapshot state.

func (SnapshotOutput) ToOutput added in v6.65.1

func (SnapshotOutput) ToSnapshotOutput added in v6.38.0

func (o SnapshotOutput) ToSnapshotOutput() SnapshotOutput

func (SnapshotOutput) ToSnapshotOutputWithContext added in v6.38.0

func (o SnapshotOutput) ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput

type SnapshotState added in v6.38.0

type SnapshotState struct {
	// The time when the snapshot was created in RFC3339 text format.
	CreateTime pulumi.StringPtrInput
	// A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected.
	Description pulumi.StringPtrInput
	// The amount of bytes needed to allocate a full copy of the snapshot content.
	FilesystemUsedBytes pulumi.StringPtrInput
	// The resource name of the filestore instance.
	//
	// ***
	Instance pulumi.StringPtrInput
	// Resource labels to represent user-provided metadata.
	Labels pulumi.StringMapInput
	// The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
	Location pulumi.StringPtrInput
	// The resource name of the snapshot. The name must be unique within the specified instance.
	// The name must be 1-63 characters long, and comply with
	// RFC1035. Specifically, the name must be 1-63 characters long and match
	// the regular expression `a-z?` which means the
	// first character must be a lowercase letter, and all following
	// characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The snapshot state.
	State pulumi.StringPtrInput
}

func (SnapshotState) ElementType added in v6.38.0

func (SnapshotState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL