# 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 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__ = [
    'ApplicationInfoDimensionArgs',
    'ApplicationInfoDimensionArgsDict',
    'QuotaAlarmQuotaDimensionArgs',
    'QuotaAlarmQuotaDimensionArgsDict',
    'QuotaApplicationDimensionArgs',
    'QuotaApplicationDimensionArgsDict',
    'TemplateApplicationsDimensionArgs',
    'TemplateApplicationsDimensionArgsDict',
    'TemplateApplicationsQuotaApplicationDetailArgs',
    'TemplateApplicationsQuotaApplicationDetailArgsDict',
    'TemplateApplicationsQuotaApplicationDetailPeriodArgs',
    'TemplateApplicationsQuotaApplicationDetailPeriodArgsDict',
    'TemplateQuotaDimensionArgs',
    'TemplateQuotaDimensionArgsDict',
    'GetApplicationInfosDimensionArgs',
    'GetApplicationInfosDimensionArgsDict',
    'GetQuotaAlarmsQuotaDimensionArgs',
    'GetQuotaAlarmsQuotaDimensionArgsDict',
    'GetQuotaApplicationsDimensionArgs',
    'GetQuotaApplicationsDimensionArgsDict',
    'GetQuotasDimensionArgs',
    'GetQuotasDimensionArgsDict',
]

MYPY = False

if not MYPY:
    class ApplicationInfoDimensionArgsDict(TypedDict):
        key: NotRequired[pulumi.Input[str]]
        value: NotRequired[pulumi.Input[str]]
elif False:
    ApplicationInfoDimensionArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class ApplicationInfoDimensionArgs:
    def __init__(__self__, *,
                 key: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[str]] = None):
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

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

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

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

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


if not MYPY:
    class QuotaAlarmQuotaDimensionArgsDict(TypedDict):
        key: NotRequired[pulumi.Input[str]]
        """
        The Key of quota_dimensions.
        """
        value: NotRequired[pulumi.Input[str]]
        """
        The Value of quota_dimensions.
        """
elif False:
    QuotaAlarmQuotaDimensionArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class QuotaAlarmQuotaDimensionArgs:
    def __init__(__self__, *,
                 key: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: The Key of quota_dimensions.
        :param pulumi.Input[str] value: The Value of quota_dimensions.
        """
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[str]]:
        """
        The Key of quota_dimensions.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[str]]:
        """
        The Value of quota_dimensions.
        """
        return pulumi.get(self, "value")

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


if not MYPY:
    class QuotaApplicationDimensionArgsDict(TypedDict):
        key: NotRequired[pulumi.Input[str]]
        """
        The key of the dimension. You must configure `dimensions.N.key` and `dimensions.N.value` at the same time. The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service. You can call the [ListProductQuotaDimensions](https://next.api.aliyun.com/document/quotas/2020-05-10/ListProductQuotaDimensions) operation to query the dimensions that are supported by an Alibaba Cloud service. The number of elements in the returned array is N.
        """
        value: NotRequired[pulumi.Input[str]]
        """
        The value of the dimension. You must configure `dimensions.N.key` and `dimensions.N.value` at the same time. The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service. You can call the [ListProductQuotaDimensions](https://next.api.aliyun.com/document/quotas/2020-05-10/ListProductQuotaDimensions) operation to query the dimensions that are supported by an Alibaba Cloud service. The number of elements in the returned array is N.
        """
elif False:
    QuotaApplicationDimensionArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class QuotaApplicationDimensionArgs:
    def __init__(__self__, *,
                 key: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: The key of the dimension. You must configure `dimensions.N.key` and `dimensions.N.value` at the same time. The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service. You can call the [ListProductQuotaDimensions](https://next.api.aliyun.com/document/quotas/2020-05-10/ListProductQuotaDimensions) operation to query the dimensions that are supported by an Alibaba Cloud service. The number of elements in the returned array is N.
        :param pulumi.Input[str] value: The value of the dimension. You must configure `dimensions.N.key` and `dimensions.N.value` at the same time. The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service. You can call the [ListProductQuotaDimensions](https://next.api.aliyun.com/document/quotas/2020-05-10/ListProductQuotaDimensions) operation to query the dimensions that are supported by an Alibaba Cloud service. The number of elements in the returned array is N.
        """
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[str]]:
        """
        The key of the dimension. You must configure `dimensions.N.key` and `dimensions.N.value` at the same time. The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service. You can call the [ListProductQuotaDimensions](https://next.api.aliyun.com/document/quotas/2020-05-10/ListProductQuotaDimensions) operation to query the dimensions that are supported by an Alibaba Cloud service. The number of elements in the returned array is N.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[str]]:
        """
        The value of the dimension. You must configure `dimensions.N.key` and `dimensions.N.value` at the same time. The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service. You can call the [ListProductQuotaDimensions](https://next.api.aliyun.com/document/quotas/2020-05-10/ListProductQuotaDimensions) operation to query the dimensions that are supported by an Alibaba Cloud service. The number of elements in the returned array is N.
        """
        return pulumi.get(self, "value")

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


if not MYPY:
    class TemplateApplicationsDimensionArgsDict(TypedDict):
        key: NotRequired[pulumi.Input[str]]
        """
        Quota dimension Key.
        """
        value: NotRequired[pulumi.Input[str]]
        """
        Quota dimension Value.
        """
elif False:
    TemplateApplicationsDimensionArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class TemplateApplicationsDimensionArgs:
    def __init__(__self__, *,
                 key: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: Quota dimension Key.
        :param pulumi.Input[str] value: Quota dimension Value.
        """
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[str]]:
        """
        Quota dimension Key.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[str]]:
        """
        Quota dimension Value.
        """
        return pulumi.get(self, "value")

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


if not MYPY:
    class TemplateApplicationsQuotaApplicationDetailArgsDict(TypedDict):
        aliyun_uid: NotRequired[pulumi.Input[str]]
        """
        Alibaba Cloud account (primary account).
        """
        application_id: NotRequired[pulumi.Input[str]]
        """
        The ID of the quota promotion request.
        """
        approve_value: NotRequired[pulumi.Input[float]]
        """
        The approved quota value of the quota increase request.
        """
        audit_reason: NotRequired[pulumi.Input[str]]
        """
        Approval comments on quota increase applications.
        """
        dimensions: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
        """
        Quota dimension. See `dimensions` below.
        """
        env_language: NotRequired[pulumi.Input[str]]
        """
        The language of the quota application result notification. Value:
        - zh (default): Chinese.
        - en: English.
        """
        notice_type: NotRequired[pulumi.Input[int]]
        """
        Whether to send notification of quota application result. Value:
        - 0 (default): No.
        - 3: Yes.
        """
        period: NotRequired[pulumi.Input['TemplateApplicationsQuotaApplicationDetailPeriodArgsDict']]
        """
        Quota calculation period.
        """
        quota_arn: NotRequired[pulumi.Input[str]]
        """
        Quota ARN.
        """
        quota_description: NotRequired[pulumi.Input[str]]
        """
        The quota description.
        """
        quota_name: NotRequired[pulumi.Input[str]]
        """
        The quota name.
        """
        quota_unit: NotRequired[pulumi.Input[str]]
        """
        Quota unit.
        """
        reason: NotRequired[pulumi.Input[str]]
        """
        Reason for quota application.
        > **NOTE:**  The quota request is approved by the technical support of each cloud service. If you want to increase the chance of passing, please fill in a reasonable application value and detailed application reasons when applying for quota.
        """
        status: NotRequired[pulumi.Input[str]]
        """
        The approval status of the quota promotion application. Value:
        - Disagree: reject.
        - Approve: approved.
        - Process: under review.
        - Cancel: Closed.
        """
elif False:
    TemplateApplicationsQuotaApplicationDetailArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class TemplateApplicationsQuotaApplicationDetailArgs:
    def __init__(__self__, *,
                 aliyun_uid: Optional[pulumi.Input[str]] = None,
                 application_id: Optional[pulumi.Input[str]] = None,
                 approve_value: Optional[pulumi.Input[float]] = None,
                 audit_reason: Optional[pulumi.Input[str]] = None,
                 dimensions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                 env_language: Optional[pulumi.Input[str]] = None,
                 notice_type: Optional[pulumi.Input[int]] = None,
                 period: Optional[pulumi.Input['TemplateApplicationsQuotaApplicationDetailPeriodArgs']] = None,
                 quota_arn: Optional[pulumi.Input[str]] = None,
                 quota_description: Optional[pulumi.Input[str]] = None,
                 quota_name: Optional[pulumi.Input[str]] = None,
                 quota_unit: Optional[pulumi.Input[str]] = None,
                 reason: Optional[pulumi.Input[str]] = None,
                 status: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] aliyun_uid: Alibaba Cloud account (primary account).
        :param pulumi.Input[str] application_id: The ID of the quota promotion request.
        :param pulumi.Input[float] approve_value: The approved quota value of the quota increase request.
        :param pulumi.Input[str] audit_reason: Approval comments on quota increase applications.
        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] dimensions: Quota dimension. See `dimensions` below.
        :param pulumi.Input[str] env_language: The language of the quota application result notification. Value:
               - zh (default): Chinese.
               - en: English.
        :param pulumi.Input[int] notice_type: Whether to send notification of quota application result. Value:
               - 0 (default): No.
               - 3: Yes.
        :param pulumi.Input['TemplateApplicationsQuotaApplicationDetailPeriodArgs'] period: Quota calculation period.
        :param pulumi.Input[str] quota_arn: Quota ARN.
        :param pulumi.Input[str] quota_description: The quota description.
        :param pulumi.Input[str] quota_name: The quota name.
        :param pulumi.Input[str] quota_unit: Quota unit.
        :param pulumi.Input[str] reason: Reason for quota application.
               > **NOTE:**  The quota request is approved by the technical support of each cloud service. If you want to increase the chance of passing, please fill in a reasonable application value and detailed application reasons when applying for quota.
        :param pulumi.Input[str] status: The approval status of the quota promotion application. Value:
               - Disagree: reject.
               - Approve: approved.
               - Process: under review.
               - Cancel: Closed.
        """
        if aliyun_uid is not None:
            pulumi.set(__self__, "aliyun_uid", aliyun_uid)
        if application_id is not None:
            pulumi.set(__self__, "application_id", application_id)
        if approve_value is not None:
            pulumi.set(__self__, "approve_value", approve_value)
        if audit_reason is not None:
            pulumi.set(__self__, "audit_reason", audit_reason)
        if dimensions is not None:
            pulumi.set(__self__, "dimensions", dimensions)
        if env_language is not None:
            pulumi.set(__self__, "env_language", env_language)
        if notice_type is not None:
            pulumi.set(__self__, "notice_type", notice_type)
        if period is not None:
            pulumi.set(__self__, "period", period)
        if quota_arn is not None:
            pulumi.set(__self__, "quota_arn", quota_arn)
        if quota_description is not None:
            pulumi.set(__self__, "quota_description", quota_description)
        if quota_name is not None:
            pulumi.set(__self__, "quota_name", quota_name)
        if quota_unit is not None:
            pulumi.set(__self__, "quota_unit", quota_unit)
        if reason is not None:
            pulumi.set(__self__, "reason", reason)
        if status is not None:
            pulumi.set(__self__, "status", status)

    @property
    @pulumi.getter(name="aliyunUid")
    def aliyun_uid(self) -> Optional[pulumi.Input[str]]:
        """
        Alibaba Cloud account (primary account).
        """
        return pulumi.get(self, "aliyun_uid")

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

    @property
    @pulumi.getter(name="applicationId")
    def application_id(self) -> Optional[pulumi.Input[str]]:
        """
        The ID of the quota promotion request.
        """
        return pulumi.get(self, "application_id")

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

    @property
    @pulumi.getter(name="approveValue")
    def approve_value(self) -> Optional[pulumi.Input[float]]:
        """
        The approved quota value of the quota increase request.
        """
        return pulumi.get(self, "approve_value")

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

    @property
    @pulumi.getter(name="auditReason")
    def audit_reason(self) -> Optional[pulumi.Input[str]]:
        """
        Approval comments on quota increase applications.
        """
        return pulumi.get(self, "audit_reason")

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

    @property
    @pulumi.getter
    def dimensions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
        """
        Quota dimension. See `dimensions` below.
        """
        return pulumi.get(self, "dimensions")

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

    @property
    @pulumi.getter(name="envLanguage")
    def env_language(self) -> Optional[pulumi.Input[str]]:
        """
        The language of the quota application result notification. Value:
        - zh (default): Chinese.
        - en: English.
        """
        return pulumi.get(self, "env_language")

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

    @property
    @pulumi.getter(name="noticeType")
    def notice_type(self) -> Optional[pulumi.Input[int]]:
        """
        Whether to send notification of quota application result. Value:
        - 0 (default): No.
        - 3: Yes.
        """
        return pulumi.get(self, "notice_type")

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

    @property
    @pulumi.getter
    def period(self) -> Optional[pulumi.Input['TemplateApplicationsQuotaApplicationDetailPeriodArgs']]:
        """
        Quota calculation period.
        """
        return pulumi.get(self, "period")

    @period.setter
    def period(self, value: Optional[pulumi.Input['TemplateApplicationsQuotaApplicationDetailPeriodArgs']]):
        pulumi.set(self, "period", value)

    @property
    @pulumi.getter(name="quotaArn")
    def quota_arn(self) -> Optional[pulumi.Input[str]]:
        """
        Quota ARN.
        """
        return pulumi.get(self, "quota_arn")

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

    @property
    @pulumi.getter(name="quotaDescription")
    def quota_description(self) -> Optional[pulumi.Input[str]]:
        """
        The quota description.
        """
        return pulumi.get(self, "quota_description")

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

    @property
    @pulumi.getter(name="quotaName")
    def quota_name(self) -> Optional[pulumi.Input[str]]:
        """
        The quota name.
        """
        return pulumi.get(self, "quota_name")

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

    @property
    @pulumi.getter(name="quotaUnit")
    def quota_unit(self) -> Optional[pulumi.Input[str]]:
        """
        Quota unit.
        """
        return pulumi.get(self, "quota_unit")

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

    @property
    @pulumi.getter
    def reason(self) -> Optional[pulumi.Input[str]]:
        """
        Reason for quota application.
        > **NOTE:**  The quota request is approved by the technical support of each cloud service. If you want to increase the chance of passing, please fill in a reasonable application value and detailed application reasons when applying for quota.
        """
        return pulumi.get(self, "reason")

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

    @property
    @pulumi.getter
    def status(self) -> Optional[pulumi.Input[str]]:
        """
        The approval status of the quota promotion application. Value:
        - Disagree: reject.
        - Approve: approved.
        - Process: under review.
        - Cancel: Closed.
        """
        return pulumi.get(self, "status")

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


if not MYPY:
    class TemplateApplicationsQuotaApplicationDetailPeriodArgsDict(TypedDict):
        period_unit: NotRequired[pulumi.Input[str]]
        """
        Quota calculation cycle unit.
        """
        period_value: NotRequired[pulumi.Input[int]]
        """
        The quota calculation period value.
        """
elif False:
    TemplateApplicationsQuotaApplicationDetailPeriodArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class TemplateApplicationsQuotaApplicationDetailPeriodArgs:
    def __init__(__self__, *,
                 period_unit: Optional[pulumi.Input[str]] = None,
                 period_value: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] period_unit: Quota calculation cycle unit.
        :param pulumi.Input[int] period_value: The quota calculation period value.
        """
        if period_unit is not None:
            pulumi.set(__self__, "period_unit", period_unit)
        if period_value is not None:
            pulumi.set(__self__, "period_value", period_value)

    @property
    @pulumi.getter(name="periodUnit")
    def period_unit(self) -> Optional[pulumi.Input[str]]:
        """
        Quota calculation cycle unit.
        """
        return pulumi.get(self, "period_unit")

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

    @property
    @pulumi.getter(name="periodValue")
    def period_value(self) -> Optional[pulumi.Input[int]]:
        """
        The quota calculation period value.
        """
        return pulumi.get(self, "period_value")

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


if not MYPY:
    class TemplateQuotaDimensionArgsDict(TypedDict):
        key: NotRequired[pulumi.Input[str]]
        """
        The Key of quota_dimensions.
        """
        value: NotRequired[pulumi.Input[str]]
        """
        The Value of quota_dimensions.
        """
elif False:
    TemplateQuotaDimensionArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class TemplateQuotaDimensionArgs:
    def __init__(__self__, *,
                 key: Optional[pulumi.Input[str]] = None,
                 value: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] key: The Key of quota_dimensions.
        :param pulumi.Input[str] value: The Value of quota_dimensions.
        """
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> Optional[pulumi.Input[str]]:
        """
        The Key of quota_dimensions.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[pulumi.Input[str]]:
        """
        The Value of quota_dimensions.
        """
        return pulumi.get(self, "value")

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


if not MYPY:
    class GetApplicationInfosDimensionArgsDict(TypedDict):
        key: NotRequired[str]
        value: NotRequired[str]
elif False:
    GetApplicationInfosDimensionArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class GetApplicationInfosDimensionArgs:
    def __init__(__self__, *,
                 key: Optional[str] = None,
                 value: Optional[str] = None):
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> Optional[str]:
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[str]:
        return pulumi.get(self, "value")

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


if not MYPY:
    class GetQuotaAlarmsQuotaDimensionArgsDict(TypedDict):
        key: NotRequired[str]
        value: NotRequired[str]
elif False:
    GetQuotaAlarmsQuotaDimensionArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class GetQuotaAlarmsQuotaDimensionArgs:
    def __init__(__self__, *,
                 key: Optional[str] = None,
                 value: Optional[str] = None):
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> Optional[str]:
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[str]:
        return pulumi.get(self, "value")

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


if not MYPY:
    class GetQuotaApplicationsDimensionArgsDict(TypedDict):
        key: NotRequired[str]
        value: NotRequired[str]
elif False:
    GetQuotaApplicationsDimensionArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class GetQuotaApplicationsDimensionArgs:
    def __init__(__self__, *,
                 key: Optional[str] = None,
                 value: Optional[str] = None):
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> Optional[str]:
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[str]:
        return pulumi.get(self, "value")

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


if not MYPY:
    class GetQuotasDimensionArgsDict(TypedDict):
        key: NotRequired[str]
        """
        The key of dimensions.
        """
        value: NotRequired[str]
        """
        The value of dimensions.
        """
elif False:
    GetQuotasDimensionArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class GetQuotasDimensionArgs:
    def __init__(__self__, *,
                 key: Optional[str] = None,
                 value: Optional[str] = None):
        """
        :param str key: The key of dimensions.
        :param str value: The value of dimensions.
        """
        if key is not None:
            pulumi.set(__self__, "key", key)
        if value is not None:
            pulumi.set(__self__, "value", value)

    @property
    @pulumi.getter
    def key(self) -> Optional[str]:
        """
        The key of dimensions.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def value(self) -> Optional[str]:
        """
        The value of dimensions.
        """
        return pulumi.get(self, "value")

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


