import * as pulumi from "@pulumi/pulumi";
/**
 * Provides a resource to manage cloudfs file system
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as volcengine from "@volcengine/pulumi";
 *
 * const foo = new volcengine.cloudfs.FileSystem("foo", {
 *     cacheCapacityTib: 10,
 *     cachePlan: "T2",
 *     fsName: "tffile",
 *     mode: "HDFS_MODE",
 *     readOnly: true,
 *     securityGroupId: "sg-rrv1klfg5s00v0x578mx14m",
 *     subnetId: "subnet-13fca1crr5d6o3n6nu46cyb5m",
 *     tosBucket: "tfacc",
 *     tosPrefix: "pre/",
 *     vpcRouteEnabled: true,
 *     zoneId: "cn-beijing-b",
 * });
 * const foo1 = new volcengine.cloudfs.FileSystem("foo1", {
 *     cacheCapacityTib: 15,
 *     cachePlan: "T2",
 *     fsName: "tffileu",
 *     mode: "ACC_MODE",
 *     readOnly: true,
 *     securityGroupId: "sg-rrv1klfg5s00v0x578mx14m",
 *     subnetId: "subnet-13fca1crr5d6o3n6nu46cyb5m",
 *     tosBucket: "tfacc",
 *     vpcRouteEnabled: false,
 *     zoneId: "cn-beijing-b",
 * });
 * ```
 *
 * ## Import
 *
 * CloudFileSystem can be imported using the FsName, e.g.
 *
 * ```sh
 * $ pulumi import volcengine:cloudfs/fileSystem:FileSystem default tfname
 * ```
 */
export declare class FileSystem extends pulumi.CustomResource {
    /**
     * Get an existing FileSystem 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 state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FileSystemState, opts?: pulumi.CustomResourceOptions): FileSystem;
    /**
     * Returns true if the given object is an instance of FileSystem.  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 FileSystem;
    /**
     * The default vpc access id.
     */
    readonly accessId: pulumi.Output<string>;
    /**
     * The capacity of cache. This parameter is required when cache acceleration is enabled.
     */
    readonly cacheCapacityTib: pulumi.Output<number | undefined>;
    /**
     * The cache plan. The value can be `DISABLED` or `T2` or `T4`. When expanding the cache size, the cache plan should remain the same. For data lakes, cache must be enabled.
     */
    readonly cachePlan: pulumi.Output<string>;
    /**
     * The creation time.
     */
    readonly createdTime: pulumi.Output<string>;
    /**
     * The name of file system.
     */
    readonly fsName: pulumi.Output<string>;
    /**
     * The mode of file system. The value can be `HDFS_MODE` or `ACC_MODE`.
     */
    readonly mode: pulumi.Output<string>;
    /**
     * The point mount.
     */
    readonly mountPoint: pulumi.Output<string>;
    /**
     * Whether the Namespace created automatically when mounting the TOS Bucket is read-only. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    readonly readOnly: pulumi.Output<boolean | undefined>;
    /**
     * The id of security group. This parameter is required when cache acceleration is enabled.
     */
    readonly securityGroupId: pulumi.Output<string | undefined>;
    /**
     * Status of file system.
     */
    readonly status: pulumi.Output<string>;
    /**
     * The id of subnet. This parameter is required when cache acceleration is enabled.
     */
    readonly subnetId: pulumi.Output<string | undefined>;
    /**
     * When a data lake scenario instance chooses to associate a bucket under another account, you need to set the ID of the account. When importing resources, this attribute will not be imported.
     */
    readonly tosAccountId: pulumi.Output<number | undefined>;
    /**
     * The tos ak. When the data lake scenario chooses to associate buckets under other accounts, need to set the Access Key ID of the account. When importing resources, this attribute will not be imported.
     */
    readonly tosAk: pulumi.Output<string | undefined>;
    /**
     * The tos bucket. When importing ACC_MODE resources, this attribute will not be imported.
     */
    readonly tosBucket: pulumi.Output<string | undefined>;
    /**
     * The tos prefix. Must not start with /, but must end with /, such as prefix/. When it is empty, it means the root path. When importing ACC_MODE resources, this attribute will not be imported.
     */
    readonly tosPrefix: pulumi.Output<string | undefined>;
    /**
     * The tos sk. When the data lake scenario chooses to associate buckets under other accounts, need to set the Secret Access Key of the account. When importing resources, this attribute will not be imported.
     */
    readonly tosSk: pulumi.Output<string | undefined>;
    /**
     * The id of vpc.
     */
    readonly vpcId: pulumi.Output<string>;
    /**
     * Whether enable all vpc route.
     */
    readonly vpcRouteEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The id of zone.
     */
    readonly zoneId: pulumi.Output<string>;
    /**
     * Create a FileSystem 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: FileSystemArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering FileSystem resources.
 */
export interface FileSystemState {
    /**
     * The default vpc access id.
     */
    accessId?: pulumi.Input<string>;
    /**
     * The capacity of cache. This parameter is required when cache acceleration is enabled.
     */
    cacheCapacityTib?: pulumi.Input<number>;
    /**
     * The cache plan. The value can be `DISABLED` or `T2` or `T4`. When expanding the cache size, the cache plan should remain the same. For data lakes, cache must be enabled.
     */
    cachePlan?: pulumi.Input<string>;
    /**
     * The creation time.
     */
    createdTime?: pulumi.Input<string>;
    /**
     * The name of file system.
     */
    fsName?: pulumi.Input<string>;
    /**
     * The mode of file system. The value can be `HDFS_MODE` or `ACC_MODE`.
     */
    mode?: pulumi.Input<string>;
    /**
     * The point mount.
     */
    mountPoint?: pulumi.Input<string>;
    /**
     * Whether the Namespace created automatically when mounting the TOS Bucket is read-only. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    readOnly?: pulumi.Input<boolean>;
    /**
     * The id of security group. This parameter is required when cache acceleration is enabled.
     */
    securityGroupId?: pulumi.Input<string>;
    /**
     * Status of file system.
     */
    status?: pulumi.Input<string>;
    /**
     * The id of subnet. This parameter is required when cache acceleration is enabled.
     */
    subnetId?: pulumi.Input<string>;
    /**
     * When a data lake scenario instance chooses to associate a bucket under another account, you need to set the ID of the account. When importing resources, this attribute will not be imported.
     */
    tosAccountId?: pulumi.Input<number>;
    /**
     * The tos ak. When the data lake scenario chooses to associate buckets under other accounts, need to set the Access Key ID of the account. When importing resources, this attribute will not be imported.
     */
    tosAk?: pulumi.Input<string>;
    /**
     * The tos bucket. When importing ACC_MODE resources, this attribute will not be imported.
     */
    tosBucket?: pulumi.Input<string>;
    /**
     * The tos prefix. Must not start with /, but must end with /, such as prefix/. When it is empty, it means the root path. When importing ACC_MODE resources, this attribute will not be imported.
     */
    tosPrefix?: pulumi.Input<string>;
    /**
     * The tos sk. When the data lake scenario chooses to associate buckets under other accounts, need to set the Secret Access Key of the account. When importing resources, this attribute will not be imported.
     */
    tosSk?: pulumi.Input<string>;
    /**
     * The id of vpc.
     */
    vpcId?: pulumi.Input<string>;
    /**
     * Whether enable all vpc route.
     */
    vpcRouteEnabled?: pulumi.Input<boolean>;
    /**
     * The id of zone.
     */
    zoneId?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a FileSystem resource.
 */
export interface FileSystemArgs {
    /**
     * The capacity of cache. This parameter is required when cache acceleration is enabled.
     */
    cacheCapacityTib?: pulumi.Input<number>;
    /**
     * The cache plan. The value can be `DISABLED` or `T2` or `T4`. When expanding the cache size, the cache plan should remain the same. For data lakes, cache must be enabled.
     */
    cachePlan: pulumi.Input<string>;
    /**
     * The name of file system.
     */
    fsName: pulumi.Input<string>;
    /**
     * The mode of file system. The value can be `HDFS_MODE` or `ACC_MODE`.
     */
    mode: pulumi.Input<string>;
    /**
     * Whether the Namespace created automatically when mounting the TOS Bucket is read-only. When importing resources, this attribute will not be imported. If this attribute is set, please use lifecycle and ignoreChanges ignore changes in fields.
     */
    readOnly?: pulumi.Input<boolean>;
    /**
     * The id of security group. This parameter is required when cache acceleration is enabled.
     */
    securityGroupId?: pulumi.Input<string>;
    /**
     * The id of subnet. This parameter is required when cache acceleration is enabled.
     */
    subnetId?: pulumi.Input<string>;
    /**
     * When a data lake scenario instance chooses to associate a bucket under another account, you need to set the ID of the account. When importing resources, this attribute will not be imported.
     */
    tosAccountId?: pulumi.Input<number>;
    /**
     * The tos ak. When the data lake scenario chooses to associate buckets under other accounts, need to set the Access Key ID of the account. When importing resources, this attribute will not be imported.
     */
    tosAk?: pulumi.Input<string>;
    /**
     * The tos bucket. When importing ACC_MODE resources, this attribute will not be imported.
     */
    tosBucket?: pulumi.Input<string>;
    /**
     * The tos prefix. Must not start with /, but must end with /, such as prefix/. When it is empty, it means the root path. When importing ACC_MODE resources, this attribute will not be imported.
     */
    tosPrefix?: pulumi.Input<string>;
    /**
     * The tos sk. When the data lake scenario chooses to associate buckets under other accounts, need to set the Secret Access Key of the account. When importing resources, this attribute will not be imported.
     */
    tosSk?: pulumi.Input<string>;
    /**
     * Whether enable all vpc route.
     */
    vpcRouteEnabled?: pulumi.Input<boolean>;
    /**
     * The id of zone.
     */
    zoneId: pulumi.Input<string>;
}
