networktocode.nautobot.lookup_graphql (5.1.1) — lookup

Queries and returns elements from Nautobot GraphQL endpoint

| "added in version" 1.1.0 of networktocode.nautobot"

Authors: Josh VanDeraa (@jvanderaa)

Install collection

Install with ansible-galaxy collection install networktocode.nautobot:==5.1.1


Add to requirements.yml

  collections:
    - name: networktocode.nautobot
      version: 5.1.1

Description

Queries Nautobot via its GraphQL API through pynautobot


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
  # Make API Query without variables
  - name: SET FACT OF STRING
    set_fact:
      query_string: |
        query {
          locations {
            id
            name
            parent {
              name
            }
          }
        }
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
  # Make query to GraphQL Endpoint
  - name: Obtain list of locations from Nautobot
    set_fact:
      query_response: "{{ query('networktocode.nautobot.lookup_graphql', query=query_string, url='https://nautobot.example.com', token='<redact>') }}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
  # Example with variables
  - name: SET FACTS TO SEND TO GRAPHQL ENDPOINT
    set_fact:
      graph_variables:
        location_name: DEN
      query_string: |
        query ($location_name:String!) {
            locations (name: $location_name) {
            id
            name
            parent {
                name
            }
            }
        }
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
  # Get Response with variables
  - name: Obtain list of devices from Nautobot
    set_fact:
      query_response: "{{ query('networktocode.nautobot.lookup_graphql', query_string, graph_variables=graph_variables,
        url='https://nautobot.example.com', token='<redact>') }}"

Inputs

    
url:
    description:
    - The URL to the Nautobot instance to query (http://nautobot.example.com:8000)
    env:
    - name: NAUTOBOT_URL
    required: true

query:
    description:
    - The GraphQL formatted query string, see [pynautobot GraphQL documentation](https://pynautobot.readthedocs.io/en/latest/advanced/graphql.html).
    required: true

token:
    description:
    - The API token created through Nautobot
    env:
    - name: NAUTOBOT_TOKEN
    required: false

api_version:
    description:
    - The Nautobot Rest API Version to use
    required: false
    version_added: 4.1.0
    version_added_collection: networktocode.nautobot

validate_certs:
    default: true
    description:
    - Whether or not to validate SSL of the Nautobot instance
    required: false

graph_variables:
    description:
    - Dictionary of keys/values to pass into the GraphQL query
    - See [pynautobot GraphQL documentation](https://pynautobot.readthedocs.io/en/latest/advanced/graphql.html)
      for more details
    required: false

Outputs

data:
  description:
  - Data result from the GraphQL endpoint
  type: dict