graphql
Version information
This version is compatible with:
- Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x
- Puppet >= 6.21.0 < 8.0.0
- , , , , , , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'phihos-graphql', '0.1.2'
Learn more about managing modules with a PuppetfileDocumentation
puppet-graphql
This module provides a helper function to retrieve information from a GraphQL endpoint during catalog compilation.
Table of Contents
- Description
- Setup - The basics of getting started with graphql
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Description
This module has been implemented mainly for the use-case of retrieving IP addresses from Netbox IPAM. But it can be used for any kind of GraphQL HTTP API.
Setup
This module only needs Ruby's built-in NEt::HTTP library. No further setup needed
Usage
Currently there is only a single function you can use in your puppet code:
$query = @(EOT)
{
site_list {
id,
slug,
name,
}
}
| EOT
$result = graphql::graphql_query({
'url' => 'https://netbox.tld/graphql/',
'headers' => { 'Authorization' => "Token somenetboxtoken" },
'query' => $query,
})
# $result could be undef in case an error occured
# the error will be logged to the puppetserver logs and a notify resource will be created
if $result {
$my_sites = $result['data']['site_list']
}
# ...
Limitations
This functions in this module - as all Puppet functions - can only be executed on the puppetmaster host during catalog compile time.
Development
Pull requests welcome.
If you submit a change to this module, be sure to regenerate the reference documentation as follows:
puppet strings generate --format markdown --out REFERENCE.md
Reference
Table of Contents
Functions
graphql::graphql_query
: Query a GraphQL API via HTTP.
Functions
graphql::graphql_query
Type: Ruby 4.x API
Query a GraphQL API via HTTP.
graphql::graphql_query(Hash[String[1], Any] $opts)
Query a GraphQL API via HTTP.
Returns: Optional[Hash]
A hash containing the response data or nil when an error occurred.
opts
Data type: Hash[String[1], Any]
A Hash with the keys url
(value String
), headers
(value Hash
) and query (value String
).
Changelog
v0.1.2 (2022-11-25)
Merged pull requests:
v0.1.1 (2022-11-07)
v0.1.0 (2022-10-20)
Merged pull requests:
* This Changelog was automatically generated by github_changelog_generator