Chef Software ProfilesService API
The ProfilesService API from Chef Software — 5 operation(s) for profilesservice.
The ProfilesService API from Chef Software — 5 operation(s) for profilesservice.
swagger: '2.0'
info:
title: external/applications/applications.proto ApplicationsService ProfilesService API
version: version not set
consumes:
- application/json
produces:
- application/json
tags:
- name: ProfilesService
paths:
/api/v0/compliance/market/read/{name}/version/{version}:
get:
summary: Show an available profile
description: 'Show the details of an un-installed profile using the profile name and version.
in the UI, these are the profiles under the "Available" tab.
These profiles are created and maintained by Chef, shipped with Chef Automate.
Authorization Action:
```
compliance:marketProfiles:get
```'
operationId: ProfilesService_ReadFromMarket
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Profile'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/grpc.gateway.runtime.Error'
parameters:
- name: name
description: Name of the profile.
in: path
required: true
type: string
- name: version
description: Version of the profile.
in: path
required: true
type: string
- name: owner
description: Automate user associated with the profile.
in: query
required: false
type: string
tags:
- ProfilesService
/api/v0/compliance/profiles/metasearch:
post:
summary: Check if one or multiple profiles exist in the metadata database.
description: 'The endpoint takes an array of compliance profile sha256 IDs and returns the ones that the backend
doesn''t have metadata (profile title, copyright, controls title, code, tags, etc) for.
This is useful when deciding if a compliance report can be sent for ingestion without the associated profile metadata.
Authorization Action:
```
compliance:profiles:list
```'
operationId: ProfilesService_MetaSearch
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Missing'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/grpc.gateway.runtime.Error'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Sha256'
tags:
- ProfilesService
/api/v0/compliance/profiles/read/{owner}/{name}/version/{version}:
get:
summary: Show an installed profile
description: 'Show the details of an installed profile given the profile name, owner (Automate user associated with the profile), and version.
Authorization Action:
```
compliance:profiles:get
```'
operationId: ProfilesService_Read
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Profile'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/grpc.gateway.runtime.Error'
parameters:
- name: owner
description: Automate user associated with the profile.
in: path
required: true
type: string
- name: name
description: Name of the profile.
in: path
required: true
type: string
- name: version
description: Version of the profile.
in: path
required: true
type: string
tags:
- ProfilesService
/api/v0/compliance/profiles/search:
post:
summary: List all available profiles
description: 'Lists all profiles available for the Automate instance.
Empty params return all "market" profiles.
Specifying the `owner` field returns all profiles installed for the specified user.
Supports pagination, sorting, and filtering (wildcard supported).
Supported sort fields: title, name (default: title)
Supported filter fields: name, version, title
Example:
```
{
"filters":[
{"type": "title", "values": [ "Dev*"]}
],
"page": 1,
"per_page": 3,
"owner": "admin"
}
```
Authorization Action:
```
compliance:profiles:list
```'
operationId: ProfilesService_List
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Profiles'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/grpc.gateway.runtime.Error'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Query'
tags:
- ProfilesService
/api/v0/compliance/profiles/{owner}/{name}/version/{version}:
delete:
summary: Delete an installed profile
description: 'Delete an installed profile given the profile name, owner (Automate user associated with the profile), and version.
Note: this action "uninstalls" the profile. This has no impact on the market profiles.
Authorization Action:
```
compliance:profiles:delete
```'
operationId: ProfilesService_Delete
responses:
'200':
description: A successful response.
schema:
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/grpc.gateway.runtime.Error'
parameters:
- name: owner
description: Automate user associated with the profile.
in: path
required: true
type: string
- name: name
description: Name of the profile.
in: path
required: true
type: string
- name: version
description: Version of the profile.
in: path
required: true
type: string
tags:
- ProfilesService
definitions:
chef.automate.api.compliance.profiles.v1.SourceLocation:
type: object
properties:
ref:
type: string
line:
type: integer
format: int32
chef.automate.api.compliance.profiles.v1.Ref:
type: object
properties:
url:
type: string
description: URL of the ref.
ref:
type: string
description: Ref for the control.
chef.automate.api.compliance.profiles.v1.Control:
type: object
properties:
id:
type: string
description: The ID of the control.
code:
type: string
description: The code (test) for the control.
desc:
type: string
description: The description of the control.
impact:
type: number
format: float
description: The impact of the control.
title:
type: string
description: The title of the control.
source_location:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.SourceLocation'
description: Intentionally blank.
results:
type: array
items:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Result'
description: The results of the control tests.
refs:
type: array
items:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Ref'
description: The refs associated with the control.
tags:
type: object
additionalProperties:
type: string
description: The tags associated with the control.
chef.automate.api.compliance.profiles.v1.Sha256:
type: object
properties:
sha256:
type: array
items:
type: string
description: An array of profile sha256 IDs.
chef.automate.api.compliance.profiles.v1.Query:
type: object
properties:
filters:
type: array
items:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.ListFilter'
title: Filters to apply to the query
order:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Query.OrderType'
description: Order in which to sort. Defaults to ASC.
sort:
type: string
description: Field on which to sort.
page:
type: integer
format: int32
description: Page of results requested.
per_page:
type: integer
format: int32
description: Number of results to return per page.
owner:
type: string
description: Automate user associated with the profile.
name:
type: string
description: Name of the profile (as defined in `inspec.yml`).
version:
type: string
description: Version of the profile (as defined in `inspec.yml`).
chef.automate.api.compliance.profiles.v1.Missing:
type: object
properties:
missing_sha256:
type: array
items:
type: string
description: An array of profile sha256 IDs that are missing from the backend metadata store.
chef.automate.api.compliance.profiles.v1.Profiles:
type: object
properties:
profiles:
type: array
items:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Profile'
description: List of profiles matching the query.
total:
type: integer
format: int32
description: Total count of profiles matching the query.
chef.automate.api.compliance.profiles.v1.Profile:
type: object
properties:
name:
type: string
title: The profile name, as specified in the inspec.yml
title:
type: string
title: The profile title, as specified in the inspec.yml
maintainer:
type: string
title: The profile maintainer, as specified in the inspec.yml
copyright:
type: string
title: The profile copyright, as specified in the inspec.yml
copyright_email:
type: string
title: The profile copyright email, as specified in the inspec.yml
license:
type: string
title: The profile license, as specified in the inspec.yml
summary:
type: string
title: The profile summary, as specified in the inspec.yml
version:
type: string
title: The profile version, as specified in the inspec.yml
owner:
type: string
description: The Automate user associated with the profile.
supports:
type: array
items:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Support'
title: The list of operating systems compatible with the profile, as specified in the inspec.yml
depends:
type: array
items:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Dependency'
title: The list of dependencies the profile has, as specified in the inspec.yml
sha256:
type: string
description: The SHA256 of the profile.
groups:
type: array
items:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Group'
controls:
type: array
items:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Control'
description: The list of controls in the profile.
attributes:
type: array
items:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Attribute'
description: The list of attributes in the profile.
latest_version:
type: string
description: The latest version of the profile.
chef.automate.api.compliance.profiles.v1.ListFilter:
type: object
properties:
values:
type: array
items:
type: string
description: List of values to filter on.
type:
type: string
description: The field to filter on.
chef.automate.api.compliance.profiles.v1.Dependency:
type: object
properties:
name:
type: string
description: Name of the profile.
url:
type: string
description: URL of the profile.
path:
type: string
description: Path of the profile.
git:
type: string
description: Git location of the profile.
branch:
type: string
description: Branch of the profile.
tag:
type: string
description: Tag associated with the profile.
commit:
type: string
description: Commit sha for the profile.
version:
type: string
description: Version of the profile.
supermarket:
type: string
description: Supermarket address of the profile.
github:
type: string
description: Github address of the profile.
compliance:
type: string
description: Automate address of the profile.
chef.automate.api.compliance.profiles.v1.Support:
type: object
properties:
os_name:
type: string
description: OS name supported by the profile.
os_family:
type: string
description: OS family supported by the profile.
release:
type: string
description: OS release supported by the profile.
inspec_version:
type: string
description: Minimum InSpec version required for the profile.
platform:
type: string
description: Platform supported by the profile.
google.protobuf.Any:
type: object
properties:
type_url:
type: string
value:
type: string
format: byte
grpc.gateway.runtime.Error:
type: object
properties:
error:
type: string
code:
type: integer
format: int32
message:
type: string
details:
type: array
items:
$ref: '#/definitions/google.protobuf.Any'
chef.automate.api.compliance.profiles.v1.Result:
type: object
properties:
status:
type: string
description: Status of the test results (passed, failed, skipped).
code_desc:
type: string
description: The code (test) executed.
run_time:
type: number
format: float
description: The amount of time it took to execute the test.
start_time:
type: string
description: The time the test started.
message:
type: string
description: The failure message.
skip_message:
type: string
description: Reason for skipping the test.
chef.automate.api.compliance.profiles.v1.Option:
type: object
properties:
description:
type: string
default:
type: string
chef.automate.api.compliance.profiles.v1.Group:
type: object
properties:
id:
type: string
title:
type: string
controls:
type: array
items:
type: string
chef.automate.api.compliance.profiles.v1.Query.OrderType:
type: string
enum:
- ASC
- DESC
default: ASC
chef.automate.api.compliance.profiles.v1.Attribute:
type: object
properties:
name:
type: string
options:
$ref: '#/definitions/chef.automate.api.compliance.profiles.v1.Option'