Cloud Filestore API . projects . locations . instances

Instance Methods

shares()

Returns the shares Resource.

snapshots()

Returns the snapshots Resource.

close()

Close httplib2 connections.

create(parent, body=None, instanceId=None, x__xgafv=None)

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).

delete(name, force=None, x__xgafv=None)

Deletes an instance.

get(name, x__xgafv=None)

Gets the details of a specific instance.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists all instances in a project for either a specified location or for all locations.

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates the settings of a specific instance.

promoteReplica(name, body=None, x__xgafv=None)

Promote the standby instance (replica).

restore(name, body=None, x__xgafv=None)

Restores an existing instance's file share from a backup. The capacity of the 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).

revert(name, body=None, x__xgafv=None)

Revert an existing instance's file system to a specified snapshot.

Method Details

close()
Close httplib2 connections.
create(parent, body=None, instanceId=None, x__xgafv=None)
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).

Args:
  parent: string, Required. The instance's project and location, in the format `projects/{project_id}/locations/{location}`. In Filestore, locations map to Google Cloud zones, for example **us-west1-b**. (required)
  body: object, The request body.
    The object takes the form of:

{ # A Filestore instance.
  "capacityGb": "A String", # 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.
  "capacityStepSizeGb": "A String", # Output only. The increase/decrease capacity step size.
  "configurablePerformanceEnabled": True or False, # Output only. Indicates whether this instance's performance is configurable. If enabled, adjust it using the 'performance_config' field.
  "createTime": "A String", # Output only. The time when the instance was created.
  "deletionProtectionEnabled": True or False, # Optional. Indicates whether the instance is protected against deletion.
  "deletionProtectionReason": "A String", # Optional. The reason for enabling deletion protection.
  "description": "A String", # The description of the instance (2048 characters or less).
  "directoryServices": { # Directory Services configuration for Kerberos-based authentication. # Optional. Directory Services configuration for Kerberos-based authentication. Should only be set if protocol is "NFS_V4_1".
    "managedActiveDirectory": { # ManagedActiveDirectoryConfig contains all the parameters for connecting to Managed Service for Microsoft Active Directory (Managed Microsoft AD). # Configuration for Managed Service for Microsoft Active Directory.
      "computer": "A String", # Required. The computer name is used as a prefix in the command to mount the remote target. For example: if the computer is `my-computer`, the mount command will look like: `$mount -o vers=4.1,sec=krb5 my-computer.filestore.: `.
      "domain": "A String", # Required. The domain resource name, in the format `projects/{project_id}/locations/global/domains/{domain}`.
    },
  },
  "etag": "A String", # Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
  "fileShares": [ # File system shares on the instance. For this version, only a single file share is supported.
    { # File share configuration for the instance.
      "capacityGb": "A String", # File share capacity in gigabytes (GB). Filestore defines 1 GB as 1024^3 bytes.
      "name": "A String", # Required. The name of the file share. Must use 1-16 characters for the basic service tier and 1-63 characters for all other service tiers. Must use lowercase letters, numbers, or underscores `[a-z0-9_]`. Must start with a letter. Immutable.
      "nfsExportOptions": [ # Nfs Export Options. There is a limit of 10 export options per file share.
        { # NFS export options specifications.
          "accessMode": "A 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.
          "anonGid": "A String", # An integer representing the anonymous group id with a default value of 65534. Anon_gid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
          "anonUid": "A String", # An integer representing the anonymous user id with a default value of 65534. Anon_uid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
          "ipRanges": [ # List of either an IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask size}` 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.
            "A String",
          ],
          "securityFlavors": [ # The security flavors allowed for mount operations. The default is AUTH_SYS.
            "A String",
          ],
          "squashMode": "A 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.
        },
      ],
      "sourceBackup": "A String", # The resource name of the backup, in the format `projects/{project_id}/locations/{location_id}/backups/{backup_id}`, that this file share has been restored from.
    },
  ],
  "kmsKeyName": "A String", # KMS key name used for data encryption.
  "labels": { # Resource labels to represent user provided metadata.
    "a_key": "A String",
  },
  "maxCapacityGb": "A String", # Output only. The max capacity of the instance.
  "maxShareCount": "A String", # The max number of shares allowed.
  "multiShareEnabled": True or False, # 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.
  "name": "A String", # Output only. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`.
  "networks": [ # VPC networks to which the instance is connected. For this version, only a single network is supported.
    { # Network configuration for the instance.
      "connectMode": "A String", # The network connect mode of the Filestore instance. If not provided, the connect mode defaults to DIRECT_PEERING.
      "ipAddresses": [ # Output only. IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or IPv6 addresses in the format `{block1}:{block2}:{block3}:{block4}:{block5}:{block6}:{block7}:{block8}`.
        "A String",
      ],
      "modes": [ # Internet protocol versions for which the instance has IP addresses assigned. For this version, only MODE_IPV4 is supported.
        "A String",
      ],
      "network": "A String", # The name of the Google Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected.
      "reservedIpRange": "A String", # Optional, reserved_ip_range can have one of the following two types of values. * CIDR range value when using DIRECT_PEERING connect mode. * [Allocated IP address range](https://cloud.google.com/compute/docs/ip-addresses/reserve-static-internal-ip-address) when using PRIVATE_SERVICE_ACCESS connect mode. When the name of an allocated IP address range is specified, it must be one of the ranges associated with the private service access connection. When specified as a direct CIDR value, it must be a /29 CIDR block for Basic tier, a /24 CIDR block for High Scale tier, or a /26 CIDR block for Enterprise tier in one of the [internal IP address ranges](https://www.arin.net/reference/research/statistics/address_filters/) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29, 192.168.0.0/24, or 192.168.0.0/26, respectively. The range you specify can't overlap with either existing subnets or assigned IP address ranges for other Filestore instances in the selected VPC network.
    },
  ],
  "performanceConfig": { # Used for setting the performance configuration. If the user doesn't specify PerformanceConfig, automatically provision the default performance settings as described in https://cloud.google.com/filestore/docs/performance. Larger instances will be linearly set to more IOPS. If the instance's capacity is increased or decreased, its performance will be automatically adjusted upwards or downwards accordingly (respectively). # Optional. Used to configure performance.
    "fixedIops": { # Fixed IOPS (input/output operations per second) parameters. # Choose a fixed provisioned IOPS value for the instance, which will remain constant regardless of instance capacity. Value must be a multiple of 1000. If the chosen value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error.
      "maxIops": "A String", # Required. Maximum IOPS.
      "maxReadIops": "A String", # Optional. Deprecated: `max_iops` should be used instead of this parameter. Maximum read IOPS.
    },
    "iopsPerTb": { # IOPS per TB. Filestore defines TB as 1024^4 bytes (TiB). # Provision IOPS dynamically based on the capacity of the instance. Provisioned read IOPS will be calculated by multiplying the capacity of the instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB instance with an `iops_per_tb` value of 17000 the provisioned read IOPS will be 34000. If the calculated value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error.
      "maxIopsPerTb": "A String", # Required. Maximum IOPS per TiB.
      "maxReadIopsPerTb": "A String", # Optional. Deprecated: `max_iops_per_tb` should be used instead of this parameter. Maximum read IOPS per TiB.
    },
  },
  "performanceLimits": { # The enforced performance limits, calculated from the instance's performance configuration. # Output only. Used for getting performance limits.
    "maxReadIops": "A String", # Output only. The max read IOPS.
    "maxReadThroughputBps": "A String", # Output only. The max read throughput in bytes per second.
    "maxWriteIops": "A String", # Output only. The max write IOPS.
    "maxWriteThroughputBps": "A String", # Output only. The max write throughput in bytes per second.
  },
  "protocol": "A String", # 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`.
  "replication": { # Replication specifications. # Optional. Replication configuration.
    "replicas": [ # Replication configuration for the replica instance associated with this instance. Only a single replica is supported.
      { # Replica configuration for the instance.
        "lastActiveSyncTime": "A String", # Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.
        "peerInstance": "A String", # The peer instance.
        "state": "A String", # Output only. The replica state.
        "stateReasons": [ # Output only. Additional information about the replication state, if available.
          "A String",
        ],
      },
    ],
    "role": "A String", # Output only. The replication role.
  },
  "satisfiesPzi": True or False, # Output only. Reserved for future use.
  "satisfiesPzs": True or False, # Output only. Reserved for future use.
  "state": "A String", # Output only. The instance state.
  "statusMessage": "A String", # Output only. Additional information about the instance state, if available.
  "suspensionReasons": [ # Output only. Field indicates all the reasons the instance is in "SUSPENDED" state.
    "A String",
  ],
  "tags": { # Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"
    "a_key": "A String",
  },
  "tier": "A String", # The service tier of the instance.
}

  instanceId: string, 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.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
delete(name, force=None, x__xgafv=None)
Deletes an instance.

Args:
  name: string, Required. The instance resource name, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}` (required)
  force: boolean, If set to true, any snapshots of the instance will also be deleted. (Otherwise, the request will only work if the instance has no snapshots.)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
get(name, x__xgafv=None)
Gets the details of a specific instance.

Args:
  name: string, Required. The instance resource name, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A Filestore instance.
  "capacityGb": "A String", # 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.
  "capacityStepSizeGb": "A String", # Output only. The increase/decrease capacity step size.
  "configurablePerformanceEnabled": True or False, # Output only. Indicates whether this instance's performance is configurable. If enabled, adjust it using the 'performance_config' field.
  "createTime": "A String", # Output only. The time when the instance was created.
  "deletionProtectionEnabled": True or False, # Optional. Indicates whether the instance is protected against deletion.
  "deletionProtectionReason": "A String", # Optional. The reason for enabling deletion protection.
  "description": "A String", # The description of the instance (2048 characters or less).
  "directoryServices": { # Directory Services configuration for Kerberos-based authentication. # Optional. Directory Services configuration for Kerberos-based authentication. Should only be set if protocol is "NFS_V4_1".
    "managedActiveDirectory": { # ManagedActiveDirectoryConfig contains all the parameters for connecting to Managed Service for Microsoft Active Directory (Managed Microsoft AD). # Configuration for Managed Service for Microsoft Active Directory.
      "computer": "A String", # Required. The computer name is used as a prefix in the command to mount the remote target. For example: if the computer is `my-computer`, the mount command will look like: `$mount -o vers=4.1,sec=krb5 my-computer.filestore.: `.
      "domain": "A String", # Required. The domain resource name, in the format `projects/{project_id}/locations/global/domains/{domain}`.
    },
  },
  "etag": "A String", # Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
  "fileShares": [ # File system shares on the instance. For this version, only a single file share is supported.
    { # File share configuration for the instance.
      "capacityGb": "A String", # File share capacity in gigabytes (GB). Filestore defines 1 GB as 1024^3 bytes.
      "name": "A String", # Required. The name of the file share. Must use 1-16 characters for the basic service tier and 1-63 characters for all other service tiers. Must use lowercase letters, numbers, or underscores `[a-z0-9_]`. Must start with a letter. Immutable.
      "nfsExportOptions": [ # Nfs Export Options. There is a limit of 10 export options per file share.
        { # NFS export options specifications.
          "accessMode": "A 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.
          "anonGid": "A String", # An integer representing the anonymous group id with a default value of 65534. Anon_gid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
          "anonUid": "A String", # An integer representing the anonymous user id with a default value of 65534. Anon_uid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
          "ipRanges": [ # List of either an IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask size}` 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.
            "A String",
          ],
          "securityFlavors": [ # The security flavors allowed for mount operations. The default is AUTH_SYS.
            "A String",
          ],
          "squashMode": "A 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.
        },
      ],
      "sourceBackup": "A String", # The resource name of the backup, in the format `projects/{project_id}/locations/{location_id}/backups/{backup_id}`, that this file share has been restored from.
    },
  ],
  "kmsKeyName": "A String", # KMS key name used for data encryption.
  "labels": { # Resource labels to represent user provided metadata.
    "a_key": "A String",
  },
  "maxCapacityGb": "A String", # Output only. The max capacity of the instance.
  "maxShareCount": "A String", # The max number of shares allowed.
  "multiShareEnabled": True or False, # 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.
  "name": "A String", # Output only. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`.
  "networks": [ # VPC networks to which the instance is connected. For this version, only a single network is supported.
    { # Network configuration for the instance.
      "connectMode": "A String", # The network connect mode of the Filestore instance. If not provided, the connect mode defaults to DIRECT_PEERING.
      "ipAddresses": [ # Output only. IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or IPv6 addresses in the format `{block1}:{block2}:{block3}:{block4}:{block5}:{block6}:{block7}:{block8}`.
        "A String",
      ],
      "modes": [ # Internet protocol versions for which the instance has IP addresses assigned. For this version, only MODE_IPV4 is supported.
        "A String",
      ],
      "network": "A String", # The name of the Google Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected.
      "reservedIpRange": "A String", # Optional, reserved_ip_range can have one of the following two types of values. * CIDR range value when using DIRECT_PEERING connect mode. * [Allocated IP address range](https://cloud.google.com/compute/docs/ip-addresses/reserve-static-internal-ip-address) when using PRIVATE_SERVICE_ACCESS connect mode. When the name of an allocated IP address range is specified, it must be one of the ranges associated with the private service access connection. When specified as a direct CIDR value, it must be a /29 CIDR block for Basic tier, a /24 CIDR block for High Scale tier, or a /26 CIDR block for Enterprise tier in one of the [internal IP address ranges](https://www.arin.net/reference/research/statistics/address_filters/) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29, 192.168.0.0/24, or 192.168.0.0/26, respectively. The range you specify can't overlap with either existing subnets or assigned IP address ranges for other Filestore instances in the selected VPC network.
    },
  ],
  "performanceConfig": { # Used for setting the performance configuration. If the user doesn't specify PerformanceConfig, automatically provision the default performance settings as described in https://cloud.google.com/filestore/docs/performance. Larger instances will be linearly set to more IOPS. If the instance's capacity is increased or decreased, its performance will be automatically adjusted upwards or downwards accordingly (respectively). # Optional. Used to configure performance.
    "fixedIops": { # Fixed IOPS (input/output operations per second) parameters. # Choose a fixed provisioned IOPS value for the instance, which will remain constant regardless of instance capacity. Value must be a multiple of 1000. If the chosen value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error.
      "maxIops": "A String", # Required. Maximum IOPS.
      "maxReadIops": "A String", # Optional. Deprecated: `max_iops` should be used instead of this parameter. Maximum read IOPS.
    },
    "iopsPerTb": { # IOPS per TB. Filestore defines TB as 1024^4 bytes (TiB). # Provision IOPS dynamically based on the capacity of the instance. Provisioned read IOPS will be calculated by multiplying the capacity of the instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB instance with an `iops_per_tb` value of 17000 the provisioned read IOPS will be 34000. If the calculated value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error.
      "maxIopsPerTb": "A String", # Required. Maximum IOPS per TiB.
      "maxReadIopsPerTb": "A String", # Optional. Deprecated: `max_iops_per_tb` should be used instead of this parameter. Maximum read IOPS per TiB.
    },
  },
  "performanceLimits": { # The enforced performance limits, calculated from the instance's performance configuration. # Output only. Used for getting performance limits.
    "maxReadIops": "A String", # Output only. The max read IOPS.
    "maxReadThroughputBps": "A String", # Output only. The max read throughput in bytes per second.
    "maxWriteIops": "A String", # Output only. The max write IOPS.
    "maxWriteThroughputBps": "A String", # Output only. The max write throughput in bytes per second.
  },
  "protocol": "A String", # 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`.
  "replication": { # Replication specifications. # Optional. Replication configuration.
    "replicas": [ # Replication configuration for the replica instance associated with this instance. Only a single replica is supported.
      { # Replica configuration for the instance.
        "lastActiveSyncTime": "A String", # Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.
        "peerInstance": "A String", # The peer instance.
        "state": "A String", # Output only. The replica state.
        "stateReasons": [ # Output only. Additional information about the replication state, if available.
          "A String",
        ],
      },
    ],
    "role": "A String", # Output only. The replication role.
  },
  "satisfiesPzi": True or False, # Output only. Reserved for future use.
  "satisfiesPzs": True or False, # Output only. Reserved for future use.
  "state": "A String", # Output only. The instance state.
  "statusMessage": "A String", # Output only. Additional information about the instance state, if available.
  "suspensionReasons": [ # Output only. Field indicates all the reasons the instance is in "SUSPENDED" state.
    "A String",
  ],
  "tags": { # Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"
    "a_key": "A String",
  },
  "tier": "A String", # The service tier of the instance.
}
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists all instances in a project for either a specified location or for all locations.

Args:
  parent: string, Required. The project and location for which to retrieve instance information, in the format `projects/{project_id}/locations/{location}`. In Cloud Filestore, locations map to Google Cloud zones, for example **us-west1-b**. To retrieve instance information for all locations, use "-" for the `{location}` value. (required)
  filter: string, List filter.
  orderBy: string, Sort results. Supported values are "name", "name desc" or "" (unsorted).
  pageSize: integer, The maximum number of items to return.
  pageToken: string, The next_page_token value to use if there are additional results to retrieve for this list request.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # ListInstancesResponse is the result of ListInstancesRequest.
  "instances": [ # A list of instances in the project for the specified location. If the `{location}` value in the request is "-", the response contains a list of instances from all locations. If any location is unreachable, the response will only return instances in reachable locations and the "unreachable" field will be populated with a list of unreachable locations.
    { # A Filestore instance.
      "capacityGb": "A String", # 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.
      "capacityStepSizeGb": "A String", # Output only. The increase/decrease capacity step size.
      "configurablePerformanceEnabled": True or False, # Output only. Indicates whether this instance's performance is configurable. If enabled, adjust it using the 'performance_config' field.
      "createTime": "A String", # Output only. The time when the instance was created.
      "deletionProtectionEnabled": True or False, # Optional. Indicates whether the instance is protected against deletion.
      "deletionProtectionReason": "A String", # Optional. The reason for enabling deletion protection.
      "description": "A String", # The description of the instance (2048 characters or less).
      "directoryServices": { # Directory Services configuration for Kerberos-based authentication. # Optional. Directory Services configuration for Kerberos-based authentication. Should only be set if protocol is "NFS_V4_1".
        "managedActiveDirectory": { # ManagedActiveDirectoryConfig contains all the parameters for connecting to Managed Service for Microsoft Active Directory (Managed Microsoft AD). # Configuration for Managed Service for Microsoft Active Directory.
          "computer": "A String", # Required. The computer name is used as a prefix in the command to mount the remote target. For example: if the computer is `my-computer`, the mount command will look like: `$mount -o vers=4.1,sec=krb5 my-computer.filestore.: `.
          "domain": "A String", # Required. The domain resource name, in the format `projects/{project_id}/locations/global/domains/{domain}`.
        },
      },
      "etag": "A String", # Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
      "fileShares": [ # File system shares on the instance. For this version, only a single file share is supported.
        { # File share configuration for the instance.
          "capacityGb": "A String", # File share capacity in gigabytes (GB). Filestore defines 1 GB as 1024^3 bytes.
          "name": "A String", # Required. The name of the file share. Must use 1-16 characters for the basic service tier and 1-63 characters for all other service tiers. Must use lowercase letters, numbers, or underscores `[a-z0-9_]`. Must start with a letter. Immutable.
          "nfsExportOptions": [ # Nfs Export Options. There is a limit of 10 export options per file share.
            { # NFS export options specifications.
              "accessMode": "A 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.
              "anonGid": "A String", # An integer representing the anonymous group id with a default value of 65534. Anon_gid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
              "anonUid": "A String", # An integer representing the anonymous user id with a default value of 65534. Anon_uid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
              "ipRanges": [ # List of either an IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask size}` 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.
                "A String",
              ],
              "securityFlavors": [ # The security flavors allowed for mount operations. The default is AUTH_SYS.
                "A String",
              ],
              "squashMode": "A 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.
            },
          ],
          "sourceBackup": "A String", # The resource name of the backup, in the format `projects/{project_id}/locations/{location_id}/backups/{backup_id}`, that this file share has been restored from.
        },
      ],
      "kmsKeyName": "A String", # KMS key name used for data encryption.
      "labels": { # Resource labels to represent user provided metadata.
        "a_key": "A String",
      },
      "maxCapacityGb": "A String", # Output only. The max capacity of the instance.
      "maxShareCount": "A String", # The max number of shares allowed.
      "multiShareEnabled": True or False, # 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.
      "name": "A String", # Output only. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`.
      "networks": [ # VPC networks to which the instance is connected. For this version, only a single network is supported.
        { # Network configuration for the instance.
          "connectMode": "A String", # The network connect mode of the Filestore instance. If not provided, the connect mode defaults to DIRECT_PEERING.
          "ipAddresses": [ # Output only. IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or IPv6 addresses in the format `{block1}:{block2}:{block3}:{block4}:{block5}:{block6}:{block7}:{block8}`.
            "A String",
          ],
          "modes": [ # Internet protocol versions for which the instance has IP addresses assigned. For this version, only MODE_IPV4 is supported.
            "A String",
          ],
          "network": "A String", # The name of the Google Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected.
          "reservedIpRange": "A String", # Optional, reserved_ip_range can have one of the following two types of values. * CIDR range value when using DIRECT_PEERING connect mode. * [Allocated IP address range](https://cloud.google.com/compute/docs/ip-addresses/reserve-static-internal-ip-address) when using PRIVATE_SERVICE_ACCESS connect mode. When the name of an allocated IP address range is specified, it must be one of the ranges associated with the private service access connection. When specified as a direct CIDR value, it must be a /29 CIDR block for Basic tier, a /24 CIDR block for High Scale tier, or a /26 CIDR block for Enterprise tier in one of the [internal IP address ranges](https://www.arin.net/reference/research/statistics/address_filters/) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29, 192.168.0.0/24, or 192.168.0.0/26, respectively. The range you specify can't overlap with either existing subnets or assigned IP address ranges for other Filestore instances in the selected VPC network.
        },
      ],
      "performanceConfig": { # Used for setting the performance configuration. If the user doesn't specify PerformanceConfig, automatically provision the default performance settings as described in https://cloud.google.com/filestore/docs/performance. Larger instances will be linearly set to more IOPS. If the instance's capacity is increased or decreased, its performance will be automatically adjusted upwards or downwards accordingly (respectively). # Optional. Used to configure performance.
        "fixedIops": { # Fixed IOPS (input/output operations per second) parameters. # Choose a fixed provisioned IOPS value for the instance, which will remain constant regardless of instance capacity. Value must be a multiple of 1000. If the chosen value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error.
          "maxIops": "A String", # Required. Maximum IOPS.
          "maxReadIops": "A String", # Optional. Deprecated: `max_iops` should be used instead of this parameter. Maximum read IOPS.
        },
        "iopsPerTb": { # IOPS per TB. Filestore defines TB as 1024^4 bytes (TiB). # Provision IOPS dynamically based on the capacity of the instance. Provisioned read IOPS will be calculated by multiplying the capacity of the instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB instance with an `iops_per_tb` value of 17000 the provisioned read IOPS will be 34000. If the calculated value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error.
          "maxIopsPerTb": "A String", # Required. Maximum IOPS per TiB.
          "maxReadIopsPerTb": "A String", # Optional. Deprecated: `max_iops_per_tb` should be used instead of this parameter. Maximum read IOPS per TiB.
        },
      },
      "performanceLimits": { # The enforced performance limits, calculated from the instance's performance configuration. # Output only. Used for getting performance limits.
        "maxReadIops": "A String", # Output only. The max read IOPS.
        "maxReadThroughputBps": "A String", # Output only. The max read throughput in bytes per second.
        "maxWriteIops": "A String", # Output only. The max write IOPS.
        "maxWriteThroughputBps": "A String", # Output only. The max write throughput in bytes per second.
      },
      "protocol": "A String", # 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`.
      "replication": { # Replication specifications. # Optional. Replication configuration.
        "replicas": [ # Replication configuration for the replica instance associated with this instance. Only a single replica is supported.
          { # Replica configuration for the instance.
            "lastActiveSyncTime": "A String", # Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.
            "peerInstance": "A String", # The peer instance.
            "state": "A String", # Output only. The replica state.
            "stateReasons": [ # Output only. Additional information about the replication state, if available.
              "A String",
            ],
          },
        ],
        "role": "A String", # Output only. The replication role.
      },
      "satisfiesPzi": True or False, # Output only. Reserved for future use.
      "satisfiesPzs": True or False, # Output only. Reserved for future use.
      "state": "A String", # Output only. The instance state.
      "statusMessage": "A String", # Output only. Additional information about the instance state, if available.
      "suspensionReasons": [ # Output only. Field indicates all the reasons the instance is in "SUSPENDED" state.
        "A String",
      ],
      "tags": { # Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"
        "a_key": "A String",
      },
      "tier": "A String", # The service tier of the instance.
    },
  ],
  "nextPageToken": "A String", # The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.
  "unreachable": [ # Locations that could not be reached.
    "A String",
  ],
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
patch(name, body=None, updateMask=None, x__xgafv=None)
Updates the settings of a specific instance.

Args:
  name: string, Output only. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # A Filestore instance.
  "capacityGb": "A String", # 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.
  "capacityStepSizeGb": "A String", # Output only. The increase/decrease capacity step size.
  "configurablePerformanceEnabled": True or False, # Output only. Indicates whether this instance's performance is configurable. If enabled, adjust it using the 'performance_config' field.
  "createTime": "A String", # Output only. The time when the instance was created.
  "deletionProtectionEnabled": True or False, # Optional. Indicates whether the instance is protected against deletion.
  "deletionProtectionReason": "A String", # Optional. The reason for enabling deletion protection.
  "description": "A String", # The description of the instance (2048 characters or less).
  "directoryServices": { # Directory Services configuration for Kerberos-based authentication. # Optional. Directory Services configuration for Kerberos-based authentication. Should only be set if protocol is "NFS_V4_1".
    "managedActiveDirectory": { # ManagedActiveDirectoryConfig contains all the parameters for connecting to Managed Service for Microsoft Active Directory (Managed Microsoft AD). # Configuration for Managed Service for Microsoft Active Directory.
      "computer": "A String", # Required. The computer name is used as a prefix in the command to mount the remote target. For example: if the computer is `my-computer`, the mount command will look like: `$mount -o vers=4.1,sec=krb5 my-computer.filestore.: `.
      "domain": "A String", # Required. The domain resource name, in the format `projects/{project_id}/locations/global/domains/{domain}`.
    },
  },
  "etag": "A String", # Server-specified ETag for the instance resource to prevent simultaneous updates from overwriting each other.
  "fileShares": [ # File system shares on the instance. For this version, only a single file share is supported.
    { # File share configuration for the instance.
      "capacityGb": "A String", # File share capacity in gigabytes (GB). Filestore defines 1 GB as 1024^3 bytes.
      "name": "A String", # Required. The name of the file share. Must use 1-16 characters for the basic service tier and 1-63 characters for all other service tiers. Must use lowercase letters, numbers, or underscores `[a-z0-9_]`. Must start with a letter. Immutable.
      "nfsExportOptions": [ # Nfs Export Options. There is a limit of 10 export options per file share.
        { # NFS export options specifications.
          "accessMode": "A 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.
          "anonGid": "A String", # An integer representing the anonymous group id with a default value of 65534. Anon_gid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
          "anonUid": "A String", # An integer representing the anonymous user id with a default value of 65534. Anon_uid may only be set with squash_mode of ROOT_SQUASH. An error will be returned if this field is specified for other squash_mode settings.
          "ipRanges": [ # List of either an IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or CIDR ranges in the format `{octet1}.{octet2}.{octet3}.{octet4}/{mask size}` 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.
            "A String",
          ],
          "securityFlavors": [ # The security flavors allowed for mount operations. The default is AUTH_SYS.
            "A String",
          ],
          "squashMode": "A 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.
        },
      ],
      "sourceBackup": "A String", # The resource name of the backup, in the format `projects/{project_id}/locations/{location_id}/backups/{backup_id}`, that this file share has been restored from.
    },
  ],
  "kmsKeyName": "A String", # KMS key name used for data encryption.
  "labels": { # Resource labels to represent user provided metadata.
    "a_key": "A String",
  },
  "maxCapacityGb": "A String", # Output only. The max capacity of the instance.
  "maxShareCount": "A String", # The max number of shares allowed.
  "multiShareEnabled": True or False, # 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.
  "name": "A String", # Output only. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`.
  "networks": [ # VPC networks to which the instance is connected. For this version, only a single network is supported.
    { # Network configuration for the instance.
      "connectMode": "A String", # The network connect mode of the Filestore instance. If not provided, the connect mode defaults to DIRECT_PEERING.
      "ipAddresses": [ # Output only. IPv4 addresses in the format `{octet1}.{octet2}.{octet3}.{octet4}` or IPv6 addresses in the format `{block1}:{block2}:{block3}:{block4}:{block5}:{block6}:{block7}:{block8}`.
        "A String",
      ],
      "modes": [ # Internet protocol versions for which the instance has IP addresses assigned. For this version, only MODE_IPV4 is supported.
        "A String",
      ],
      "network": "A String", # The name of the Google Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected.
      "reservedIpRange": "A String", # Optional, reserved_ip_range can have one of the following two types of values. * CIDR range value when using DIRECT_PEERING connect mode. * [Allocated IP address range](https://cloud.google.com/compute/docs/ip-addresses/reserve-static-internal-ip-address) when using PRIVATE_SERVICE_ACCESS connect mode. When the name of an allocated IP address range is specified, it must be one of the ranges associated with the private service access connection. When specified as a direct CIDR value, it must be a /29 CIDR block for Basic tier, a /24 CIDR block for High Scale tier, or a /26 CIDR block for Enterprise tier in one of the [internal IP address ranges](https://www.arin.net/reference/research/statistics/address_filters/) that identifies the range of IP addresses reserved for this instance. For example, 10.0.0.0/29, 192.168.0.0/24, or 192.168.0.0/26, respectively. The range you specify can't overlap with either existing subnets or assigned IP address ranges for other Filestore instances in the selected VPC network.
    },
  ],
  "performanceConfig": { # Used for setting the performance configuration. If the user doesn't specify PerformanceConfig, automatically provision the default performance settings as described in https://cloud.google.com/filestore/docs/performance. Larger instances will be linearly set to more IOPS. If the instance's capacity is increased or decreased, its performance will be automatically adjusted upwards or downwards accordingly (respectively). # Optional. Used to configure performance.
    "fixedIops": { # Fixed IOPS (input/output operations per second) parameters. # Choose a fixed provisioned IOPS value for the instance, which will remain constant regardless of instance capacity. Value must be a multiple of 1000. If the chosen value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error.
      "maxIops": "A String", # Required. Maximum IOPS.
      "maxReadIops": "A String", # Optional. Deprecated: `max_iops` should be used instead of this parameter. Maximum read IOPS.
    },
    "iopsPerTb": { # IOPS per TB. Filestore defines TB as 1024^4 bytes (TiB). # Provision IOPS dynamically based on the capacity of the instance. Provisioned read IOPS will be calculated by multiplying the capacity of the instance in TiB by the `iops_per_tb` value. For example, for a 2 TiB instance with an `iops_per_tb` value of 17000 the provisioned read IOPS will be 34000. If the calculated value is outside the supported range for the instance's capacity during instance creation, instance creation will fail with an `InvalidArgument` error. Similarly, if an instance capacity update would result in a value outside the supported range, the update will fail with an `InvalidArgument` error.
      "maxIopsPerTb": "A String", # Required. Maximum IOPS per TiB.
      "maxReadIopsPerTb": "A String", # Optional. Deprecated: `max_iops_per_tb` should be used instead of this parameter. Maximum read IOPS per TiB.
    },
  },
  "performanceLimits": { # The enforced performance limits, calculated from the instance's performance configuration. # Output only. Used for getting performance limits.
    "maxReadIops": "A String", # Output only. The max read IOPS.
    "maxReadThroughputBps": "A String", # Output only. The max read throughput in bytes per second.
    "maxWriteIops": "A String", # Output only. The max write IOPS.
    "maxWriteThroughputBps": "A String", # Output only. The max write throughput in bytes per second.
  },
  "protocol": "A String", # 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`.
  "replication": { # Replication specifications. # Optional. Replication configuration.
    "replicas": [ # Replication configuration for the replica instance associated with this instance. Only a single replica is supported.
      { # Replica configuration for the instance.
        "lastActiveSyncTime": "A String", # Output only. The timestamp of the latest replication snapshot taken on the active instance and is already replicated safely.
        "peerInstance": "A String", # The peer instance.
        "state": "A String", # Output only. The replica state.
        "stateReasons": [ # Output only. Additional information about the replication state, if available.
          "A String",
        ],
      },
    ],
    "role": "A String", # Output only. The replication role.
  },
  "satisfiesPzi": True or False, # Output only. Reserved for future use.
  "satisfiesPzs": True or False, # Output only. Reserved for future use.
  "state": "A String", # Output only. The instance state.
  "statusMessage": "A String", # Output only. Additional information about the instance state, if available.
  "suspensionReasons": [ # Output only. Field indicates all the reasons the instance is in "SUSPENDED" state.
    "A String",
  ],
  "tags": { # Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"
    "a_key": "A String",
  },
  "tier": "A String", # The service tier of the instance.
}

  updateMask: string, Required. Mask of fields to update. At least one path must be supplied in this field. The elements of the repeated paths field may only include these fields: * "description" * "directory_services" * "file_shares" * "labels" * "performance_config" * "deletion_protection_enabled" * "deletion_protection_reason"
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
promoteReplica(name, body=None, x__xgafv=None)
Promote the standby instance (replica).

Args:
  name: string, Required. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # PromoteReplicaRequest promotes a Filestore standby instance (replica).
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
restore(name, body=None, x__xgafv=None)
Restores an existing instance's file share from a backup. The capacity of the 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).

Args:
  name: string, Required. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # RestoreInstanceRequest restores an existing instance's file share from a backup.
  "fileShare": "A String", # Required. Name of the file share in the Filestore instance that the backup is being restored to.
  "sourceBackup": "A String", # The resource name of the backup, in the format `projects/{project_id}/locations/{location_id}/backups/{backup_id}`.
  "sourceSnapshot": "A String", # The resource name of the snapshot, in the format `projects/{project_id}/locations/{location_id}/snapshots/{snapshot_id}`.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
revert(name, body=None, x__xgafv=None)
Revert an existing instance's file system to a specified snapshot.

Args:
  name: string, Required. The resource name of the instance, in the format `projects/{project_id}/locations/{location_id}/instances/{instance_id}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # RevertInstanceRequest reverts the given instance's file share to the specified snapshot.
  "targetSnapshotId": "A String", # Required. The snapshot resource ID, in the format 'my-snapshot', where the specified ID is the {snapshot_id} of the fully qualified name like `projects/{project_id}/locations/{location_id}/instances/{instance_id}/snapshots/{snapshot_id}`
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}