Skip to content

graphql_info

Collection Note

This module is part of the networktocode.nautobot collection. To install the collection, use:

ansible-galaxy collection install networktocode.nautobot
Added in version 6.2.0.

You need further requirements to be able to use this module, see the Requirements section for details.

Synopsis

  • Queries Nautobot via its GraphQL API through pynautobot

Requirements

The following Python packages are needed on the host that executes this module:

Parameters

Parameter Defaults / Choices Comments
api_version
str
API Version Nautobot REST API
graph_variables
dict
Dictionary of keys/values to pass into the GraphQL query, see (U(https://pynautobot.readthedocs.io/en/latest/advanced/graphql.html)) for more info
query
str
required
The GraphQL formatted query string, see (U(https://pynautobot.readthedocs.io/en/latest/advanced/graphql.html)) for more details.
token
str
The API token created through Nautobot, optional env=NAUTOBOT_TOKEN
url
str
The URL to the Nautobot instance to query (http://nautobot.example.com:8000), optional env=NAUTOBOT_URL
validate_certs
bool
Default: True
Whether or not to validate SSL of the Nautobot instance

Examples

# Make API Query without variables
- name: SET FACT OF STRING
  set_fact:
    query_string: |
      query {
        locations {
          id
          name
          parent {
            name
          }
        }
      }

# Make query to GraphQL Endpoint
- name: Obtain list of locations from Nautobot
  networktocode.nautobot.graphql_info:
    url: http://nautobot.local
    token: thisIsMyToken
    query: "{{ query_string }}"
  register: result

# Example with variables
- name: SET FACTS TO SEND TO GRAPHQL ENDPOINT
  set_fact:
    graph_variables:
      location_name: AMS01
    query_string: |
      query (location_name: String!) {
        locations (name: location_name) {
          id
          name
          parent {
              name
          }
        }
      }

# Get Response with variables
- name: Obtain list of devices at location in variables from Nautobot
  networktocode.nautobot.graphql_info:
    url: http://nautobot.local
    token: thisIsMyToken
    query: "{{ query_string }}"
    graph_variables: "{{ graph_variables }}"
  register: result

Return Values

Key Data Type Description Returned
data dict Data result from the GraphQL endpoint success
graph_variables dict Variables passed in success
query str Query string that was sent to Nautobot success
url str Nautobot URL that was supplied for troubleshooting success

Authors

  • Josh Vanderaa (@jvanderaa)