1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. filestore
  5. Instance
Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi

gcp.filestore.Instance

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi

    A Google Cloud Filestore instance.

    To get more information about Instance, see:

    Example Usage

    Filestore Instance Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.filestore.Instance("instance", {
        name: "test-instance",
        location: "us-central1-b",
        tier: "BASIC_HDD",
        fileShares: {
            capacityGb: 1024,
            name: "share1",
        },
        networks: [{
            network: "default",
            modes: ["MODE_IPV4"],
        }],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.filestore.Instance("instance",
        name="test-instance",
        location="us-central1-b",
        tier="BASIC_HDD",
        file_shares=gcp.filestore.InstanceFileSharesArgs(
            capacity_gb=1024,
            name="share1",
        ),
        networks=[gcp.filestore.InstanceNetworkArgs(
            network="default",
            modes=["MODE_IPV4"],
        )])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/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{
    			Name:     pulumi.String("test-instance"),
    			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"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new Gcp.Filestore.Instance("instance", new()
        {
            Name = "test-instance",
            Location = "us-central1-b",
            Tier = "BASIC_HDD",
            FileShares = new Gcp.Filestore.Inputs.InstanceFileSharesArgs
            {
                CapacityGb = 1024,
                Name = "share1",
            },
            Networks = new[]
            {
                new Gcp.Filestore.Inputs.InstanceNetworkArgs
                {
                    Network = "default",
                    Modes = new[]
                    {
                        "MODE_IPV4",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.filestore.Instance;
    import com.pulumi.gcp.filestore.InstanceArgs;
    import com.pulumi.gcp.filestore.inputs.InstanceFileSharesArgs;
    import com.pulumi.gcp.filestore.inputs.InstanceNetworkArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var instance = new Instance("instance", InstanceArgs.builder()        
                .name("test-instance")
                .location("us-central1-b")
                .tier("BASIC_HDD")
                .fileShares(InstanceFileSharesArgs.builder()
                    .capacityGb(1024)
                    .name("share1")
                    .build())
                .networks(InstanceNetworkArgs.builder()
                    .network("default")
                    .modes("MODE_IPV4")
                    .build())
                .build());
    
        }
    }
    
    resources:
      instance:
        type: gcp:filestore:Instance
        properties:
          name: test-instance
          location: us-central1-b
          tier: BASIC_HDD
          fileShares:
            capacityGb: 1024
            name: share1
          networks:
            - network: default
              modes:
                - MODE_IPV4
    

    Filestore Instance Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.filestore.Instance("instance", {
        name: "test-instance",
        location: "us-central1-b",
        tier: "BASIC_SSD",
        fileShares: {
            capacityGb: 2560,
            name: "share1",
            nfsExportOptions: [
                {
                    ipRanges: ["10.0.0.0/24"],
                    accessMode: "READ_WRITE",
                    squashMode: "NO_ROOT_SQUASH",
                },
                {
                    ipRanges: ["10.10.0.0/24"],
                    accessMode: "READ_ONLY",
                    squashMode: "ROOT_SQUASH",
                    anonUid: 123,
                    anonGid: 456,
                },
            ],
        },
        networks: [{
            network: "default",
            modes: ["MODE_IPV4"],
            connectMode: "DIRECT_PEERING",
        }],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.filestore.Instance("instance",
        name="test-instance",
        location="us-central1-b",
        tier="BASIC_SSD",
        file_shares=gcp.filestore.InstanceFileSharesArgs(
            capacity_gb=2560,
            name="share1",
            nfs_export_options=[
                gcp.filestore.InstanceFileSharesNfsExportOptionArgs(
                    ip_ranges=["10.0.0.0/24"],
                    access_mode="READ_WRITE",
                    squash_mode="NO_ROOT_SQUASH",
                ),
                gcp.filestore.InstanceFileSharesNfsExportOptionArgs(
                    ip_ranges=["10.10.0.0/24"],
                    access_mode="READ_ONLY",
                    squash_mode="ROOT_SQUASH",
                    anon_uid=123,
                    anon_gid=456,
                ),
            ],
        ),
        networks=[gcp.filestore.InstanceNetworkArgs(
            network="default",
            modes=["MODE_IPV4"],
            connect_mode="DIRECT_PEERING",
        )])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/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{
    			Name:     pulumi.String("test-instance"),
    			Location: pulumi.String("us-central1-b"),
    			Tier:     pulumi.String("BASIC_SSD"),
    			FileShares: &filestore.InstanceFileSharesArgs{
    				CapacityGb: pulumi.Int(2560),
    				Name:       pulumi.String("share1"),
    				NfsExportOptions: filestore.InstanceFileSharesNfsExportOptionArray{
    					&filestore.InstanceFileSharesNfsExportOptionArgs{
    						IpRanges: pulumi.StringArray{
    							pulumi.String("10.0.0.0/24"),
    						},
    						AccessMode: pulumi.String("READ_WRITE"),
    						SquashMode: pulumi.String("NO_ROOT_SQUASH"),
    					},
    					&filestore.InstanceFileSharesNfsExportOptionArgs{
    						IpRanges: pulumi.StringArray{
    							pulumi.String("10.10.0.0/24"),
    						},
    						AccessMode: pulumi.String("READ_ONLY"),
    						SquashMode: pulumi.String("ROOT_SQUASH"),
    						AnonUid:    pulumi.Int(123),
    						AnonGid:    pulumi.Int(456),
    					},
    				},
    			},
    			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
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new Gcp.Filestore.Instance("instance", new()
        {
            Name = "test-instance",
            Location = "us-central1-b",
            Tier = "BASIC_SSD",
            FileShares = new Gcp.Filestore.Inputs.InstanceFileSharesArgs
            {
                CapacityGb = 2560,
                Name = "share1",
                NfsExportOptions = new[]
                {
                    new Gcp.Filestore.Inputs.InstanceFileSharesNfsExportOptionArgs
                    {
                        IpRanges = new[]
                        {
                            "10.0.0.0/24",
                        },
                        AccessMode = "READ_WRITE",
                        SquashMode = "NO_ROOT_SQUASH",
                    },
                    new Gcp.Filestore.Inputs.InstanceFileSharesNfsExportOptionArgs
                    {
                        IpRanges = new[]
                        {
                            "10.10.0.0/24",
                        },
                        AccessMode = "READ_ONLY",
                        SquashMode = "ROOT_SQUASH",
                        AnonUid = 123,
                        AnonGid = 456,
                    },
                },
            },
            Networks = new[]
            {
                new Gcp.Filestore.Inputs.InstanceNetworkArgs
                {
                    Network = "default",
                    Modes = new[]
                    {
                        "MODE_IPV4",
                    },
                    ConnectMode = "DIRECT_PEERING",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.filestore.Instance;
    import com.pulumi.gcp.filestore.InstanceArgs;
    import com.pulumi.gcp.filestore.inputs.InstanceFileSharesArgs;
    import com.pulumi.gcp.filestore.inputs.InstanceNetworkArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var instance = new Instance("instance", InstanceArgs.builder()        
                .name("test-instance")
                .location("us-central1-b")
                .tier("BASIC_SSD")
                .fileShares(InstanceFileSharesArgs.builder()
                    .capacityGb(2560)
                    .name("share1")
                    .nfsExportOptions(                
                        InstanceFileSharesNfsExportOptionArgs.builder()
                            .ipRanges("10.0.0.0/24")
                            .accessMode("READ_WRITE")
                            .squashMode("NO_ROOT_SQUASH")
                            .build(),
                        InstanceFileSharesNfsExportOptionArgs.builder()
                            .ipRanges("10.10.0.0/24")
                            .accessMode("READ_ONLY")
                            .squashMode("ROOT_SQUASH")
                            .anonUid(123)
                            .anonGid(456)
                            .build())
                    .build())
                .networks(InstanceNetworkArgs.builder()
                    .network("default")
                    .modes("MODE_IPV4")
                    .connectMode("DIRECT_PEERING")
                    .build())
                .build());
    
        }
    }
    
    resources:
      instance:
        type: gcp:filestore:Instance
        properties:
          name: test-instance
          location: us-central1-b
          tier: BASIC_SSD
          fileShares:
            capacityGb: 2560
            name: share1
            nfsExportOptions:
              - ipRanges:
                  - 10.0.0.0/24
                accessMode: READ_WRITE
                squashMode: NO_ROOT_SQUASH
              - ipRanges:
                  - 10.10.0.0/24
                accessMode: READ_ONLY
                squashMode: ROOT_SQUASH
                anonUid: 123
                anonGid: 456
          networks:
            - network: default
              modes:
                - MODE_IPV4
              connectMode: DIRECT_PEERING
    

    Filestore Instance Enterprise

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const filestoreKeyring = new gcp.kms.KeyRing("filestore_keyring", {
        name: "filestore-keyring",
        location: "us-central1",
    });
    const filestoreKey = new gcp.kms.CryptoKey("filestore_key", {
        name: "filestore-key",
        keyRing: filestoreKeyring.id,
    });
    const instance = new gcp.filestore.Instance("instance", {
        name: "test-instance",
        location: "us-central1",
        tier: "ENTERPRISE",
        fileShares: {
            capacityGb: 1024,
            name: "share1",
        },
        networks: [{
            network: "default",
            modes: ["MODE_IPV4"],
        }],
        kmsKeyName: filestoreKey.id,
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    filestore_keyring = gcp.kms.KeyRing("filestore_keyring",
        name="filestore-keyring",
        location="us-central1")
    filestore_key = gcp.kms.CryptoKey("filestore_key",
        name="filestore-key",
        key_ring=filestore_keyring.id)
    instance = gcp.filestore.Instance("instance",
        name="test-instance",
        location="us-central1",
        tier="ENTERPRISE",
        file_shares=gcp.filestore.InstanceFileSharesArgs(
            capacity_gb=1024,
            name="share1",
        ),
        networks=[gcp.filestore.InstanceNetworkArgs(
            network="default",
            modes=["MODE_IPV4"],
        )],
        kms_key_name=filestore_key.id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/filestore"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/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, "filestore_keyring", &kms.KeyRingArgs{
    			Name:     pulumi.String("filestore-keyring"),
    			Location: pulumi.String("us-central1"),
    		})
    		if err != nil {
    			return err
    		}
    		filestoreKey, err := kms.NewCryptoKey(ctx, "filestore_key", &kms.CryptoKeyArgs{
    			Name:    pulumi.String("filestore-key"),
    			KeyRing: filestoreKeyring.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = filestore.NewInstance(ctx, "instance", &filestore.InstanceArgs{
    			Name:     pulumi.String("test-instance"),
    			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
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var filestoreKeyring = new Gcp.Kms.KeyRing("filestore_keyring", new()
        {
            Name = "filestore-keyring",
            Location = "us-central1",
        });
    
        var filestoreKey = new Gcp.Kms.CryptoKey("filestore_key", new()
        {
            Name = "filestore-key",
            KeyRing = filestoreKeyring.Id,
        });
    
        var instance = new Gcp.Filestore.Instance("instance", new()
        {
            Name = "test-instance",
            Location = "us-central1",
            Tier = "ENTERPRISE",
            FileShares = new Gcp.Filestore.Inputs.InstanceFileSharesArgs
            {
                CapacityGb = 1024,
                Name = "share1",
            },
            Networks = new[]
            {
                new Gcp.Filestore.Inputs.InstanceNetworkArgs
                {
                    Network = "default",
                    Modes = new[]
                    {
                        "MODE_IPV4",
                    },
                },
            },
            KmsKeyName = filestoreKey.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.kms.KeyRing;
    import com.pulumi.gcp.kms.KeyRingArgs;
    import com.pulumi.gcp.kms.CryptoKey;
    import com.pulumi.gcp.kms.CryptoKeyArgs;
    import com.pulumi.gcp.filestore.Instance;
    import com.pulumi.gcp.filestore.InstanceArgs;
    import com.pulumi.gcp.filestore.inputs.InstanceFileSharesArgs;
    import com.pulumi.gcp.filestore.inputs.InstanceNetworkArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var filestoreKeyring = new KeyRing("filestoreKeyring", KeyRingArgs.builder()        
                .name("filestore-keyring")
                .location("us-central1")
                .build());
    
            var filestoreKey = new CryptoKey("filestoreKey", CryptoKeyArgs.builder()        
                .name("filestore-key")
                .keyRing(filestoreKeyring.id())
                .build());
    
            var instance = new Instance("instance", InstanceArgs.builder()        
                .name("test-instance")
                .location("us-central1")
                .tier("ENTERPRISE")
                .fileShares(InstanceFileSharesArgs.builder()
                    .capacityGb(1024)
                    .name("share1")
                    .build())
                .networks(InstanceNetworkArgs.builder()
                    .network("default")
                    .modes("MODE_IPV4")
                    .build())
                .kmsKeyName(filestoreKey.id())
                .build());
    
        }
    }
    
    resources:
      instance:
        type: gcp:filestore:Instance
        properties:
          name: test-instance
          location: us-central1
          tier: ENTERPRISE
          fileShares:
            capacityGb: 1024
            name: share1
          networks:
            - network: default
              modes:
                - MODE_IPV4
          kmsKeyName: ${filestoreKey.id}
      filestoreKeyring:
        type: gcp:kms:KeyRing
        name: filestore_keyring
        properties:
          name: filestore-keyring
          location: us-central1
      filestoreKey:
        type: gcp:kms:CryptoKey
        name: filestore_key
        properties:
          name: filestore-key
          keyRing: ${filestoreKeyring.id}
    

    Create Instance Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Instance(name: string, args: InstanceArgs, opts?: CustomResourceOptions);
    @overload
    def Instance(resource_name: str,
                 args: InstanceArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def Instance(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 file_shares: Optional[InstanceFileSharesArgs] = None,
                 networks: Optional[Sequence[InstanceNetworkArgs]] = None,
                 tier: Optional[str] = None,
                 description: Optional[str] = None,
                 kms_key_name: Optional[str] = None,
                 labels: Optional[Mapping[str, str]] = None,
                 location: Optional[str] = None,
                 name: Optional[str] = None,
                 project: Optional[str] = None,
                 zone: Optional[str] = None)
    func NewInstance(ctx *Context, name string, args InstanceArgs, opts ...ResourceOption) (*Instance, error)
    public Instance(string name, InstanceArgs args, CustomResourceOptions? opts = null)
    public Instance(String name, InstanceArgs args)
    public Instance(String name, InstanceArgs args, CustomResourceOptions options)
    
    type: gcp:filestore:Instance
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var exampleinstanceResourceResourceFromFilestoreinstance = new Gcp.Filestore.Instance("exampleinstanceResourceResourceFromFilestoreinstance", new()
    {
        FileShares = new Gcp.Filestore.Inputs.InstanceFileSharesArgs
        {
            CapacityGb = 0,
            Name = "string",
            NfsExportOptions = new[]
            {
                new Gcp.Filestore.Inputs.InstanceFileSharesNfsExportOptionArgs
                {
                    AccessMode = "string",
                    AnonGid = 0,
                    AnonUid = 0,
                    IpRanges = new[]
                    {
                        "string",
                    },
                    SquashMode = "string",
                },
            },
            SourceBackup = "string",
        },
        Networks = new[]
        {
            new Gcp.Filestore.Inputs.InstanceNetworkArgs
            {
                Modes = new[]
                {
                    "string",
                },
                Network = "string",
                ConnectMode = "string",
                IpAddresses = new[]
                {
                    "string",
                },
                ReservedIpRange = "string",
            },
        },
        Tier = "string",
        Description = "string",
        KmsKeyName = "string",
        Labels = 
        {
            { "string", "string" },
        },
        Location = "string",
        Name = "string",
        Project = "string",
    });
    
    example, err := filestore.NewInstance(ctx, "exampleinstanceResourceResourceFromFilestoreinstance", &filestore.InstanceArgs{
    	FileShares: &filestore.InstanceFileSharesArgs{
    		CapacityGb: pulumi.Int(0),
    		Name:       pulumi.String("string"),
    		NfsExportOptions: filestore.InstanceFileSharesNfsExportOptionArray{
    			&filestore.InstanceFileSharesNfsExportOptionArgs{
    				AccessMode: pulumi.String("string"),
    				AnonGid:    pulumi.Int(0),
    				AnonUid:    pulumi.Int(0),
    				IpRanges: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				SquashMode: pulumi.String("string"),
    			},
    		},
    		SourceBackup: pulumi.String("string"),
    	},
    	Networks: filestore.InstanceNetworkArray{
    		&filestore.InstanceNetworkArgs{
    			Modes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Network:     pulumi.String("string"),
    			ConnectMode: pulumi.String("string"),
    			IpAddresses: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ReservedIpRange: pulumi.String("string"),
    		},
    	},
    	Tier:        pulumi.String("string"),
    	Description: pulumi.String("string"),
    	KmsKeyName:  pulumi.String("string"),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Location: pulumi.String("string"),
    	Name:     pulumi.String("string"),
    	Project:  pulumi.String("string"),
    })
    
    var exampleinstanceResourceResourceFromFilestoreinstance = new Instance("exampleinstanceResourceResourceFromFilestoreinstance", InstanceArgs.builder()        
        .fileShares(InstanceFileSharesArgs.builder()
            .capacityGb(0)
            .name("string")
            .nfsExportOptions(InstanceFileSharesNfsExportOptionArgs.builder()
                .accessMode("string")
                .anonGid(0)
                .anonUid(0)
                .ipRanges("string")
                .squashMode("string")
                .build())
            .sourceBackup("string")
            .build())
        .networks(InstanceNetworkArgs.builder()
            .modes("string")
            .network("string")
            .connectMode("string")
            .ipAddresses("string")
            .reservedIpRange("string")
            .build())
        .tier("string")
        .description("string")
        .kmsKeyName("string")
        .labels(Map.of("string", "string"))
        .location("string")
        .name("string")
        .project("string")
        .build());
    
    exampleinstance_resource_resource_from_filestoreinstance = gcp.filestore.Instance("exampleinstanceResourceResourceFromFilestoreinstance",
        file_shares=gcp.filestore.InstanceFileSharesArgs(
            capacity_gb=0,
            name="string",
            nfs_export_options=[gcp.filestore.InstanceFileSharesNfsExportOptionArgs(
                access_mode="string",
                anon_gid=0,
                anon_uid=0,
                ip_ranges=["string"],
                squash_mode="string",
            )],
            source_backup="string",
        ),
        networks=[gcp.filestore.InstanceNetworkArgs(
            modes=["string"],
            network="string",
            connect_mode="string",
            ip_addresses=["string"],
            reserved_ip_range="string",
        )],
        tier="string",
        description="string",
        kms_key_name="string",
        labels={
            "string": "string",
        },
        location="string",
        name="string",
        project="string")
    
    const exampleinstanceResourceResourceFromFilestoreinstance = new gcp.filestore.Instance("exampleinstanceResourceResourceFromFilestoreinstance", {
        fileShares: {
            capacityGb: 0,
            name: "string",
            nfsExportOptions: [{
                accessMode: "string",
                anonGid: 0,
                anonUid: 0,
                ipRanges: ["string"],
                squashMode: "string",
            }],
            sourceBackup: "string",
        },
        networks: [{
            modes: ["string"],
            network: "string",
            connectMode: "string",
            ipAddresses: ["string"],
            reservedIpRange: "string",
        }],
        tier: "string",
        description: "string",
        kmsKeyName: "string",
        labels: {
            string: "string",
        },
        location: "string",
        name: "string",
        project: "string",
    });
    
    type: gcp:filestore:Instance
    properties:
        description: string
        fileShares:
            capacityGb: 0
            name: string
            nfsExportOptions:
                - accessMode: string
                  anonGid: 0
                  anonUid: 0
                  ipRanges:
                    - string
                  squashMode: string
            sourceBackup: string
        kmsKeyName: string
        labels:
            string: string
        location: string
        name: string
        networks:
            - connectMode: string
              ipAddresses:
                - string
              modes:
                - string
              network: string
              reservedIpRange: string
        project: string
        tier: string
    

    Instance Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Instance resource accepts the following input properties:

    FileShares InstanceFileShares
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    Networks List<InstanceNetwork>
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    Tier string
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    Description string
    A description of the instance.
    KmsKeyName string
    KMS key name used for data encryption.
    Labels Dictionary<string, string>
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    Location string
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    Name string
    The resource name of the instance.
    Project string
    Zone string
    The name of the Filestore zone of the instance.

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

    FileShares InstanceFileSharesArgs
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    Networks []InstanceNetworkArgs
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    Tier string
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    Description string
    A description of the instance.
    KmsKeyName string
    KMS key name used for data encryption.
    Labels map[string]string
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    Location string
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    Name string
    The resource name of the instance.
    Project string
    Zone string
    The name of the Filestore zone of the instance.

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

    fileShares InstanceFileShares
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    networks List<InstanceNetwork>
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    tier String
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    description String
    A description of the instance.
    kmsKeyName String
    KMS key name used for data encryption.
    labels Map<String,String>
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location String
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    name String
    The resource name of the instance.
    project String
    zone String
    The name of the Filestore zone of the instance.

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

    fileShares InstanceFileShares
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    networks InstanceNetwork[]
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    tier string
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    description string
    A description of the instance.
    kmsKeyName string
    KMS key name used for data encryption.
    labels {[key: string]: string}
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location string
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    name string
    The resource name of the instance.
    project string
    zone string
    The name of the Filestore zone of the instance.

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

    file_shares InstanceFileSharesArgs
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    networks Sequence[InstanceNetworkArgs]
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    tier str
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    description str
    A description of the instance.
    kms_key_name str
    KMS key name used for data encryption.
    labels Mapping[str, str]
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location str
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    name str
    The resource name of the instance.
    project str
    zone str
    The name of the Filestore zone of the instance.

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

    fileShares Property Map
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    networks List<Property Map>
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    tier String
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    description String
    A description of the instance.
    kmsKeyName String
    KMS key name used for data encryption.
    labels Map<String>
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location String
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    name String
    The resource name of the instance.
    project String
    zone String
    The name of the Filestore zone of the instance.

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

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Instance resource produces the following output properties:

    CreateTime string
    Creation timestamp in RFC3339 text format.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Etag string
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    Id string
    The provider-assigned unique ID for this managed resource.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    CreateTime string
    Creation timestamp in RFC3339 text format.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Etag string
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    Id string
    The provider-assigned unique ID for this managed resource.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    createTime String
    Creation timestamp in RFC3339 text format.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    etag String
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    id String
    The provider-assigned unique ID for this managed resource.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    createTime string
    Creation timestamp in RFC3339 text format.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    etag string
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    id string
    The provider-assigned unique ID for this managed resource.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    create_time str
    Creation timestamp in RFC3339 text format.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    etag str
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    id str
    The provider-assigned unique ID for this managed resource.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    createTime String
    Creation timestamp in RFC3339 text format.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    etag String
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    id String
    The provider-assigned unique ID for this managed resource.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.

    Look up Existing Instance Resource

    Get an existing Instance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: InstanceState, opts?: CustomResourceOptions): Instance
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            create_time: Optional[str] = None,
            description: Optional[str] = None,
            effective_labels: Optional[Mapping[str, str]] = None,
            etag: Optional[str] = None,
            file_shares: Optional[InstanceFileSharesArgs] = None,
            kms_key_name: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            networks: Optional[Sequence[InstanceNetworkArgs]] = None,
            project: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, str]] = None,
            tier: Optional[str] = None,
            zone: Optional[str] = None) -> Instance
    func GetInstance(ctx *Context, name string, id IDInput, state *InstanceState, opts ...ResourceOption) (*Instance, error)
    public static Instance Get(string name, Input<string> id, InstanceState? state, CustomResourceOptions? opts = null)
    public static Instance get(String name, Output<String> id, InstanceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CreateTime string
    Creation timestamp in RFC3339 text format.
    Description string
    A description of the instance.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Etag string
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    FileShares InstanceFileShares
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    KmsKeyName string
    KMS key name used for data encryption.
    Labels Dictionary<string, string>
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    Location string
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    Name string
    The resource name of the instance.
    Networks List<InstanceNetwork>
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    Project string
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Tier string
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    Zone string
    The name of the Filestore zone of the instance.

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

    CreateTime string
    Creation timestamp in RFC3339 text format.
    Description string
    A description of the instance.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    Etag string
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    FileShares InstanceFileSharesArgs
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    KmsKeyName string
    KMS key name used for data encryption.
    Labels map[string]string
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    Location string
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    Name string
    The resource name of the instance.
    Networks []InstanceNetworkArgs
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    Project string
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    Tier string
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    Zone string
    The name of the Filestore zone of the instance.

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

    createTime String
    Creation timestamp in RFC3339 text format.
    description String
    A description of the instance.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    etag String
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    fileShares InstanceFileShares
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    kmsKeyName String
    KMS key name used for data encryption.
    labels Map<String,String>
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location String
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    name String
    The resource name of the instance.
    networks List<InstanceNetwork>
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    project String
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    tier String
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    zone String
    The name of the Filestore zone of the instance.

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

    createTime string
    Creation timestamp in RFC3339 text format.
    description string
    A description of the instance.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    etag string
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    fileShares InstanceFileShares
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    kmsKeyName string
    KMS key name used for data encryption.
    labels {[key: string]: string}
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location string
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    name string
    The resource name of the instance.
    networks InstanceNetwork[]
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    project string
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    tier string
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    zone string
    The name of the Filestore zone of the instance.

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

    create_time str
    Creation timestamp in RFC3339 text format.
    description str
    A description of the instance.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    etag str
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    file_shares InstanceFileSharesArgs
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    kms_key_name str
    KMS key name used for data encryption.
    labels Mapping[str, str]
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location str
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    name str
    The resource name of the instance.
    networks Sequence[InstanceNetworkArgs]
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    project str
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    tier str
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    zone str
    The name of the Filestore zone of the instance.

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

    createTime String
    Creation timestamp in RFC3339 text format.
    description String
    A description of the instance.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    etag String
    Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
    fileShares Property Map
    File system shares on the instance. For this version, only a single file share is supported. Structure is documented below.
    kmsKeyName String
    KMS key name used for data encryption.
    labels Map<String>
    Resource labels to represent user-provided metadata. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
    location String
    The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
    name String
    The resource name of the instance.
    networks List<Property Map>
    VPC networks to which the instance is connected. For this version, only a single network is supported. Structure is documented below.
    project String
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    tier String
    The service tier of the instance. Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
    zone String
    The name of the Filestore zone of the instance.

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

    Supporting Types

    InstanceFileShares, InstanceFileSharesArgs

    CapacityGb int
    File share capacity in GiB. This must be at least 1024 GiB for the standard tier, or 2560 GiB for the premium tier.
    Name string
    The name of the fileshare (16 characters or less)
    NfsExportOptions List<InstanceFileSharesNfsExportOption>
    Nfs Export Options. There is a limit of 10 export options per file share. Structure is documented below.
    SourceBackup string
    The resource name of the backup, in the format projects/{projectId}/locations/{locationId}/backups/{backupId}, that this file share has been restored from.
    CapacityGb int
    File share capacity in GiB. This must be at least 1024 GiB for the standard tier, or 2560 GiB for the premium tier.
    Name string
    The name of the fileshare (16 characters or less)
    NfsExportOptions []InstanceFileSharesNfsExportOption
    Nfs Export Options. There is a limit of 10 export options per file share. Structure is documented below.
    SourceBackup string
    The resource name of the backup, in the format projects/{projectId}/locations/{locationId}/backups/{backupId}, that this file share has been restored from.
    capacityGb Integer
    File share capacity in GiB. This must be at least 1024 GiB for the standard tier, or 2560 GiB for the premium tier.
    name String
    The name of the fileshare (16 characters or less)
    nfsExportOptions List<InstanceFileSharesNfsExportOption>
    Nfs Export Options. There is a limit of 10 export options per file share. Structure is documented below.
    sourceBackup String
    The resource name of the backup, in the format projects/{projectId}/locations/{locationId}/backups/{backupId}, that this file share has been restored from.
    capacityGb number
    File share capacity in GiB. This must be at least 1024 GiB for the standard tier, or 2560 GiB for the premium tier.
    name string
    The name of the fileshare (16 characters or less)
    nfsExportOptions InstanceFileSharesNfsExportOption[]
    Nfs Export Options. There is a limit of 10 export options per file share. Structure is documented below.
    sourceBackup string
    The resource name of the backup, in the format projects/{projectId}/locations/{locationId}/backups/{backupId}, that this file share has been restored from.
    capacity_gb int
    File share capacity in GiB. This must be at least 1024 GiB for the standard tier, or 2560 GiB for the premium tier.
    name str
    The name of the fileshare (16 characters or less)
    nfs_export_options Sequence[InstanceFileSharesNfsExportOption]
    Nfs Export Options. There is a limit of 10 export options per file share. Structure is documented below.
    source_backup str
    The resource name of the backup, in the format projects/{projectId}/locations/{locationId}/backups/{backupId}, that this file share has been restored from.
    capacityGb Number
    File share capacity in GiB. This must be at least 1024 GiB for the standard tier, or 2560 GiB for the premium tier.
    name String
    The name of the fileshare (16 characters or less)
    nfsExportOptions List<Property Map>
    Nfs Export Options. There is a limit of 10 export options per file share. Structure is documented below.
    sourceBackup String
    The resource name of the backup, in the format projects/{projectId}/locations/{locationId}/backups/{backupId}, that this file share has been restored from.

    InstanceFileSharesNfsExportOption, InstanceFileSharesNfsExportOptionArgs

    AccessMode string
    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.
    AnonGid int
    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.
    AnonUid int
    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.
    IpRanges List<string>
    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.
    SquashMode string
    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.
    AccessMode string
    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.
    AnonGid int
    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.
    AnonUid int
    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.
    IpRanges []string
    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.
    SquashMode string
    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.
    accessMode String
    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.
    anonGid Integer
    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.
    anonUid Integer
    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.
    ipRanges List<String>
    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.
    squashMode String
    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.
    accessMode string
    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.
    anonGid number
    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.
    anonUid number
    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.
    ipRanges string[]
    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.
    squashMode string
    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.
    access_mode str
    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.
    anon_gid int
    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.
    anon_uid int
    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.
    ip_ranges Sequence[str]
    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.
    squash_mode str
    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.
    accessMode String
    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.
    anonGid Number
    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.
    anonUid Number
    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.
    ipRanges List<String>
    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.
    squashMode String
    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.

    InstanceNetwork, InstanceNetworkArgs

    Modes List<string>
    IP versions for which the instance has IP addresses assigned. Each value may be one of: ADDRESS_MODE_UNSPECIFIED, MODE_IPV4, MODE_IPV6.
    Network string
    The name of the GCE VPC network to which the instance is connected.
    ConnectMode string
    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.


    IpAddresses List<string>
    (Output) A list of IPv4 or IPv6 addresses.
    ReservedIpRange string
    A /29 CIDR block that identifies the range of IP addresses reserved for this instance.
    Modes []string
    IP versions for which the instance has IP addresses assigned. Each value may be one of: ADDRESS_MODE_UNSPECIFIED, MODE_IPV4, MODE_IPV6.
    Network string
    The name of the GCE VPC network to which the instance is connected.
    ConnectMode string
    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.


    IpAddresses []string
    (Output) A list of IPv4 or IPv6 addresses.
    ReservedIpRange string
    A /29 CIDR block that identifies the range of IP addresses reserved for this instance.
    modes List<String>
    IP versions for which the instance has IP addresses assigned. Each value may be one of: ADDRESS_MODE_UNSPECIFIED, MODE_IPV4, MODE_IPV6.
    network String
    The name of the GCE VPC network to which the instance is connected.
    connectMode String
    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.


    ipAddresses List<String>
    (Output) A list of IPv4 or IPv6 addresses.
    reservedIpRange String
    A /29 CIDR block that identifies the range of IP addresses reserved for this instance.
    modes string[]
    IP versions for which the instance has IP addresses assigned. Each value may be one of: ADDRESS_MODE_UNSPECIFIED, MODE_IPV4, MODE_IPV6.
    network string
    The name of the GCE VPC network to which the instance is connected.
    connectMode string
    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.


    ipAddresses string[]
    (Output) A list of IPv4 or IPv6 addresses.
    reservedIpRange string
    A /29 CIDR block that identifies the range of IP addresses reserved for this instance.
    modes Sequence[str]
    IP versions for which the instance has IP addresses assigned. Each value may be one of: ADDRESS_MODE_UNSPECIFIED, MODE_IPV4, MODE_IPV6.
    network str
    The name of the GCE VPC network to which the instance is connected.
    connect_mode str
    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.


    ip_addresses Sequence[str]
    (Output) A list of IPv4 or IPv6 addresses.
    reserved_ip_range str
    A /29 CIDR block that identifies the range of IP addresses reserved for this instance.
    modes List<String>
    IP versions for which the instance has IP addresses assigned. Each value may be one of: ADDRESS_MODE_UNSPECIFIED, MODE_IPV4, MODE_IPV6.
    network String
    The name of the GCE VPC network to which the instance is connected.
    connectMode String
    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.


    ipAddresses List<String>
    (Output) A list of IPv4 or IPv6 addresses.
    reservedIpRange String
    A /29 CIDR block that identifies the range of IP addresses reserved for this instance.

    Import

    Instance can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{location}}/instances/{{name}}

    • {{project}}/{{location}}/{{name}}

    • {{location}}/{{name}}

    When using the pulumi import command, Instance can be imported using one of the formats above. For example:

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

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.20.0 published on Wednesday, Apr 24, 2024 by Pulumi