import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; import * as enums from "../../types/enums"; /** * Creates an instance. When creating from a backup, the capacity of the new instance needs to be equal to or larger than the capacity of the backup (and also equal to or larger than the minimum capacity of the tier). * Auto-naming is currently not supported for this resource. */ export declare class Instance extends pulumi.CustomResource { /** * Get an existing Instance resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Instance; /** * Returns true if the given object is an instance of Instance. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Instance; /** * The storage capacity of the instance in gigabytes (GB = 1024^3 bytes). This capacity can be increased up to `max_capacity_gb` GB in multipliers of `capacity_step_size_gb` GB. */ readonly capacityGb: pulumi.Output; /** * The increase/decrease capacity step size. */ readonly capacityStepSizeGb: pulumi.Output; /** * The time when the instance was created. */ readonly createTime: pulumi.Output; /** * The description of the instance (2048 characters or less). */ readonly description: pulumi.Output; /** * Directory Services configuration for Kerberos-based authentication. Should only be set if protocol is "NFS_V4_1". */ readonly directoryServices: pulumi.Output; /** * Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other. */ readonly etag: pulumi.Output; /** * File system shares on the instance. For this version, only a single file share is supported. */ readonly fileShares: pulumi.Output; /** * Required. The ID of the instance to create. The ID must be unique within the specified project and location. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. */ readonly instanceId: pulumi.Output; /** * KMS key name used for data encryption. */ readonly kmsKeyName: pulumi.Output; /** * Resource labels to represent user provided metadata. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * The max capacity of the instance. */ readonly maxCapacityGb: pulumi.Output; /** * The max number of shares allowed. */ readonly maxShareCount: pulumi.Output; /** * Indicates whether this instance uses a multi-share configuration with which it can have more than one file-share or none at all. File-shares are added, updated and removed through the separate file-share APIs. */ readonly multiShareEnabled: pulumi.Output; /** * The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`. */ readonly name: pulumi.Output; /** * VPC networks to which the instance is connected. For this version, only a single network is supported. */ readonly networks: pulumi.Output; readonly project: pulumi.Output; /** * Immutable. The protocol indicates the access protocol for all shares in the instance. This field is immutable and it cannot be changed after the instance has been created. Default value: `NFS_V3`. */ readonly protocol: pulumi.Output; /** * Reserved for future use. */ readonly satisfiesPzs: pulumi.Output; /** * The instance state. */ readonly state: pulumi.Output; /** * Additional information about the instance state, if available. */ readonly statusMessage: pulumi.Output; /** * Field indicates all the reasons the instance is in "SUSPENDED" state. */ readonly suspensionReasons: pulumi.Output; /** * The service tier of the instance. */ readonly tier: pulumi.Output; /** * Create a Instance resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: InstanceArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Instance resource. */ export interface InstanceArgs { /** * The storage capacity of the instance in gigabytes (GB = 1024^3 bytes). This capacity can be increased up to `max_capacity_gb` GB in multipliers of `capacity_step_size_gb` GB. */ capacityGb?: pulumi.Input; /** * The description of the instance (2048 characters or less). */ description?: pulumi.Input; /** * Directory Services configuration for Kerberos-based authentication. Should only be set if protocol is "NFS_V4_1". */ directoryServices?: pulumi.Input; /** * Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other. */ etag?: pulumi.Input; /** * File system shares on the instance. For this version, only a single file share is supported. */ fileShares?: pulumi.Input[]>; /** * Required. The ID of the instance to create. The ID must be unique within the specified project and location. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. */ instanceId: pulumi.Input; /** * KMS key name used for data encryption. */ kmsKeyName?: pulumi.Input; /** * Resource labels to represent user provided metadata. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * The max number of shares allowed. */ maxShareCount?: pulumi.Input; /** * Indicates whether this instance uses a multi-share configuration with which it can have more than one file-share or none at all. File-shares are added, updated and removed through the separate file-share APIs. */ multiShareEnabled?: pulumi.Input; /** * VPC networks to which the instance is connected. For this version, only a single network is supported. */ networks?: pulumi.Input[]>; project?: pulumi.Input; /** * Immutable. The protocol indicates the access protocol for all shares in the instance. This field is immutable and it cannot be changed after the instance has been created. Default value: `NFS_V3`. */ protocol?: pulumi.Input; /** * The service tier of the instance. */ tier?: pulumi.Input; }