# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins
import copy
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities

__all__ = [
    'InstanceCachePerformanceArgs',
    'InstanceCachePerformanceArgsDict',
    'InstanceCapacityArgs',
    'InstanceCapacityArgsDict',
    'InstanceTagArgs',
    'InstanceTagArgsDict',
]

MYPY = False

if not MYPY:
    class InstanceCachePerformanceArgsDict(TypedDict):
        cache_bandwidth: NotRequired[pulumi.Input[builtins.int]]
        """
        预配置带宽，用于增加文件系统带宽。
        """
elif False:
    InstanceCachePerformanceArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class InstanceCachePerformanceArgs:
    def __init__(__self__, *,
                 cache_bandwidth: Optional[pulumi.Input[builtins.int]] = None):
        """
        :param pulumi.Input[builtins.int] cache_bandwidth: 预配置带宽，用于增加文件系统带宽。
        """
        if cache_bandwidth is not None:
            pulumi.set(__self__, "cache_bandwidth", cache_bandwidth)

    @property
    @pulumi.getter(name="cacheBandwidth")
    def cache_bandwidth(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        预配置带宽，用于增加文件系统带宽。
        """
        return pulumi.get(self, "cache_bandwidth")

    @cache_bandwidth.setter
    def cache_bandwidth(self, value: Optional[pulumi.Input[builtins.int]]):
        pulumi.set(self, "cache_bandwidth", value)


if not MYPY:
    class InstanceCapacityArgsDict(TypedDict):
        total: NotRequired[pulumi.Input[builtins.float]]
        """
        文件系统可用总容量，单位为 GiB。
        """
        used: NotRequired[pulumi.Input[builtins.float]]
        """
        文件系统已使用容量，单位为 MiB。
        """
elif False:
    InstanceCapacityArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class InstanceCapacityArgs:
    def __init__(__self__, *,
                 total: Optional[pulumi.Input[builtins.float]] = None,
                 used: Optional[pulumi.Input[builtins.float]] = None):
        """
        :param pulumi.Input[builtins.float] total: 文件系统可用总容量，单位为 GiB。
        :param pulumi.Input[builtins.float] used: 文件系统已使用容量，单位为 MiB。
        """
        if total is not None:
            pulumi.set(__self__, "total", total)
        if used is not None:
            pulumi.set(__self__, "used", used)

    @property
    @pulumi.getter
    def total(self) -> Optional[pulumi.Input[builtins.float]]:
        """
        文件系统可用总容量，单位为 GiB。
        """
        return pulumi.get(self, "total")

    @total.setter
    def total(self, value: Optional[pulumi.Input[builtins.float]]):
        pulumi.set(self, "total", value)

    @property
    @pulumi.getter
    def used(self) -> Optional[pulumi.Input[builtins.float]]:
        """
        文件系统已使用容量，单位为 MiB。
        """
        return pulumi.get(self, "used")

    @used.setter
    def used(self, value: Optional[pulumi.Input[builtins.float]]):
        pulumi.set(self, "used", value)


if not MYPY:
    class InstanceTagArgsDict(TypedDict):
        key: NotRequired[pulumi.Input[builtins.str]]
        """
        标签键。
        """
        type: NotRequired[pulumi.Input[builtins.str]]
        """
        标签类型。
        """
        value: NotRequired[pulumi.Input[builtins.str]]
        """
        标签值。
        """
elif False:
    InstanceTagArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class InstanceTagArgs:
    def __init__(__self__, *,
                 key: Optional[pulumi.Input[builtins.str]] = None,
                 type: Optional[pulumi.Input[builtins.str]] = None,
                 value: Optional[pulumi.Input[builtins.str]] = None):
        """
        :param pulumi.Input[builtins.str] key: 标签键。
        :param pulumi.Input[builtins.str] type: 标签类型。
        :param pulumi.Input[builtins.str] value: 标签值。
        """
        if key is not None:
            pulumi.set(__self__, "key", key)
        if type is not None:
            pulumi.set(__self__, "type", type)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        标签键。
        """
        return pulumi.get(self, "key")

    @key.setter
    def key(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "key", value)

    @property
    @pulumi.getter
    def type(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        标签类型。
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "type", value)

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        标签值。
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "value", value)


