"""
Autogenerated module using `pop-create-idem <https://gitlab.com/saltstack/pop/pop-create-idem>`__
"""
from typing import Dict
from typing import List


async def describe_all(
    hub,
    ctx,
    engine: str,
    engine_version: str = None,
    db_instance_class: str = None,
    license_model: str = None,
    availability_zone_group: str = None,
    vpc: bool = None,
    filters: List = None,
    max_records: int = None,
    marker: str = None,
) -> Dict:
    r"""
    **Autogenerated function**

    Returns a list of orderable DB instance options for the specified engine.

    Args:
        engine(str): The name of the engine to retrieve DB instance options for. Valid Values:     aurora (for MySQL 5.6-compatible Aurora)    aurora-mysql (for MySQL 5.7-compatible Aurora)    aurora-postgresql     mariadb     mysql     oracle-ee     oracle-ee-cdb     oracle-se2     oracle-se2-cdb     postgres     sqlserver-ee     sqlserver-se     sqlserver-ex     sqlserver-web   .
        engine_version(str, optional): The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version. Defaults to None.
        db_instance_class(str, optional): The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class. Defaults to None.
        license_model(str, optional): The license model filter value. Specify this parameter to show only the available offerings matching the specified license model. Defaults to None.
        availability_zone_group(str, optional): The Availability Zone group associated with a Local Zone. Specify this parameter to retrieve available offerings for the Local Zones in the group. Omit this parameter to show the available offerings in the specified Amazon Web Services Region. Defaults to None.
        vpc(bool, optional): A value that indicates whether to show only VPC or non-VPC offerings. Defaults to None.
        filters(List, optional): This parameter isn't currently supported. Defaults to None.
        max_records(int, optional):  The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.  Default: 100 Constraints: Minimum 20, maximum 100. Defaults to None.
        marker(str, optional):  An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords . . Defaults to None.

    Returns:
        Dict

    Examples:
        Call from code:

        .. code-block:: python

            await hub.exec.aws_auto.rds.orderable_db_instance_option.describe_all(ctx, engine=value)

        Call from CLI:

        .. code-block:: bash

            $ idem exec aws_auto.rds.orderable_db_instance_option.describe_all engine=value
    """
    return await hub.tool.aws.client.exec(
        ctx,
        service_name="rds",
        operation="describe_orderable_db_instance_options",
        op_kwargs={
            "Engine": engine,
            "EngineVersion": engine_version,
            "DBInstanceClass": db_instance_class,
            "LicenseModel": license_model,
            "AvailabilityZoneGroup": availability_zone_group,
            "Vpc": vpc,
            "Filters": filters,
            "MaxRecords": max_records,
            "Marker": marker,
        },
    )
