def METHOD_NAME(filters: Optional[Sequence[pulumi.InputType['GetCoipPoolsFilterArgs']]] = None,
                   tags: Optional[Mapping[str, str]] = None,
                   opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCoipPoolsResult:
    """
    Provides information for multiple EC2 Customer-Owned IP Pools, such as their identifiers.
    :param Sequence[pulumi.InputType['GetCoipPoolsFilterArgs']] filters: Custom filter block as described below.
           More complex filters can be expressed using one or more `filter` sub-blocks,
           which take the following arguments:
    :param Mapping[str, str] tags: Mapping of tags, each pair of which must exactly match
           a pair on the desired aws_ec2_coip_pools.
    """
    __args__ = dict()
    __args__['filters'] = filters
    __args__['tags'] = tags
    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke('aws:ec2/getCoipPools:getCoipPools', __args__, opts=opts, typ=GetCoipPoolsResult).value
    return AwaitableGetCoipPoolsResult(
        filters=pulumi.get(__ret__, 'filters'),
        id=pulumi.get(__ret__, 'id'),
        pool_ids=pulumi.get(__ret__, 'pool_ids'),
        tags=pulumi.get(__ret__, 'tags'))