Documentation

eos_eapi - Manage and configure EAPI. Requires EOS v4.12 or greater.

New in version 2.1.

Synopsis

Use to enable or disable EAPI access, and set the port and state of http, https, localHttp and unix-socket servers. When enabling EAPI access the default is to enable HTTP on port 80, enable HTTPS on port 443, disable local HTTP, and disable Unix socket server. Use the options listed below to override the default configuration. Requires EOS v4.12 or greater.

Options

parameter required default choices comments
auth_pass
no none
    Specifies the password to use if required to enter privileged mode on the remote device. If authorize is false, then this argument does nothing. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_AUTH_PASS will be used instead.
    authorize
    no
    • yes
    • no
    Instructs the module to enter priviledged mode on the remote device before sending any commands. If not specified, the device will attempt to excecute all commands in non-priviledged mode. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_AUTHORIZE will be used instead.
    host
    yes
      Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
      http
      no True
        Enable HTTP server access.

        aliases: enable_http
        http_port
        no 80
          Port on which the HTTP server will listen.
          https
          no True
            Enable HTTPS server access.

            aliases: enable_https
            https_port
            no 443
              Port on which the HTTPS server will listen.
              local_http
              no
                Enable local HTTP server access.

                aliases: enable_local_http
                local_http_port
                no 8080
                  Port on which the local HTTP server will listen.
                  password
                  no
                    Specifies the password to use to authenticate the connection to the remote device. This is a common argument used for either cli or eapi transports. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_PASSWORD will be used instead.
                    port
                    no 0 (use common port)
                      Specifies the port to use when buiding the connection to the remote device. This value applies to either cli or eapi. The port value will default to the approriate transport common port if none is provided in the task. (cli=22, http=80, https=443).
                      provider
                      no
                        Convience method that allows all eos arguments to be passed as a dict object. All constraints (required, choices, etc) must be met either by individual arguments or values in this dict.
                        socket
                        no
                          Enable Unix socket server access.

                          aliases: enable_socket
                          ssh_keyfile
                          no
                            Specifies the SSH keyfile to use to authenticate the connection to the remote device. This argument is only used for cli transports. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_SSH_KEYFILE will be used instead.
                            state
                            no started
                            • started
                            • stopped
                            Set to started or stopped. A state of started will enable EAPI access, and a state of stopped will disable or shutdown all EAPI access.
                            transport
                            yes cli
                              Configures the transport connection to use when connecting to the remote device. The transport argument supports connectivity to the device over cli (ssh) or eapi.
                              use_ssl
                              no True
                              • yes
                              • no
                              Configures the transport to use SSL if set to true only when the transport argument is configured as eapi. If the transport argument is not eapi, this value is ignored
                              username
                              no
                                Configures the usename to use to authenticate the connection to the remote device. The value of username is used to authenticate either the CLI login or the eAPI authentication depending on which transport is used. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_USERNAME will be used instead.

                                Examples

                                - name: Enable EAPI access with default configuration
                                  eos_eapi:
                                      state: started
                                      provider: {{ provider }}
                                
                                - name: Enable EAPI with no HTTP, HTTPS at port 9443, local HTTP at port 80, and socket enabled
                                  eos_eapi:
                                      state: started
                                      http: false
                                      https_port: 9443
                                      local_http: yes
                                      local_http_port: 80
                                      socket: yes
                                      provider: {{ provider }}
                                
                                - name: Shutdown EAPI access
                                  eos_eapi:
                                      state: stopped
                                      provider: {{ provider }}
                                

                                Return Values

                                Common return values are documented here Common Return Values, the following are the fields unique to this module:

                                name description returned type sample
                                commands ['Set of commands to be executed on remote device'] always list ['management api http-commands', 'shutdown']
                                changed ['Indicates if commands were sent to the device.'] always boolean False
                                _config ['Configuration found on the device prior to executing any commands.'] always object {'...': None}


                                This is a Core Module

                                For more information on what this means please read Core Modules

                                For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.