JCPA study materials
JCPA study resources

JCPA flashcards

JCPA · Build recall with a focused review session.

33 cards. Read the term and the definition here. The deck at the top of this page is optional.

Idempotency
A property where running the same automation task multiple times produces the same end state as running it once, making repeated execution safe.
Source of truth
The authoritative data store holding intended network state, such as an inventory or IPAM system, which automation reads instead of querying devices.
Configuration drift
The divergence between a device's actual running configuration and the intended state stored in the source of truth or golden config.
Declarative vs imperative
Declarative automation states the desired end result and lets the tool decide steps; imperative automation lists explicit ordered commands to execute.
CALMS framework
A DevOps model standing for Culture, Automation, Lean, Measurement, and Sharing, used to describe DevOps adoption dimensions.
json.loads and json.dumps
Python functions that parse a JSON string into Python objects and serialize Python objects into a JSON string, respectively.
Jinja2 variable syntax
Double braces {{ variable }} output a value in a Jinja2 template; statement tags {% %} and comment tags {# #} handle logic and comments.
requests Response object
The object returned by the Python requests library, exposing status_code for the HTTP code, text for raw body, and json() for parsed data.
Netmiko ConnectHandler
A Python class that opens an SSH CLI session to a network device using a device dictionary, enabling send_command and send_config_set calls.
Python dictionary to JSON
A Python dictionary serializes to a JSON object with key-value pairs, while a Python list serializes to a JSON array.
HTTP status code classes
2xx indicates success, 3xx redirection, 4xx client errors such as 401 unauthenticated or 403 forbidden, and 5xx server errors.
REST statelessness
A REST constraint requiring each request to contain all information needed to process it, so the server keeps no client session state between calls.
YANG container and list
A container groups related nodes without a key; a list is a repeatable collection of entries identified by one or more key leaves.
YANG leafref type
A YANG leaf type that references the value of another leaf by path, enforcing referential integrity between modeled nodes.
JSON object and array
In JSON, curly braces denote an object of key-value pairs and square brackets denote an ordered array of values.
NETCONF default port
NETCONF runs over SSH and uses TCP port 830 by default, carrying XML-encoded RPC messages between manager and device.
NETCONF edit-config operations
The merge, replace, create, and delete attributes of edit-config determine how configuration nodes are applied to the target datastore.
NETCONF candidate datastore
A configuration datastore that can be edited and validated before a commit operation copies it into the running datastore.
RESTCONF data path
RESTCONF addresses YANG data using paths of the form /restconf/data/module:container, mapping CRUD operations to HTTP methods.
NETCONF hello capabilities
Upon session establishment, peers exchange hello messages advertising supported capabilities such as base 1.0 or 1.1 framing.
Junos PyEZ Device
The PyEZ class representing a Junos device connection; open() establishes the session and rpc exposes operational RPC methods.
PyEZ commit_check
A PyEZ Config method that validates a loaded configuration on the device without committing it, catching syntax and semantic errors.
junos_config Ansible module
A Juniper Ansible module that loads configuration lines or files onto a Junos device and can commit, check, or roll back changes.
Salt proxy-minion
A Salt architecture where a device without a native agent is managed through a proxy process that relays commands from the master.
Jinja2 default filter
The filter syntax {{ var | default('x') }} supplies a fallback value when the variable is undefined in the template context.
Jinja2 include tag
The tag {% include 'file.j2' %} inserts the rendered contents of another template file, enabling reusable configuration snippets.
Junos commit confirmed
A Junos command that commits a change but automatically rolls it back after a set time unless explicitly confirmed, protecting remote changes.
Golden config
A known-good baseline configuration used to compare device state, detect drift, and validate that changes match intended standards.
Streaming telemetry
Continuous push of structured device data, often over gRPC or UDP using JSON or GPB encoding, instead of periodic SNMP polling.
SNMP trap vs polling
Polling pulls data by querying OIDs on a schedule; traps are unsolicited push notifications sent by the device on an event.
Git commit object
A Git object recording a snapshot of the repository tree, author, message, and parent commit links that form history.
Git merge vs rebase
Merge joins two branch histories with a merge commit; rebase replays commits onto a new base and rewrites commit history.
Secrets in automation
Credentials and tokens should be stored in a vault or CI secret store and never committed to repositories or hardcoded in scripts.