@itentialopensource/adapter-puppet
Version:
This adapter integrates with system described as: puppet.
1,048 lines (1,047 loc) • 26.8 kB
YAML
openapi: 3.0.0
info:
title: puppet
description: Puppet API documentation
contact: {}
version: '3'
servers:
- url: https://{defaultHost}
variables:
defaultHost:
default: www.example.com
paths:
/catalog/{nodename}:
get:
tags:
- Catalog
summary: getCatalogNodename
description: Retrieve a catalog.
operationId: getCatalogNodename
parameters:
- name: nodename
in: path
description: Node name
required: true
style: simple
schema:
type: string
- name: environment
in: query
description: the environment name.
required: true
style: form
explode: true
schema:
type: string
- name: facts_format
in: query
description: must be 'application/json' or 'pson'.
required: true
style: form
explode: true
schema:
type: string
- name: facts
in: query
description: serialized JSON or PSON of the facts hash. Since facts can contain &, which is also the HTTP query parameter delimiter, facts are doubly-escaped.
required: true
style: form
explode: true
schema:
type: string
- name: transaction_uuid
in: query
description: a transaction uuid identifying the entire transaction.
required: true
style: form
explode: true
schema:
type: string
- name: static_catalog
in: query
description: a boolean requesting a static catalog if available; should always be true.
style: form
explode: true
schema:
type: boolean
- name: checksum_type
in: query
description: a dot-separated list of checksum types supported by the agent.
style: form
explode: true
schema:
type: string
- name: configured_environment
in: query
description: the environment configured on the client.
style: form
explode: true
schema:
type: string
- name: job_id
in: query
description: which orchestration job triggered this catalog request.
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/RootTypeforCatalog'
deprecated: false
post:
tags:
- Catalog
summary: postCatalogNodename
description: Retrieve a catalog.
operationId: postCatalogNodename
parameters:
- name: nodename
in: path
description: Node name
required: true
style: simple
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/RootTypeforCatalogRequestBody'
- example:
environment: string
facts_format: string
facts: string
transaction_uuid: string
static_catalog: boolean
checksum_type: string
configured_environment: string
job_id: string
example:
environment: string
facts_format: string
facts: string
transaction_uuid: string
static_catalog: boolean
checksum_type: string
configured_environment: string
job_id: string
required: true
responses:
'200':
description: Success
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/RootTypeforCatalog'
deprecated: false
/node/{certname}:
get:
tags:
- Node
summary: getNodeCertname
description: Retrieve data for a node.
operationId: getNodeCertname
parameters:
- name: certname
in: path
description: cert name
required: true
style: simple
schema:
type: string
- name: environment
in: query
description: the environment name.
required: true
style: form
explode: true
schema:
type: string
- name: transaction_uuid
in: query
description: a transaction uuid identifying the entire transaction.
required: true
style: form
explode: true
schema:
type: string
- name: configured_environment
in: query
description: the environment configured on the client.
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/RootTypeforNode'
deprecated: false
/environments:
get:
tags:
- Environments
summary: getEnvironments
description: Get the list of known environments.
operationId: getEnvironments
parameters: []
responses:
'200':
description: Success
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/RootTypeforEnvironment'
deprecated: false
/report/{nodename}:
put:
tags:
- Report
summary: putReportNodename
description: Allows clients to send reports to the master
operationId: putReportNodename
parameters:
- name: nodename
in: path
description: Node name
required: true
style: simple
schema:
type: integer
format: int32
- name: environment
in: query
description: environment name
required: true
style: form
explode: true
schema:
type: string
requestBody:
description: ''
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/RootTypeforReportRequestBody'
- example: {}
example: {}
required: true
responses:
'200':
description: Success
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/RootTypeforReport'
deprecated: false
/status/{name}:
get:
tags:
- Status
summary: getStatusName
description: Provides information about a running master.
operationId: getStatusName
parameters:
- name: name
in: path
description: Name of a running master
required: true
style: simple
schema:
type: string
- name: environment
in: query
description: environment name
required: true
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/RootTypeforStatus'
deprecated: false
/file_content/{mount_point}/{name}:
get:
tags:
- FileContent
summary: getFilecontentMountpointName
description: Retrieve the contents of the specified file.
operationId: getFilecontentMountpointName
parameters:
- name: mount_point
in: path
description: mount point
required: true
style: simple
schema:
type: string
- name: name
in: path
description: the path to the file within the mount_point that is requested.
required: true
style: simple
schema:
type: string
responses:
'200':
description: Success
headers: {}
content: {}
deprecated: false
/file_metadata/{mount}/{path}:
get:
tags:
- FileMetadata
summary: getFilemetadataMountPath
description: Returns select metadata for a single file or many files.
operationId: getFilemetadataMountPath
parameters:
- name: environment
in: query
description: environment name
required: true
style: form
explode: true
schema:
type: string
- name: mount
in: path
description: mount name
required: true
style: simple
schema:
type: string
- name: path
in: path
description: path to file
required: true
style: simple
schema:
type: string
- name: links
in: query
description: either manage (default) or follow.
style: form
explode: true
schema:
type: string
- name: checksum_type
in: query
description: the checksum type to calculate the checksum value for the result metadata.
style: form
explode: true
schema:
type: string
- name: source_permissions
in: query
description: whether (and how) Puppet should copy owner, group, and mode permissions.
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/RootTypeforFileMetadata'
deprecated: false
/file_bucket_file/md5/{checksum}:
get:
tags:
- FileBucketfile
summary: getFilebucketfileMd5Checksum
description: Retrieve the contents of a file.
operationId: getFilebucketfileMd5Checksum
parameters:
- name: checksum
in: path
description: checksum md5 value
required: true
style: simple
schema:
type: string
- name: environment
in: query
description: environment name
required: true
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success
headers: {}
content: {}
deprecated: false
put:
tags:
- FileBucketfile
summary: putFilebucketfileMd5Checksum
description: Save a file to the filebucket.
operationId: putFilebucketfileMd5Checksum
parameters:
- name: checksum
in: path
description: Checksum md5 value
required: true
style: simple
schema:
type: string
- name: environment
in: query
description: environment name
required: true
style: form
explode: true
schema:
type: string
requestBody:
description: ''
content:
text/plain:
schema:
type: object
example: {}
example: {}
required: true
responses:
'200':
description: Success
headers: {}
content: {}
deprecated: false
/file_bucket_file/md5/{checksum}/{originalPath}:
get:
tags:
- FileBucketfile
summary: getFilebucketfileMd5ChecksumOriginalPath
description: Retrieve the contents of a file.
operationId: getFilebucketfileMd5ChecksumOriginalPath
parameters:
- name: checksum
in: path
description: checksum md5 value
required: true
style: simple
schema:
type: string
- name: originalPath
in: path
description: the full absolute path of the file on the client system.
required: true
style: simple
schema:
type: string
- name: environment
in: query
description: environment name
required: true
style: form
explode: true
schema:
type: string
responses:
'200':
description: Success
headers: {}
content: {}
deprecated: false
put:
tags:
- FileBucketfile
summary: putFilebucketfileMd5ChecksumOriginalPath
description: Save a file to the filebucket.
operationId: putFilebucketfileMd5ChecksumOriginalPath
parameters:
- name: checksum
in: path
description: Checksum md5 value
required: true
style: simple
schema:
type: string
- name: originalPath
in: path
description: the full absolute path of the file on the client system.
required: true
style: simple
schema:
type: string
- name: environment
in: query
description: environment name
required: true
style: form
explode: true
schema:
type: string
requestBody:
description: ''
content:
text/plain:
schema:
type: object
example: {}
example: {}
required: true
responses:
'200':
description: Success
headers: {}
content: {}
deprecated: false
components:
schemas:
RootTypeforCatalog:
title: RootTypeforCatalog
type: object
properties:
tags:
type: array
items:
type: string
description: ''
name:
type: string
version:
type: integer
format: int32
code_id:
type: string
catalog_uuid:
type: string
catalog_format:
type: integer
format: int32
environment:
type: string
resources:
type: array
items:
$ref: '#/components/schemas/Resource'
description: ''
edges:
type: array
items:
$ref: '#/components/schemas/Edge'
description: ''
classes:
type: array
items:
type: string
description: ''
example:
tags:
- settings
- multi_param_class
- class
name: elmo.mydomain.com
version: 1377473054
code_id: 'null'
catalog_uuid: 827a74c8-cf98-44da-9ff7-18c5e4bee41e
catalog_format: 1
environment: production
resources:
- type: Stage
title: main
tags:
- stage
exported: false
parameters:
name: main
- type: Class
title: Settings
tags:
- class
- settings
exported: false
- type: Class
title: main
tags:
- class
exported: false
parameters:
name: main
- type: Class
title: Multi_param_class
tags:
- class
- multi_param_class
line: 10
exported: false
parameters:
one: hello
two: world
- type: Notify
title: foo
tags:
- notify
- foo
- class
- multi_param_class
line: 4
exported: false
parameters:
message: One is hello, two is world
edges:
- source: Stage[main]
target: Class[Settings]
- source: Stage[main]
target: Class[main]
- source: Stage[main]
target: Class[Multi_param_class]
- source: Class[Multi_param_class]
target: Notify[foo]
classes:
- settings
- multi_param_class
RootTypeforNode:
title: RootTypeforNode
type: object
properties:
name:
type: string
parameters:
$ref: '#/components/schemas/Parameters1'
environment:
type: string
example:
name: thinky.corp.puppetlabs.net
parameters:
architecture: amd64
kernel: Linux
blockdevices: sda,sr0
clientversion: 3.3.1
clientnoop: 'false'
environment: production
environment: production
RootTypeforEnvironment:
title: RootTypeforEnvironment
type: object
properties:
search_paths:
type: array
items:
type: string
description: ''
environments:
$ref: '#/components/schemas/Environments'
example:
search_paths:
- /etc/puppetlabs/code/environments
environments:
production:
settings:
modulepath:
- /etc/puppetlabs/code/environments/production/modules
- /etc/puppetlabs/code/environments/development/modules
manifest:
- /etc/puppetlabs/code/environments/production/manifests
environment_timeout: 180
config_version: /version/of/config
RootTypeforReport:
title: RootTypeforReport
type: object
properties:
host:
type: string
time:
type: string
configuration_version:
type: integer
format: int32
transaction_uuid:
type: string
code_id:
type: string
job_id:
type: string
catalog_uuid:
type: string
catalog_format:
type: integer
format: int32
report_format:
type: integer
format: int32
puppet_version:
type: string
status:
type: string
transaction_completed:
type: boolean
noop:
type: boolean
noop_pending:
type: boolean
environment:
type: string
logs:
type: array
items:
$ref: '#/components/schemas/Log'
description: ''
metrics:
$ref: '#/components/schemas/Metrics'
resource_statuses:
$ref: '#/components/schemas/ResourceStatuses'
cached_catalog_status:
type: string
RootTypeforStatus:
title: RootTypeforStatus
type: object
properties:
is_alive:
type: boolean
version:
type: string
example:
is_alive: true
version: 3.3.2
RootTypeforFileMetadata:
title: RootTypeforFileMetadata
type: object
properties:
checksum:
$ref: '#/components/schemas/Checksum'
destination:
type: string
group:
type: integer
format: int32
links:
type: string
mode:
type: integer
format: int32
owner:
type: integer
format: int32
path:
type: string
relative_path:
type: string
type:
type: string
example:
checksum:
type: md5
value: '{md5}d0a10f45491acc8743bc5a82b228f89e'
destination: 'null'
group: 20
links: manage
mode: 420
owner: 501
path: /etc/puppetlabs/code/modules/example/files/just_a_file.txt
relative_path: 'null'
type: string
format: file
RootTypeforReportRequestBody:
title: RootTypeforReportRequestBody
type: object
properties:
environment:
type: string
example: {}
RootTypeforCatalogRequestBody:
title: RootTypeforCatalogRequestBody
type: object
properties:
facts_format:
type: string
facts:
type: string
transaction_uuid:
type: string
static_catalog:
type: string
checksum_type:
type: string
configured_environment:
type: string
job_id:
type: string
environment:
type: string
example:
environment: string
facts_format: string
facts: string
transaction_uuid: string
static_catalog: boolean
checksum_type: string
configured_environment: string
job_id: string
Changes:
title: Changes
type: object
properties:
name:
type: string
label:
type: string
values:
type: array
items:
type: array
items:
type: string
Checksum:
title: Checksum
type: object
properties:
type:
type: string
value:
type: string
Edge:
title: Edge
type: object
properties:
source:
type: string
target:
type: string
Environments:
title: Environments
type: object
properties:
production:
$ref: '#/components/schemas/Production'
Events:
title: Events
type: object
properties:
name:
type: string
label:
type: string
values:
type: array
items:
type: array
items:
type: string
Log:
title: Log
type: object
properties:
level:
type: string
message:
type: string
source:
type: string
tags:
type: array
items:
type: string
description: ''
time:
type: string
file:
type: string
line:
type: string
Metrics:
title: Metrics
type: object
properties:
resources:
$ref: '#/components/schemas/Resources'
time:
$ref: '#/components/schemas/Time'
changes:
$ref: '#/components/schemas/Changes'
events:
$ref: '#/components/schemas/Events'
NotifyAResource:
title: NotifyAResource
type: object
properties:
title:
type: string
file:
type: string
line:
type: string
resource:
type: string
resource_type:
type: string
provider_used:
type: string
containment_path:
type: array
items:
type: string
description: ''
evaluation_time:
type: string
tags:
type: array
items:
type: string
description: ''
time:
type: string
failed:
type: boolean
changed:
type: boolean
out_of_sync:
type: boolean
skipped:
type: boolean
change_count:
type: integer
format: int32
out_of_sync_count:
type: integer
format: int32
events:
type: array
items:
type: object
description: ''
Parameters:
title: Parameters
type: object
properties:
name:
type: string
Parameters1:
title: Parameters1
type: object
properties:
architecture:
type: string
kernel:
type: string
blockdevices:
type: string
clientversion:
type: string
clientnoop:
type: string
environment:
type: string
Production:
title: Production
type: object
properties:
settings:
$ref: '#/components/schemas/Settings'
Resource:
title: Resource
type: object
properties:
type:
type: string
title:
type: string
tags:
type: array
items:
type: string
description: ''
exported:
type: boolean
parameters:
$ref: '#/components/schemas/Parameters'
Resources:
title: Resources
type: object
properties:
name:
type: string
label:
type: string
values:
type: array
items:
type: array
items:
type: string
ResourceStatuses:
title: ResourceStatuses
type: object
properties:
Notify[a resource]:
$ref: '#/components/schemas/NotifyAResource'
Settings:
title: Settings
type: object
properties:
modulepath:
type: array
items:
type: string
description: ''
manifest:
type: array
items:
type: string
description: ''
environment_timeout:
type: integer
format: int32
config_version:
type: string
Time:
title: Time
type: object
properties:
name:
type: string
label:
type: string
values:
type: array
items:
type: array
items:
type: string
tags:
- name: Catalog
description: ''
- name: Node
description: ''
- name: Environments
description: ''
- name: Report
description: ''
- name: Status
description: ''
- name: FileContent
description: ''
- name: FileMetadata
description: ''
- name: FileBucketfile
description: ''