Suprimir exceções RpcError levantadas para avisos em aplicativos Junos PyEZ

Para certas operações do Junos PyEZ, você pode suprimir RpcError exceções levantadas em resposta a <rpc-error> elementos que têm um nível de gravidade de aviso.

O Junos PyEZ permite realizar tarefas operacionais e de configuração em dispositivos que executam o Junos OS e dispositivos que executam o Junos OS Evolved. Quando um aplicativo Junos PyEZ chama métodos específicos ou executa RPCs sob demanda, o Junos PyEZ envia os RPCs apropriados ao dispositivo para realizar a operação ou recuperar as informações solicitadas. Se a resposta RPC contiver <rpc-error> elementos com um nível de severidade de aviso ou superior, o Junos PyEZ gera uma RpcError exceção.

Em determinados casos, pode ser necessário ou desejável suprimir as RpcError exceções geradas em resposta a avisos. Um aplicativo Junos PyEZ pode suprimir essas RpcError exceções incluindo o ignore_warning argumento na chamada de método ou na invocação RPC. O ignore_warning argumento usa um booleano, uma cadeia de caracteres ou uma lista de cadeias de caracteres. Você pode instruir o dispositivo a ignorar todos os avisos ou um ou mais avisos específicos.

Você pode incluir o ignore_warning argumento quando:

  • Use o get() RPC para recuperar dados de configuração ou estado.

  • Chame os seguintes jnpr.junos.utils.config.Config métodos de classe:

    • commit()

    • diff()

    • load()

    • pdiff()

    • rollback()

Ignorar todos os avisos

Para instruir o aplicativo a ignorar todos os avisos de uma operação ou RPC, inclua o ignore_warning=True argumento na chamada de método ou na invocação de RPC. O exemplo a seguir ignora todos os avisos para os load() métodos and commit() :

Se você incluir ignore_warning=True e todos os <rpc-error> elementos tiverem um nível de gravidade de aviso, o aplicativo ignorará todos os avisos e não gerará uma RpcError exceção. No entanto, todos os <rpc-error> elementos com níveis de gravidade mais altos ainda gerarão exceções.

Ignorar avisos específicos

Para instruir o aplicativo a ignorar avisos específicos, defina o ignore_warning argumento como uma cadeia de caracteres ou uma lista de cadeias de caracteres que contém os avisos a serem ignorados. Quando ignore_warning é definido como uma cadeia de caracteres ou uma lista de cadeias de caracteres, a cadeia de caracteres é usada como uma expressão regular que não diferencia maiúsculas de minúsculas. Se uma cadeia de caracteres contiver apenas caracteres alfanuméricos, isso resultará em uma correspondência de subcadeia de caracteres que não diferencia maiúsculas de minúsculas. No entanto, você pode incluir qualquer padrão de expressão regular compatível com a re biblioteca para corresponder aos avisos.

O aplicativo Junos PyEZ a seguir ignora dois avisos específicos durante a operação de confirmação. O aplicativo suprimirá RpcError exceções se todos os <rpc-error> elementos tiverem uma gravidade de aviso e cada aviso na resposta corresponder a uma ou mais das cadeias de caracteres especificadas.