• Puppet.com
  • Forge
  • Education
  • Try Puppet
  • Products
  • Puppet Enterprise
  • Open Source Puppet
  • Bolt
  • Security Compliance Management
  • Continuous Delivery
  • Puppet Development Kit
  • Puppet DB
  • Puppet Plugin for VMware
  • Get
  • Technical Support Plans
  • Support Lifecycle Policy
  • New Puppet Enterprise Customer?
  • About Puppet
  • Company
  • Developer Experience
  • Community
  • Puppet Champions
  • Puppet Test Pilots
  • Community Calendar
  • Slack Channel

    PRODUCT AND VERSION

        • Puppet 8.8.1
        • Release notes
          • Puppet release notes
            • Puppet 8.8.1
              • Enhancements
            • Puppet 8.8.0
            • Puppet 8.7.0
              • Enhancements
            • Puppet 8.6.0
              • Enhancements
            • Puppet 8.5.1
            • Puppet 8.5.0
              • Enhancements
            • Puppet 8.4.0
              • Enhancements
            • Puppet 8.3.1
              • Enhancements
            • Puppet 8.3.0
            • Puppet 8.2.0
              • Enhancements
            • Puppet 8.1.0
              • Enhancements
            • Puppet 8.0.0
              • Enhancements
          • Puppet known issues
          • Puppet Server release notes
          • Puppet Server known Issues
          • PuppetDB release notes (link)
          • Facter release notes
            • Facter 4.8.0
            • Facter 4.7.1
            • Facter 4.7.0
            • Facter 4.6.1
            • Facter 4.6.0
            • Facter 4.5.2
            • Facter 4.5.1
            • Facter 4.4.3
            • Facter 4.4.2
          • Facter known issues
          • Upgrading from Puppet 7 to Puppet 8
          • Experimental features
            • Msgpack support
          • Archived documentation
        • Puppet overview
          • What is Puppet?
          • Why use Puppet desired state management?
          • Key concepts behind Puppet
          • The Puppet platform
          • Puppet platform lifecycle
          • Open source Puppet vs Puppet Enterprise (PE)
          • The Puppet ecosystem
          • Use cases
          • Glossary
          • Navigating the documentation
        • Set up Puppet
          • Install Puppet
            • System requirements
            • Installing Puppet
            • Installing and configuring agents
            • Manually verify packages
            • Managing Platform versions
          • Configure Puppet settings
            • Puppet settings
            • Key configuration settings
            • Puppet's configuration files
              • puppet.conf: The main config file
              • environment.conf: Per-environment settings
              • fileserver.conf: Custom fileserver mount points
              • puppetdb.conf: PuppetDB server locations
              • autosign.conf: Basic certificate autosigning
              • csr_attributes.yaml: Certificate extensions
              • custom_trusted_oid_mapping.yaml: Short names for cert extension OIDs
              • device.conf: Network hardware access
              • routes.yaml: Advanced plugin routing
            • Adding file server mount points
            • Checking the values of settings
            • Editing settings on the command line
            • Configuration Reference
          • Upgrading
            • Upgrade Puppet Server
            • Upgrade agents
              • Upgrade agents using the puppet_agent module
              • Upgrade *nix agents
              • Upgrade Windows agents
              • Upgrade macOS agents
            • Upgrade PuppetDB
          • Environments
            • About environments
            • Creating environments
            • Environment isolation
          • Directories and files
            • Code and data directory (codedir)
            • Config directory (confdir)
            • Main manifest directory
            • The modulepath
            • SSL directory (ssldir)
            • Cache directory (vardir)
          • Report reference
        • Platform components
          • Puppet Server
            • About Puppet Server
            • Deprecated features
            • Server and agent compatibility
            • Installing Puppet Server
            • Configuring Puppet Server
              • Configuring Puppet Server
              • Puppet Server configuration files
                • auth.conf
                • ca.conf
                • global.conf
                • logback.xml
                • metrics.conf
                • product.conf
                • puppetserver.conf
                • web-routes.conf
                • webserver.conf
              • Migrating to the HOCON auth.conf format
              • Advanced logging configuration
              • Differing behavior in puppet.conf
            • Using and extending Puppet Server
              • Subcommands
              • Using Ruby gems
              • Intermediate CA
              • Infrastructure certificate revocation list (CRL)
              • External SSL termination
              • Server metrics
                • Monitoring Puppet Server metrics
                • HTTP Client Metrics
              • Tuning guide
              • Applying metrics to improve performance
              • Submitting usage telemetry
              • Scaling Puppet Server
              • Restarting Puppet Server"
            • Developer information
              • Developer debugging
              • Running from source
              • Tracing code events
            • Puppet Server HTTP API
              • Puppet Server HTTP API overview
              • PSON
              • Puppet v3 API
                • Catalog
                • Node
                • Facts
                • File Bucket File
                • File Content
                • File Metadata
                • Report
              • Puppet v4 API
                • Catalog API
              • CA v1 API
                • Certificate
                • Certificate Request
                • Certificate Status
                • Certificate Revocation List
                • Expirations
                • Certificate Clean
                • Bulk Certificate Sign
              • Schemas (JSON)
            • API endpoints
              • Metrics API endpoints
                • v1 metrics
                • v2 (Jolokia) metrics
              • Status API endpoints
                • Services endpoint
                • Simple endpoint
              • Administrative API endpoints
                • Environment cache
                • JRuby pool
              • Server-specific Puppet API endpoints
                • Environment classes
                • Environment modules
                • Static file content
            • Certificate authority and SSL
              • Puppet Server CA commands
              • Intermediate CA
              • Autosigning certificate requests
              • CSR attributes and certificate extensions
              • Regenerating certificates in a Puppet deployment
              • External CA
              • External SSL termination
          • Facter
            • Facter: CLI
            • Facter: Core Facts
            • Custom facts overview
              • Environment facts
            • Writing custom facts
            • External facts
            • Configuring Facter with facter.conf
          • PuppetDB
          • Puppet services and tools
            • Puppet commands
            • Running Puppet commands on Windows
            • primary Puppet server
              • About Puppet Server
            • Puppet agent on *nix systems
            • Puppet agent on Windows
            • Puppet apply
            • Puppet device
          • Puppet reports
            • Reporting
            • Report reference
            • Writing custom report processors
            • Report format
          • Life cycle of a Puppet run
            • Agent-server HTTPS communications
            • Catalog compilation
            • Static catalogs
        • Using Puppet code
          • Classifying nodes
          • Managing environment content with a Puppetfile
          • Using content from Puppet Forge
          • Designing system configs (roles and profiles)
            • The roles and profiles method
            • Roles and profiles example
            • Designing advanced profiles
            • Designing convenient roles
          • Separating data (Hiera)
            • About Hiera
            • Getting started with Hiera
            • Configuring Hiera
            • Creating and editing data
            • Looking up data with Hiera
            • Writing new data backends
            • Debugging Hiera
              • Unexpected values
              • Common errors
            • Upgrading to Hiera 5
          • Use case examples
            • Manage NTP
            • Manage sudo
            • Manage DNS
            • Manage firewall rules
            • Forge examples
        • Syntax and settings
          • The Puppet language
            • Puppet language overview
            • Puppet language syntax examples
            • The Puppet language style guide
            • Files and paths on Windows
            • Code comments
            • Variables
            • Resources
            • Resource types
              • Resource Type Reference (Single-Page)
              • Built-in types
              • Optional resource types for Windows
              • Resource Type: exec
              • Using exec on Windows
              • Resource Type: file
              • Using file on Windows
              • Resource Type: filebucket
              • Resource Type: group
              • Using user and group on Windows
              • Resource types overview
              • Resource Type: notify
              • Resource Type: package
              • Using package on Windows
              • Resource Type: resources
              • Resource Type: schedule
              • Resource Type: service
              • Using service
              • Resource Type: stage
              • Resource Type: tidy
              • Resource Type: user
            • Relationships and ordering
            • Classes
            • Defined resource types
            • Bolt tasks
            • Expressions and operators
            • Conditional statements and expressions
            • Function calls
            • Built-in function reference
            • Node definitions
            • Facts and built-in variables
              • Accessing facts from Puppet code
              • Built-in variables
            • Reserved words and acceptable names
            • Custom resources
              • Develop types and providers with the Resource API
                • Resource API reference
              • Low-level method for developing types and providers
                • Type development
                • Provider development
                • Creating resources
            • Custom functions
              • Custom functions overview
              • Writing custom functions in the Puppet language
              • Writing custom functions in Ruby
                • Custom functions in Ruby overview
                • Ruby function signatures
                • Using special features in implementation methods
                • Iterative functions
                • Refactoring legacy 3.x functions
              • Deferring a function
                • Deferred functions overview
                • Using a template with Deferred values
                • Write a deferred function to store secrets
                • Integrations with secret stores
            • Values, data types, and aliases
              • Type aliases
              • Typecasting
              • Abstract data types
              • Arrays
              • Binary
              • Booleans
              • Data type syntax
              • Default
              • Error data type
              • Hashes
              • Numbers
              • Regular expressions
              • Resource and class references
              • Resource types
              • Sensitive
              • Strings
              • Time-related data types
              • Undef
            • Templates
              • Creating templates using Embedded Puppet
              • Creating templates using Embedded Ruby
            • Advanced constructs
              • Iteration and loops
              • Lambdas
              • Resource default statements
              • Resource collectors
              • Virtual resources
              • Exported resources
              • Tags
              • Run stages
            • Details of complex behaviors
              • Containment
              • Scope
              • Namespaces and autoloading
            • Securing sensitive data
          • Metaparameter reference
          • Configuration Reference
          • Built-in function reference
          • Puppet Man Pages
            • Core tools
              • Man Page: puppet agent
              • Man Page: puppet apply
              • Man Page: puppet module
              • Man Page: puppet resource
              • Man Page: puppet lookup
            • Occasionally useful
              • Man Page: puppet config
              • Man Page: puppet describe
              • Man Page: puppet device
              • Man Page: puppet doc
              • Man Page: puppet help
              • Man Page: puppet node
              • Man Page: puppet parser
            • Niche
              • Man Page: puppet catalog
              • Man Page: puppet facts
              • Man Page: puppet filebucket
              • Man Page: puppet report
        • Developing modules
          • Modules
            • Modules overview
            • Plug-ins in modules
            • Module cheat sheet
            • Installing and managing modules from the command line
            • Beginner's guide to writing modules
            • Module metadata
            • Documenting modules
            • Documenting modules with Puppet Strings
            • Puppet Strings style guide
            • Publishing modules
              • Using the Forge API
            • Contributing to Puppet modules
          • Puppet Development Kit (PDK)
          • Puppet VSCode extension
          • PowerShell DSC Resources
            • Converting DSC Resources
            • Distributing arbitrary DSC resources
            • Upgrading Puppet DSC modules
            • Troubleshooting DSC Resources
          • Ruby API for developing extensions
        • Copyright and trademark notices

        Schemas (JSON)

        These JSON files contain schemas for the various HTTP API objects.

        Use these links to open the JSON files in your browser:
        • catalog.json
        • environments.json
        • error.json
        • facts.json
        • file_metadata.json
        • host.json
        • json-meta-schema.json
        • node.json
        • report.json
        • status.json
        You can also use curl commands to download these files. For example, this command downloads the catalog.json file:
        curl https://puppet.com/docs/puppet/latest/schemas/catalog.json -L --output catalog.json
        Was this page helpful?

        Thank you for your feedback! Please enter your feedback

        We’re sorry to hear that!
        Please tell us why so we can help.
        Enter your feedback and email. This form is sent to the Puppet docs team. We ask for your email as we might contact you regarding your feedback. If you need help with the product itself, visit Puppet Support or ask in Puppet Community on Slack. To learn about how Puppet uses your personal information, visit our privacy policy.
        Please enter your feedback and contact email

        If you leave us your email, we may contact you regarding your feedback. For more information on how Puppet uses your personal information, see our privacy policy.

        See an issue? Please file a JIRA ticket in our [DOCUMENTATION] project.

        Puppet by Perforce gives IT operations teams back their time and offers peace of mind with infrastructure automation that enables security and compliance.

        • Legal
        • Privacy Policy
        • Terms of Use
        • Security
        • © Puppet, Inc., a Perforce company. All rights reserved.

        Puppet and other identified trademarks are the property of Puppet, Inc., Perforce Software, Inc., or an affiliate. Such trademarks are claimed and/or registered in the U.S. and other countries and regions. All third-party trademarks are the property of their respective holders. References to third-party trademarks do not imply endorsement or sponsorship of any products or services by the trademark holder. Contact Puppet, Inc., for further details.