.. versionadded:: 2019.2.0

    Create a new Netbox circuit

    name
        Name of the circuit
    provider_id
        The netbox id of the circuit provider
    circuit_type
        The name of the circuit type
    asn
        The ASN of the circuit provider
    description
        The description of the circuit

    CLI Example:

    .. code-block:: bash

        salt myminion netbox.create_circuit NEW_CIRCUIT_01 Telia Transit 1299 "New Telia circuit"

def create_circuit(name, provider_id, circuit_type, description=None):
    '''
    .. versionadded:: 2019.2.0

    Create a new Netbox circuit

    name
        Name of the circuit
    provider_id
        The netbox id of the circuit provider
    circuit_type
        The name of the circuit type
    asn
        The ASN of the circuit provider
    description
        The description of the circuit

    CLI Example:

    .. code-block:: bash

        salt myminion netbox.create_circuit NEW_CIRCUIT_01 Telia Transit 1299 "New Telia circuit"
    '''

    nb_circuit_provider = get_('circuits', 'providers', provider_id)
    nb_circuit_type = get_('circuits', 'circuit-types', slug=slugify(circuit_type))
    if nb_circuit_provider and nb_circuit_type:
        payload = {
            'cid': name,
            'provider': nb_circuit_provider['id'],
            'type': nb_circuit_type['id']
        }
        if description:
            payload['description'] = description
        nb_circuit = get_('circuits', 'circuits', cid=name)
        if nb_circuit:
            return False
        circuit = _add('circuits', 'circuits', payload)
        if circuit:
            return {'circuits': {'circuits': {circuit['id']: payload}}}
        else:
            return circuit
    else:
        return False