# 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__ = [
    'RouterExpressConnectRouterRegionArgs',
    'RouterExpressConnectRouterRegionArgsDict',
    'GetRouterInterfacesFilterArgs',
    'GetRouterInterfacesFilterArgsDict',
    'GetVirtualBorderRoutersFilterArgs',
    'GetVirtualBorderRoutersFilterArgsDict',
]

MYPY = False

if not MYPY:
    class RouterExpressConnectRouterRegionArgsDict(TypedDict):
        region_id: NotRequired[pulumi.Input[str]]
        """
        Representative region ID.
        """
        transit_mode: NotRequired[pulumi.Input[str]]
        """
        Represents the forwarding mode of the current region.
        """
elif False:
    RouterExpressConnectRouterRegionArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class RouterExpressConnectRouterRegionArgs:
    def __init__(__self__, *,
                 region_id: Optional[pulumi.Input[str]] = None,
                 transit_mode: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] region_id: Representative region ID.
        :param pulumi.Input[str] transit_mode: Represents the forwarding mode of the current region.
        """
        if region_id is not None:
            pulumi.set(__self__, "region_id", region_id)
        if transit_mode is not None:
            pulumi.set(__self__, "transit_mode", transit_mode)

    @property
    @pulumi.getter(name="regionId")
    def region_id(self) -> Optional[pulumi.Input[str]]:
        """
        Representative region ID.
        """
        return pulumi.get(self, "region_id")

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

    @property
    @pulumi.getter(name="transitMode")
    def transit_mode(self) -> Optional[pulumi.Input[str]]:
        """
        Represents the forwarding mode of the current region.
        """
        return pulumi.get(self, "transit_mode")

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


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

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

    @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 values(self) -> Optional[Sequence[str]]:
        return pulumi.get(self, "values")

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


if not MYPY:
    class GetVirtualBorderRoutersFilterArgsDict(TypedDict):
        key: NotRequired[str]
        """
        The key of the field to filter by, as defined by
        [Alibaba Cloud API](https://www.alibabacloud.com/help/en/doc-detail/124791.htm).
        """
        values: NotRequired[Sequence[str]]
        """
        Set of values that are accepted for the given field.
        """
elif False:
    GetVirtualBorderRoutersFilterArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class GetVirtualBorderRoutersFilterArgs:
    def __init__(__self__, *,
                 key: Optional[str] = None,
                 values: Optional[Sequence[str]] = None):
        """
        :param str key: The key of the field to filter by, as defined by
               [Alibaba Cloud API](https://www.alibabacloud.com/help/en/doc-detail/124791.htm).
        :param Sequence[str] values: Set of values that are accepted for the given field.
        """
        if key is not None:
            pulumi.set(__self__, "key", key)
        if values is not None:
            pulumi.set(__self__, "values", values)

    @property
    @pulumi.getter
    def key(self) -> Optional[str]:
        """
        The key of the field to filter by, as defined by
        [Alibaba Cloud API](https://www.alibabacloud.com/help/en/doc-detail/124791.htm).
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def values(self) -> Optional[Sequence[str]]:
        """
        Set of values that are accepted for the given field.
        """
        return pulumi.get(self, "values")

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


