{
"openapi": "3.0.0",
"info": {
"description": "REST interface for the Insights Platform Host Inventory application.",
"version": "1.0.0",
"title": "Insights Host Inventory REST Interface"
},
"paths": {
"/hosts": {
"get": {
"operationId": "api.host.get_host_list",
"tags": [
"hosts"
],
"summary": "Read the entire list of hosts",
"description": "Read the entire list of all hosts available to the account.
Required permissions: inventory:hosts:read",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/displayName"
},
{
"$ref": "#/components/parameters/fqdn"
},
{
"$ref": "#/components/parameters/hostnameOrId"
},
{
"$ref": "#/components/parameters/insightsId"
},
{
"$ref": "#/components/parameters/providerId"
},
{
"$ref": "#/components/parameters/providerType"
},
{
"$ref": "#/components/parameters/updatedStart"
},
{
"$ref": "#/components/parameters/updatedEnd"
},
{
"$ref": "#/components/parameters/groupNameListParam"
},
{
"$ref": "#/components/parameters/branchId"
},
{
"$ref": "#/components/parameters/perPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
},
{
"$ref": "#/components/parameters/hostOrderByParam"
},
{
"$ref": "#/components/parameters/hostOrderHowParam"
},
{
"$ref": "#/components/parameters/stalenessParam"
},
{
"$ref": "#/components/parameters/tagsParam"
},
{
"$ref": "#/components/parameters/registered_with"
},
{
"$ref": "#/components/parameters/filter_param"
},
{
"$ref": "#/components/parameters/fields_param"
}
],
"responses": {
"200": {
"description": "Successfully read the hosts list.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HostQueryOutput"
}
}
}
}
}
},
"delete": {
"operationId": "api.host.delete_hosts_by_filter",
"tags": [
"hosts"
],
"summary": "Delete the entire list of hosts filtered by the given parameters",
"description": "Delete the entire list of hosts filtered by the given parameters.
Required permissions: inventory:hosts:write",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/displayName"
},
{
"$ref": "#/components/parameters/fqdn"
},
{
"$ref": "#/components/parameters/hostnameOrId"
},
{
"$ref": "#/components/parameters/insightsId"
},
{
"$ref": "#/components/parameters/providerId"
},
{
"$ref": "#/components/parameters/providerType"
},
{
"$ref": "#/components/parameters/updatedStart"
},
{
"$ref": "#/components/parameters/updatedEnd"
},
{
"$ref": "#/components/parameters/groupNameListParam"
},
{
"$ref": "#/components/parameters/registered_with"
},
{
"$ref": "#/components/parameters/stalenessNoDefaultsParam"
},
{
"$ref": "#/components/parameters/tagsParam"
},
{
"$ref": "#/components/parameters/filter_param"
}
],
"responses": {
"202": {
"description": "Request for deletion of filtered hosts has been accepted."
},
"400": {
"description": "Invalid request."
}
}
}
},
"/hosts/all": {
"delete": {
"operationId": "api.host.delete_all_hosts",
"tags": [
"hosts"
],
"summary": "Delete all hosts on the account",
"description": "Delete all hosts on the account. The request must include \"confirm_delete_all=true\".
Required permissions: inventory:hosts:write",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/confirmDeleteAll"
}
],
"responses": {
"202": {
"description": "Request for deleting all hosts has been accepted."
},
"400": {
"description": "Invalid request."
}
}
}
},
"/hosts/checkin": {
"post": {
"operationId": "api.host.host_checkin",
"tags": [
"hosts"
],
"summary": "Update staleness timestamps for a host matching the provided facts",
"description": "Finds a host and updates its staleness timestamps. It uses the supplied canonical facts to determine which host to update. By default, the staleness timestamp is set to 1 hour from when the request is received; however, this can be overridden by supplying the interval.
Required permissions: inventory:hosts:write",
"security": [
{
"ApiKeyAuth": []
},
{
"BearerAuth": []
}
],
"requestBody": {
"description": "Data required to create a check-in record for a host.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateCheckIn"
}
}
}
},
"responses": {
"201": {
"description": "Successfully checked in Host.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HostOut"
}
}
}
},
"404": {
"description": "Not Found."
}
}
}
},
"/hosts/{host_id_list}": {
"get": {
"tags": [
"hosts"
],
"summary": "Find hosts by their IDs",
"description": "Find one or more hosts by their ID.
Required permissions: inventory:hosts:read",
"operationId": "api.host.get_host_by_id",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/hostIdList"
},
{
"$ref": "#/components/parameters/branchId"
},
{
"$ref": "#/components/parameters/perPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
},
{
"$ref": "#/components/parameters/hostOrderByParam"
},
{
"$ref": "#/components/parameters/hostOrderHowParam"
},
{
"$ref": "#/components/parameters/fields_param"
}
],
"responses": {
"200": {
"description": "Successfully searched for hosts.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HostQueryOutput"
}
}
}
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "Host not found."
}
}
},
"delete": {
"tags": [
"hosts"
],
"summary": "Delete hosts by IDs",
"description": "Delete hosts by IDs
Required permissions: inventory:hosts:write",
"operationId": "api.host.delete_host_by_id",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/hostIdList"
},
{
"$ref": "#/components/parameters/branchId"
}
],
"responses": {
"200": {
"description": "Successfully deleted hosts."
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "Host not found."
}
}
},
"patch": {
"tags": [
"hosts"
],
"summary": "Update hosts",
"description": "Update hosts
Required permissions: inventory:hosts:write",
"operationId": "api.host.patch_host_by_id",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/hostIdList"
},
{
"$ref": "#/components/parameters/branchId"
}
],
"requestBody": {
"description": "A group of fields to be updated on the hosts",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PatchHostIn"
}
}
}
},
"responses": {
"200": {
"description": "Successfully updated the hosts."
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "Host not found."
}
}
}
},
"/hosts/{host_id_list}/facts/{namespace}": {
"patch": {
"tags": [
"hosts"
],
"summary": "Merge facts under a namespace",
"description": "Merge one or multiple hosts facts under a namespace.
Required permissions: inventory:hosts:write",
"operationId": "api.host.merge_facts",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/hostIdList"
},
{
"$ref": "#/components/parameters/factsNamespace"
},
{
"$ref": "#/components/parameters/branchId"
}
],
"requestBody": {
"description": "A dictionary with the new facts to merge with the original ones.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Facts"
}
}
}
},
"responses": {
"200": {
"description": "Successfully merged facts."
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "Host or namespace not found."
}
}
},
"put": {
"tags": [
"hosts"
],
"summary": "Replace facts under a namespace",
"description": "Replace facts under a namespace
Required permissions: inventory:hosts:write",
"security": [
{
"ApiKeyAuth": []
}
],
"operationId": "api.host.replace_facts",
"parameters": [
{
"$ref": "#/components/parameters/hostIdList"
},
{
"$ref": "#/components/parameters/factsNamespace"
},
{
"$ref": "#/components/parameters/branchId"
}
],
"requestBody": {
"description": "A dictionary with the new facts to replace the original ones.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Facts"
}
}
}
},
"responses": {
"200": {
"description": "Successfully replaced facts."
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "Host or namespace not found."
}
}
}
},
"/hosts/{host_id_list}/system_profile": {
"get": {
"tags": [
"hosts"
],
"summary": "Return one or more hosts system profile",
"description": "Find one or more hosts by their ID and return the id and system profile
Required permissions: inventory:hosts:read",
"operationId": "api.host.get_host_system_profile_by_id",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/hostIdList"
},
{
"$ref": "#/components/parameters/perPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
},
{
"$ref": "#/components/parameters/hostOrderByParam"
},
{
"$ref": "#/components/parameters/hostOrderHowParam"
},
{
"$ref": "#/components/parameters/branchId"
},
{
"$ref": "#/components/parameters/fields_param"
}
],
"responses": {
"200": {
"description": "Successfully searched for hosts.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SystemProfileByHostOut"
}
}
}
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "Host not found."
}
}
}
},
"/hosts/{host_id_list}/tags": {
"get": {
"tags": [
"hosts"
],
"summary": "Get the tags on a host",
"description": "Get the tags on a host
Required permissions: inventory:hosts:read",
"operationId": "api.host.get_host_tags",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/hostIdList"
},
{
"$ref": "#/components/parameters/perPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
},
{
"$ref": "#/components/parameters/hostOrderByParam"
},
{
"$ref": "#/components/parameters/hostOrderHowParam"
},
{
"$ref": "#/components/parameters/searchParam"
}
],
"responses": {
"200": {
"description": "Successfully found tags.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagsOut"
}
}
}
},
"400": {
"description": "Invalid request."
}
}
}
},
"/hosts/{host_id_list}/tags/count": {
"get": {
"tags": [
"hosts"
],
"summary": "Get the number of tags on a host or hosts",
"description": "Get the number of tags on a host or hosts
Required permissions: inventory:hosts:read",
"operationId": "api.host.get_host_tag_count",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/hostIdList"
},
{
"$ref": "#/components/parameters/perPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
},
{
"$ref": "#/components/parameters/hostOrderByParam"
},
{
"$ref": "#/components/parameters/hostOrderHowParam"
}
],
"responses": {
"200": {
"description": "Successfully found tag count.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagCountOut"
}
}
}
},
"400": {
"description": "Invalid request."
}
}
}
},
"/groups": {
"get": {
"operationId": "api.group.get_group_list",
"tags": [
"groups"
],
"summary": "Read the entire list of groups",
"description": "Read the entire list of all groups available to the account.
Required permissions: inventory:groups:read",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/groupName"
},
{
"$ref": "#/components/parameters/perPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
},
{
"$ref": "#/components/parameters/groupOrderByParam"
},
{
"$ref": "#/components/parameters/groupOrderHowParam"
}
],
"responses": {
"200": {
"description": "Successfully read the groups list.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupQueryOutput"
}
}
}
},
"400": {
"description": "Groups not found."
}
}
},
"post": {
"operationId": "api.group.create_group",
"tags": [
"groups"
],
"summary": "Create a new group matching the provided name and list of hosts IDs",
"description": "Creates a new group containing the hosts associated with the host IDs provided.
Required permissions: inventory:groups:write",
"security": [
{
"ApiKeyAuth": []
},
{
"BearerAuth": []
}
],
"requestBody": {
"description": "Data required to create a record for a group.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupIn"
}
}
}
},
"responses": {
"201": {
"description": "Successfully created new Group.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupOutWithHostCount"
}
}
}
},
"400": {
"description": "Invalid request."
},
"403": {
"description": "Forbidden - Invalid RBAC permission."
}
}
}
},
"/groups/{group_id}": {
"patch": {
"operationId": "api.group.patch_group_by_id",
"tags": [
"groups"
],
"summary": "Merge group information",
"description": "Merge group information.
Required permissions: inventory:groups:write",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/groupId"
}
],
"requestBody": {
"description": "A dictionary with new information to merge with the original group.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupIn"
}
}
}
},
"responses": {
"200": {
"description": "Group information successfully or already previously merged.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupOutWithHostCount"
}
}
}
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "Group not found."
}
}
}
},
"/groups/{group_id_list}": {
"get": {
"operationId": "api.group.get_groups_by_id",
"tags": [
"groups"
],
"summary": "Find groups by their IDs",
"description": "Find one or more groups by their IDs.
Required permissions: inventory:groups:read",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/groupIdList"
},
{
"$ref": "#/components/parameters/perPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
},
{
"$ref": "#/components/parameters/groupOrderByParam"
},
{
"$ref": "#/components/parameters/groupOrderHowParam"
}
],
"responses": {
"200": {
"description": "Successfully searched for groups.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupQueryOutput"
}
}
}
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "Groups not found."
}
}
},
"delete": {
"operationId": "api.group.delete_groups",
"tags": [
"groups"
],
"summary": "Delete a list of groups",
"description": "Delete a list of groups.
Required permissions: inventory:groups:write",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/groupIdList"
}
],
"responses": {
"204": {
"description": "The groups were successfully deleted."
},
"400": {
"description": "Invalid request."
}
}
}
},
"/groups/{group_id}/hosts/{host_id_list}": {
"delete": {
"operationId": "api.host_group.delete_hosts_from_group",
"tags": [
"groups"
],
"summary": "Delete one or more hosts from a group",
"description": "Delete one or more hosts from a group.
Required permissions: inventory:groups:write",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/groupId"
},
{
"$ref": "#/components/parameters/hostIdList"
}
],
"responses": {
"204": {
"description": "Successfully deleted hosts."
},
"400": {
"description": "Invalid request."
}
}
}
},
"/groups/{group_id}/hosts": {
"post": {
"operationId": "api.host_group.add_host_list_to_group",
"tags": [
"groups"
],
"summary": "Add host IDs to the provided group",
"description": "Adds the host list in the request body to the provided group.
Required permissions: inventory:groups:write",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/groupId"
}
],
"requestBody": {
"description": "A list of hosts IDs to associate with the provided group.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HostIds"
}
}
}
},
"responses": {
"200": {
"description": "Hosts successfully or already previously associated with group.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GroupOutWithHostCount"
}
}
}
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "Group not found."
}
}
}
},
"/groups/hosts/{host_id_list}": {
"delete": {
"operationId": "api.group.delete_hosts_from_different_groups",
"tags": [
"groups"
],
"summary": "Delete a list of hosts from the groups they are in",
"description": "Delete a list of hosts from the groups they are in.
Required permissions: inventory:groups:write",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/hostIdList"
}
],
"responses": {
"204": {
"description": "The hosts were successfully removed from their groups."
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "The provided hosts are ungrouped."
}
}
}
},
"/resource-types": {
"get": {
"operationId": "api.resource_type.get_resource_type_list",
"tags": [
"resource-types"
],
"summary": "Get the list of resource types",
"description": "Returns the list of available RBAC resource types.
Required permissions: rbac:*:*",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/resourceTypesPerPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
}
],
"responses": {
"200": {
"description": "Successfully read the resource types list.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResourceTypesQueryOutput"
}
}
}
},
"400": {
"description": "Resource types not found."
}
}
}
},
"/resource-types/inventory-groups": {
"get": {
"operationId": "api.resource_type.get_resource_type_groups_list",
"tags": [
"resource-types"
],
"summary": "Get the list of inventory groups in resource-types format",
"description": "Returns the list of groups in the current account.
Required permissions: rbac:*:*",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/groupName"
},
{
"$ref": "#/components/parameters/resourceTypesPerPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
}
],
"responses": {
"200": {
"description": "Successfully read the resource-types groups list.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResourceTypesGroupsQueryOutput"
}
}
}
},
"400": {
"description": "Groups not found."
}
}
}
},
"/tags": {
"get": {
"tags": [
"tags"
],
"summary": "Get the active host tags for a given account",
"description": "Required permissions: inventory:hosts:read",
"operationId": "api.tag.get_tags",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/tagsParam"
},
{
"$ref": "#/components/parameters/tagsOrderBy"
},
{
"$ref": "#/components/parameters/tagsOrderHow"
},
{
"$ref": "#/components/parameters/perPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
},
{
"$ref": "#/components/parameters/stalenessParam"
},
{
"$ref": "#/components/parameters/searchParam"
},
{
"$ref": "#/components/parameters/displayName"
},
{
"$ref": "#/components/parameters/fqdn"
},
{
"$ref": "#/components/parameters/hostnameOrId"
},
{
"$ref": "#/components/parameters/insightsId"
},
{
"$ref": "#/components/parameters/providerId"
},
{
"$ref": "#/components/parameters/providerType"
},
{
"$ref": "#/components/parameters/updatedStart"
},
{
"$ref": "#/components/parameters/updatedEnd"
},
{
"$ref": "#/components/parameters/groupNameListParam"
},
{
"$ref": "#/components/parameters/registered_with"
},
{
"$ref": "#/components/parameters/filter_param"
}
],
"responses": {
"200": {
"description": "Tags",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveTags"
}
}
}
},
"400": {
"description": "Invalid request."
},
"404": {
"$ref": "#/components/responses/PageOutOfBounds"
}
}
}
},
"/system_profile/sap_system": {
"get": {
"tags": [
"system_profile"
],
"summary": "get all sap system values and counts on the account",
"description": "Required permissions: inventory:hosts:read",
"operationId": "api.system_profile.get_sap_system",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/tagsParam"
},
{
"$ref": "#/components/parameters/perPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
},
{
"$ref": "#/components/parameters/stalenessParam"
},
{
"$ref": "#/components/parameters/registered_with"
},
{
"$ref": "#/components/parameters/filter_param"
}
],
"responses": {
"200": {
"description": "sap_system values and counts for the account",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SystemProfileSapSystemOut"
}
}
}
},
"400": {
"description": "Invalid request."
},
"404": {
"$ref": "#/components/responses/PageOutOfBounds"
}
}
}
},
"/system_profile/sap_sids": {
"get": {
"tags": [
"system_profile"
],
"summary": "get all sap sids values and counts on the account",
"description": "Required permissions: inventory:hosts:read",
"operationId": "api.system_profile.get_sap_sids",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/searchParam"
},
{
"$ref": "#/components/parameters/tagsParam"
},
{
"$ref": "#/components/parameters/perPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
},
{
"$ref": "#/components/parameters/stalenessParam"
},
{
"$ref": "#/components/parameters/registered_with"
},
{
"$ref": "#/components/parameters/filter_param"
}
],
"responses": {
"200": {
"description": "sap_system values and counts for the account",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SystemProfileSapSystemOut"
}
}
}
},
"400": {
"description": "Invalid request."
},
"404": {
"$ref": "#/components/responses/PageOutOfBounds"
}
}
}
},
"/system_profile/operating_system": {
"get": {
"tags": [
"system_profile"
],
"summary": "get all operating system versions and counts on the account",
"description": "Required permissions: inventory:hosts:read",
"operationId": "api.system_profile.get_operating_system",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/tagsParam"
},
{
"$ref": "#/components/parameters/perPageParam"
},
{
"$ref": "#/components/parameters/pageParam"
},
{
"$ref": "#/components/parameters/stalenessParam"
},
{
"$ref": "#/components/parameters/registered_with"
},
{
"$ref": "#/components/parameters/filter_param"
}
],
"responses": {
"200": {
"description": "operating system versions and counts on the account",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SystemProfileOperatingSystemOut"
}
}
}
},
"400": {
"description": "Invalid request."
},
"404": {
"$ref": "#/components/responses/PageOutOfBounds"
}
}
}
},
"/system_profile/validate_schema": {
"post": {
"tags": [
"system_profile"
],
"summary": "validate system profile schema",
"description": "Validates System Profile data from recent Kafka messages against a given spec, and compares it with the current one. Only HBI Admins can access this endpoint.",
"operationId": "api.system_profile.validate_schema",
"security": [
{
"ApiKeyAuth": []
}
],
"parameters": [
{
"in": "query",
"name": "repo_fork",
"schema": {
"type": "string"
},
"description": "The fork of the inventory-schemas repo to use"
},
{
"in": "query",
"name": "repo_branch",
"schema": {
"type": "string"
},
"description": "The branch of the inventory-schemas repo to use",
"required": true
},
{
"in": "query",
"name": "days",
"schema": {
"type": "integer",
"minimum": 1
},
"description": "How many days worth of data to validate"
},
{
"in": "query",
"name": "max_messages",
"schema": {
"type": "integer",
"minimum": 1,
"default": 10000
},
"description": "Stops polling when this number of messages has been collected"
}
],
"responses": {
"200": {
"description": "Host validation results"
},
"403": {
"description": "Forbidden"
}
}
}
},
"/account/staleness": {
"get": {
"operationId": "api.staleness.get_staleness",
"tags": [
"accounts_staleness"
],
"summary": "Read the entire list of account staleness",
"description": "Read the entire list of all accounts staleness available. Required permissions: inventory:TODO:read",
"security": [
{
"ApiKeyAuth": []
},
{
"BearerAuth": []
}
],
"responses": {
"200": {
"description": "Successfully read the staleness account.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StalenessOutput"
}
}
}
},
"400": {
"description": "Invalid request."
}
}
},
"post": {
"operationId": "api.staleness.create_staleness",
"tags": [
"accounts_staleness"
],
"summary": "Create account staleness record",
"description": "Create account staleness record. Required permissions: inventory:TODO:write",
"security": [
{
"ApiKeyAuth": []
},
{
"BearerAuth": []
}
],
"requestBody": {
"description": "Data required to create a record for a account staleness.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StalenessIn"
}
}
}
},
"responses": {
"201": {
"description": "Successfully account staleness created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StalenessOutput"
}
}
}
},
"400": {
"description": "Invalid request."
}
}
},
"patch": {
"operationId": "api.staleness.update_staleness",
"tags": [
"accounts_staleness"
],
"summary": "Update account staleness record",
"description": "Update account staleness record. Required permissions: inventory:staleness:write",
"security": [
{
"ApiKeyAuth": []
},
{
"BearerAuth": []
}
],
"requestBody": {
"description": "Data required to update a record for a account staleness.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StalenessIn"
}
}
}
},
"responses": {
"200": {
"description": "Successfully account staleness updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StalenessOutput"
}
}
}
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "Staleness record not found."
}
}
},
"delete": {
"operationId": "api.staleness.delete_staleness",
"tags": [
"accounts_staleness"
],
"summary": "Delete an account staleness",
"description": "Delete an account staleness
Required permissions: inventory:staleness:write",
"security": [
{
"ApiKeyAuth": []
},
{
"BearerAuth": []
}
],
"responses": {
"204": {
"description": "Successfully deleted account staleness."
},
"400": {
"description": "Invalid request."
},
"404": {
"description": "Account Staleness not found."
}
}
}
},
"/account/staleness/defaults": {
"get": {
"operationId": "api.staleness.get_default_staleness",
"tags": [
"accounts_staleness"
],
"summary": "Read the entire list of account staleness",
"description": "Read the entire list of all accounts staleness available. Required permissions: inventory:TODO:read",
"security": [
{
"ApiKeyAuth": []
},
{
"BearerAuth": []
}
],
"responses": {
"200": {
"description": "Successfully read the staleness account.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StalenessOutput"
}
}
}
},
"400": {
"description": "Invalid request."
}
}
}
}
},
"components": {
"securitySchemes": {
"BearerAuth": {
"type": "http",
"scheme": "bearer",
"x-bearerInfoFunc": "app.auth.bearer_token_handler"
},
"ApiKeyAuth": {
"type": "apiKey",
"in": "header",
"name": "x-rh-identity",
"description": "Base64-encoded JSON identity header provided by 3Scale. Contains an org_id of the user issuing the request. Format of the JSON: {\"identity\": {\"org_id\": \"12345678\"}}",
"x-apikeyInfoFunc": "app.auth.authentication_header_handler"
}
},
"parameters": {
"pageParam": {
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 21474837,
"default": 1
},
"description": "A page number of the items to return."
},
"perPageParam": {
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
},
"description": "A number of items to return per page."
},
"resourceTypesPerPageParam": {
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 10
},
"description": "A number of items to return per page."
},
"hostId": {
"in": "path",
"name": "host_id",
"description": "Host (system) ID.",
"required": true,
"schema": {
"$ref": "#/components/schemas/NonStrictUUID"
}
},
"hostIdList": {
"in": "path",
"name": "host_id_list",
"description": "A comma-separated list of host IDs.",
"required": true,
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NonStrictUUID"
}
}
},
"branchId": {
"in": "query",
"name": "branch_id",
"schema": {
"type": "string"
},
"description": "Filter by branch_id",
"required": false
},
"displayName": {
"in": "query",
"name": "display_name",
"schema": {
"type": "string"
},
"description": "Filter by display_name (case-insensitive)",
"required": false
},
"fqdn": {
"in": "query",
"name": "fqdn",
"schema": {
"type": "string"
},
"description": "Filter by FQDN (case-insensitive)",
"required": false
},
"hostnameOrId": {
"in": "query",
"name": "hostname_or_id",
"schema": {
"type": "string"
},
"description": "Filter by display_name, fqdn, id (case-insensitive)",
"required": false
},
"insightsId": {
"in": "query",
"name": "insights_id",
"schema": {
"type": "string",
"format": "uuid"
},
"description": "Filter by insights_id",
"required": false
},
"providerId": {
"in": "query",
"name": "provider_id",
"schema": {
"type": "string"
},
"description": "Filter by provider_id",
"required": false
},
"providerType": {
"in": "query",
"name": "provider_type",
"schema": {
"type": "string",
"enum": [
"alibaba",
"aws",
"azure",
"gcp",
"ibm"
]
},
"description": "Filter by provider_type",
"required": false
},
"updatedStart": {
"in": "query",
"name": "updated_start",
"schema": {
"type": "string",
"format": "date-time"
},
"description": "Only show hosts last modified after the given date"
},
"updatedEnd": {
"in": "query",
"name": "updated_end",
"schema": {
"type": "string",
"format": "date-time"
},
"description": "Only show hosts last modified before the given date"
},
"factsNamespace": {
"in": "path",
"name": "namespace",
"description": "A namespace of the merged facts.",
"required": true,
"schema": {
"type": "string"
}
},
"hostOrderByParam": {
"name": "order_by",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"display_name",
"group_name",
"updated",
"operating_system"
]
},
"description": "Ordering field name"
},
"groupOrderByParam": {
"name": "order_by",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"name",
"host_count",
"updated"
]
},
"description": "Ordering field name"
},
"hostOrderHowParam": {
"name": "order_how",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"description": "Direction of the ordering; defaults to ASC for display_name, and to DESC for updated and operating_system"
},
"groupOrderHowParam": {
"name": "order_how",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"description": "Direction of the ordering; defaults to ASC for name, and to DESC for host_count"
},
"assignmentRuleOrderByParam": {
"name": "order_by",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"name",
"group_id"
]
},
"description": "Ordering field name"
},
"assignmentRuleOrderHowParam": {
"name": "order_how",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"description": "Direction of the ordering; defaults to ASC for name, and to DESC for host_ids"
},
"stalenessParam": {
"name": "staleness",
"in": "query",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"fresh",
"stale",
"stale_warning",
"unknown"
]
},
"default": [
"fresh",
"stale",
"stale_warning"
]
},
"description": "Culling states of the hosts. Default: fresh, stale and stale_warning"
},
"stalenessNoDefaultsParam": {
"name": "staleness",
"in": "query",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"fresh",
"stale",
"stale_warning",
"unknown"
]
}
},
"description": "Culling states of the hosts."
},
"tagsParam": {
"name": "tags",
"in": "query",
"description": "filters out hosts not tagged by the given tags",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string",
"pattern": "^([^=/]+/)?[^=/]+(=[^=/]+)?$"
}
}
},
"tagsOrderBy": {
"in": "query",
"name": "order_by",
"required": false,
"schema": {
"type": "string",
"default": "tag",
"enum": [
"tag",
"count"
]
},
"description": "Ordering field name"
},
"tagsOrderHow": {
"in": "query",
"name": "order_how",
"required": false,
"schema": {
"type": "string",
"default": "ASC",
"enum": [
"ASC",
"DESC"
]
},
"description": "Direction of the ordering. Default to ASC"
},
"searchParam": {
"in": "query",
"name": "search",
"required": false,
"description": "Used for searching tags and sap_sids that match the given search string. For searching tags, a tag's namespace, key, and/or value is used for matching.",
"schema": {
"type": "string"
}
},
"registered_with": {
"in": "query",
"name": "registered_with",
"required": false,
"description": "Filters out any host not registered by the specified reporters",
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"insights",
"yupana",
"satellite",
"discovery",
"puptoo",
"rhsm-conduit",
"cloud-connector",
"!yupana",
"!satellite",
"!discovery",
"!puptoo",
"!rhsm-conduit",
"!cloud-connector"
]
}
}
},
"filter_param": {
"in": "query",
"name": "filter",
"required": false,
"description": "Filters hosts based on system_profile fields. For example:
{\"system_profile\": {\"host_type\": {\"eq\": \"edge\"}}}
which equates to the URL param:
\"?filter[system_profile][host_type][eq]=edge\"",
"style": "deepObject",
"explode": true,
"example": {},
"schema": {
"$ref": "#/components/schemas/SystemProfileNestedObject"
}
},
"fields_param": {
"in": "query",
"name": "fields",
"required": false,
"description": "Fetches only mentioned system_profile fields. For example,
{\"system_profile\": [\"arch\", \"host_type\"]}
which equates to the URL param:
\"?fields[system_profile]=arch,host_type\"",
"style": "deepObject",
"explode": true,
"x-validator": "sparseFields",
"example": {},
"schema": {
"$ref": "#/components/schemas/SystemProfileNestedObject"
}
},
"confirmDeleteAll": {
"in": "query",
"name": "confirm_delete_all",
"schema": {
"type": "boolean"
},
"description": "Confirmation to delete all hosts on the account",
"required": false
},
"groupName": {
"in": "query",
"name": "name",
"schema": {
"type": "string"
},
"description": "Filter by group name",
"required": false
},
"groupNameListParam": {
"in": "query",
"name": "group_name",
"description": "Filter by group name",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"groupId": {
"in": "path",
"name": "group_id",
"description": "Group ID.",
"required": true,
"schema": {
"$ref": "#/components/schemas/NonStrictUUID"
}
},
"assignmentRuleName": {
"in": "query",
"name": "name",
"schema": {
"type": "string"
},
"description": "Filter by assignment-rule name",
"required": false
},
"assignmentRuleId": {
"in": "path",
"name": "assignment_rule_id",
"description": "assignment-rule ID.",
"required": true,
"schema": {
"$ref": "#/components/schemas/NonStrictUUID"
}
},
"groupIdList": {
"in": "path",
"name": "group_id_list",
"description": "A comma-separated list of group IDs.",
"required": true,
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NonStrictUUID"
}
}
},
"assignmentRuleIdList": {
"in": "path",
"name": "assignment_rule_id_list",
"description": "A comma-separated list of assignment-rule IDs.",
"required": true,
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NonStrictUUID"
}
}
}
},
"schemas": {
"SystemProfileOperatingSystemOut": {
"properties": {
"total": {
"$ref": "#/components/schemas/Total"
},
"count": {
"$ref": "#/components/schemas/Count"
},
"results": {
"description": "The list of operating_system values on the account",
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"major": {
"type": "integer",
"nullable": true
},
"minor": {
"type": "integer",
"nullable": true
}
}
},
"count": {
"type": "integer"
}
}
}
}
}
},
"SystemProfileSapSystemOut": {
"type": "object",
"properties": {
"total": {
"$ref": "#/components/schemas/Total"
},
"count": {
"$ref": "#/components/schemas/Count"
},
"results": {
"description": "The list of sap_system values on the account",
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"oneOf": [
{
"type": "string"
},
{
"type": "boolean"
}
]
},
"count": {
"type": "integer"
}
}
}
}
}
},
"TagsOut": {
"allOf": [
{
"$ref": "#/components/schemas/PaginationOut"
},
{
"type": "object",
"properties": {
"results": {
"description": "The list of tags on the systems",
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StructuredTag"
}
}
}
}
}
]
},
"StructuredTag": {
"type": "object",
"properties": {
"namespace": {
"type": "string",
"nullable": true
},
"key": {
"type": "string"
},
"value": {
"type": "string",
"nullable": true
}
}
},
"TagCountOut": {
"allOf": [
{
"$ref": "#/components/schemas/PaginationOut"
},
{
"type": "object",
"properties": {
"results": {
"description": "The list of tags on the systems",
"type": "object",
"additionalProperties": {
"type": "integer"
}
}
}
}
]
},
"Facts": {
"title": "Host facts",
"description": "A set of string facts about a host.",
"type": "object",
"example": {
"fact1": "value1",
"fact2": "value2"
}
},
"FactSet": {
"title": "Host facts under a namespace",
"description": "A set of string facts belonging to a single namespace.",
"properties": {
"namespace": {
"type": "string",
"minLength": 1,
"description": "A namespace the facts belong to."
},
"facts": {
"type": "object",
"description": "The facts themselves.",
"example": {
"fact1": "value1",
"fact2": "value2"
}
}
},
"required": [
"namespace",
"facts"
]
},
"NonNullableString": {
"type": "string",
"nullable": false
},
"NonNullableStringArray": {
"type": "array",
"items": {
"type": "string"
},
"nullable": false
},
"HyphenatedUuid": {
"type": "string",
"nullable": true,
"pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
"minLength": 36,
"maxLength": 36,
"example": "22cd8e39-13bb-4d02-8316-84b850dc5136"
},
"InsightsId": {
"description": "An ID defined in /etc/insights-client/machine-id. This field is considered a canonical fact.",
"type": "string",
"nullable": true,
"example": "3f01b55457674041b75e41829bcee1dc"
},
"SubscriptionManagerId": {
"description": "A Red Hat Subcription Manager ID of a RHEL host. This field is considered to be a canonical fact.",
"type": "string",
"nullable": true,
"example": "22cd8e39-13bb-4d02-8316-84b850dc5136"
},
"SatelliteId": {
"description": "A Red Hat Satellite ID of a RHEL host. This field is considered to be a canonical fact.",
"type": "string",
"nullable": true,
"example": "22cd8e39-13bb-4d02-8316-84b850dc5136"
},
"BiosUuid": {
"description": "A UUID of the host machine BIOS. This field is considered to be a canonical fact.",
"type": "string",
"nullable": true,
"example": "22cd8e39-13bb-4d02-8316-84b850dc5136"
},
"IpAddresses": {
"description": "Host’s network IP addresses. This field is considered to be a canonical fact.",
"type": "array",
"nullable": true,
"items": {
"type": "string"
},
"example": [
"10.10.0.1",
"10.0.0.2"
]
},
"Fqdn": {
"description": "A host’s Fully Qualified Domain Name. This field is considered to be a canonical fact.",
"type": "string",
"nullable": true,
"example": "my.host.example.com"
},
"MacAddresses": {
"description": "Host’s network interfaces MAC addresses. This field is considered to be a canonical fact.",
"type": "array",
"nullable": true,
"items": {
"type": "string"
},
"example": [
"c2:00:d0:c8:61:01"
]
},
"ProviderId": {
"description": "Host’s reference in the external source e.g. Alibaba, AWS EC2, Azure, GCP, IBM etc. This field is one of the canonical facts and does not work without provider_type.",
"type": "string",
"nullable": true,
"example": "i-05d2313e6b9a42b16"
},
"ProviderType": {
"description": "Type of external source e.g. Alibaba, AWS EC2, Azure, GCP, IBM, etc. This field is one of the canonical facts and does not workout provider_id.",
"type": "string",
"nullable": true,
"example": "aws"
},
"AccountNumber": {
"description": "A Red Hat Account number that owns the host.",
"type": "string",
"nullable": true,
"example": "000102",
"deprecated": true
},
"OrgId": {
"description": "The Org ID of the tenant that owns the host.",
"type": "string",
"example": "000102"
},
"CanonicalFactsIn": {
"allOf": [
{
"properties": {
"insights_id": {
"allOf": [
{
"$ref": "#/components/schemas/InsightsId"
},
{
"$ref": "#/components/schemas/HyphenatedUuid"
}
]
},
"subscription_manager_id": {
"allOf": [
{
"$ref": "#/components/schemas/SubscriptionManagerId"
},
{
"$ref": "#/components/schemas/HyphenatedUuid"
}
]
},
"satellite_id": {
"allOf": [
{
"$ref": "#/components/schemas/SatelliteId"
},
{
"$ref": "#/components/schemas/HyphenatedUuid"
}
]
},
"bios_uuid": {
"allOf": [
{
"$ref": "#/components/schemas/BiosUuid"
},
{
"$ref": "#/components/schemas/HyphenatedUuid"
}
]
},
"ip_addresses": {
"$ref": "#/components/schemas/NonNullableStringArray"
},
"fqdn": {
"$ref": "#/components/schemas/NonNullableString"
},
"mac_addresses": {
"$ref": "#/components/schemas/NonNullableStringArray"
},
"provider_id": {
"$ref": "#/components/schemas/NonNullableString"
},
"provider_type": {
"$ref": "#/components/schemas/NonNullableString"
}
}
},
{
"anyOf": [
{
"required": [
"insights_id"
]
},
{
"required": [
"subscription_manager_id"
]
},
{
"required": [
"satellite_id"
]
},
{
"required": [
"bios_uuid"
]
},
{
"required": [
"ip_addresses"
]
},
{
"required": [
"fqdn"
]
},
{
"required": [
"mac_addresses"
]
},
{
"required": [
"provider_id",
"provider_type"
]
}
]
}
]
},
"CanonicalFactsOut": {
"type": "object",
"properties": {
"insights_id": {
"$ref": "#/components/schemas/InsightsId"
},
"subscription_manager_id": {
"$ref": "#/components/schemas/SubscriptionManagerId"
},
"satellite_id": {
"$ref": "#/components/schemas/SatelliteId"
},
"bios_uuid": {
"$ref": "#/components/schemas/BiosUuid"
},
"ip_addresses": {
"$ref": "#/components/schemas/IpAddresses"
},
"fqdn": {
"$ref": "#/components/schemas/Fqdn"
},
"mac_addresses": {
"$ref": "#/components/schemas/MacAddresses"
},
"provider_id": {
"$ref": "#/components/schemas/ProviderId"
},
"provider_type": {
"$ref": "#/components/schemas/ProviderType"
}
}
},
"CreateCheckIn": {
"title": "Check-in data",
"description": "Data required to create a check-in record for a host.",
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/CanonicalFactsIn"
},
{
"properties": {
"checkin_frequency": {
"description": "How long from now to expect another check-in (in minutes).",
"type": "integer",
"minimum": 1,
"maximum": 2880,
"example": 1440
}
}
}
]
},
"HostOut": {
"title": "Host Out",
"description": "Data of a single host belonging to an account. Represents the hosts without its Inventory metadata.",
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/CanonicalFactsOut"
},
{
"properties": {
"display_name": {
"description": "A host’s human-readable display name, e.g. in a form of a domain name.",
"type": "string",
"example": "host1.mydomain.com",
"nullable": true
},
"ansible_host": {
"description": "The ansible host name for remediations",
"type": "string",
"example": "host1.mydomain.com",
"nullable": true
},
"account": {
"$ref": "#/components/schemas/AccountNumber"
},
"org_id": {
"$ref": "#/components/schemas/OrgId"
},
"id": {
"description": "A durable and reliable platform-wide host identifier. Applications should use this identifier to reference hosts.",
"type": "string",
"example": "3f01b55457674041b75e41829bcee1dc"
},
"created": {
"description": "A timestamp when the entry was created.",
"type": "string",
"format": "date-time"
},
"updated": {
"description": "A timestamp when the entry was last updated.",
"type": "string",
"format": "date-time"
},
"facts": {
"description": "A set of facts belonging to the host.",
"type": "array",
"items": {
"$ref": "#/components/schemas/FactSet"
}
},
"stale_timestamp": {
"description": "Timestamp from which the host is considered stale.",
"type": "string",
"format": "date-time",
"nullable": true
},
"stale_warning_timestamp": {
"description": "Timestamp from which the host is considered too stale to be listed without an explicit toggle.",
"type": "string",
"format": "date-time",
"nullable": true
},
"culled_timestamp": {
"description": "Timestamp from which the host is considered deleted.",
"type": "string",
"format": "date-time",
"nullable": true
},
"reporter": {
"description": "Reporting source of the host. Used when updating the stale_timestamp.",
"type": "string",
"nullable": true
},
"per_reporter_staleness": {
"description": "Reporting source of the last checkin status, stale_timestamp, and last_check_in.",
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/PerReporterStaleness"
}
},
"groups": {
"description": "The groups that the host belongs to, if any.",
"type": "array",
"items": {
"$ref": "#/components/schemas/GroupOut"
}
}
},
"required": [
"org_id"
]
}
]
},
"HostQueryOutput": {
"title": "A Host Inventory query result",
"description": "A paginated host search query result with host entries and their Inventory metadata.",
"allOf": [
{
"$ref": "#/components/schemas/PaginationOut"
},
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"description": "Actual host search query result entries.",
"type": "array",
"items": {
"$ref": "#/components/schemas/HostOut"
}
}
}
}
]
},
"SystemProfileByHostOut": {
"title": "A host system profile query result",
"description": "Structure of the output of the host system profile query",
"allOf": [
{
"$ref": "#/components/schemas/PaginationOut"
},
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"description": "Actual host search query result entries.",
"type": "array",
"items": {
"$ref": "#/components/schemas/HostSystemProfileOut"
}
}
}
}
]
},
"HostSystemProfileOut": {
"title": "Structure of an individual host system profile output",
"description": "Individual host record that contains only the host id and system profile",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"system_profile": {
"$ref": "#/components/schemas/SystemProfile"
}
}
},
"PatchHostIn": {
"title": "Host data",
"description": "Data of a single host to be updated.",
"type": "object",
"properties": {
"ansible_host": {
"description": "The ansible host name for remediations",
"type": "string",
"example": "host1.mydomain.com"
},
"display_name": {
"description": "A host’s human-readable display name, e.g. in a form of a domain name.",
"type": "string",
"example": "host1.mydomain.com"
}
}
},
"PerReporterStaleness": {
"type": "object",
"properties": {
"last_check_in": {
"type": "string",
"format": "date-time",
"example": "2020-02-10T08:07:03.354307+00:00"
},
"stale_timestamp": {
"type": "string",
"format": "date-time",
"example": "2020-02-17T08:07:03.354307+00:00"
},
"stale_warning_timestamp": {
"type": "string",
"format": "date-time",
"example": "2020-02-17T08:07:03.354307+00:00"
},
"culled_timestamp": {
"type": "string",
"format": "date-time",
"example": "2020-02-17T08:07:03.354307+00:00"
},
"check_in_succeeded": {
"type": "boolean"
}
}
},
"ActiveTags": {
"title": "Host data",
"allOf": [
{
"$ref": "#/components/schemas/PaginationOut"
},
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"title": "ActiveTag",
"description": "Information about a host tag",
"type": "object",
"required": [
"tag",
"count"
],
"properties": {
"tag": {
"$ref": "#/components/schemas/StructuredTag"
},
"count": {
"description": "The number of hosts with the given tag. If the value is null this indicates that the count is unknown.",
"type": "integer",
"nullable": true
}
}
}
}
}
}
],
"example": {
"total": 3,
"count": 3,
"page": 1,
"per_page": 50,
"results": [
{
"tag": {
"namespace": "Sat",
"key": "env",
"value": "prod"
},
"count": 3
},
{
"tag": {
"namespace": "aws",
"key": "region",
"value": "us-east-1"
},
"count": 1
},
{
"tag": {
"namespace": "insights-client",
"key": "web",
"value": null
},
"count": -1
}
]
}
},
"GroupName": {
"description": "A group’s human-readable name.",
"type": "string",
"nullable": false,
"example": "sre-group"
},
"NonStrictUUID": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$|^[0-9a-fA-F]{8}[0-9a-fA-F]{4}[0-9a-fA-F]{4}[0-9a-fA-F]{4}[0-9a-fA-F]{12}$",
"format": "uuid",
"example": "bA6deCFc19564430AB814bf8F70E8cEf"
},
"SystemDefaultId": {
"type": "string",
"pattern": "system_default",
"example": "system_default"
},
"GroupId": {
"description": "A durable and reliable platform-wide group identifier. Applications should use this identifier to reference groups.",
"$ref": "#/components/schemas/NonStrictUUID"
},
"AssignmentRuleId": {
"description": "A durable and reliable platform-wide assignment-rule identifier. Applications should use this identifier to reference assignment-rules.",
"$ref": "#/components/schemas/NonStrictUUID"
},
"HostId": {
"description": "A durable and reliable platform-wide group identifier. Applications should use this identifier to reference hosts.",
"$ref": "#/components/schemas/NonStrictUUID"
},
"HostIds": {
"description": "A comma-separated list of host IDs that belong to the group.",
"type": "array",
"nullable": true,
"items": {
"$ref": "#/components/schemas/NonStrictUUID"
}
},
"StalenessId": {
"description": "Account Staleness UID",
"oneOf": [
{
"$ref": "#/components/schemas/NonStrictUUID"
},
{
"$ref": "#/components/schemas/SystemDefaultId"
}
]
},
"HostCount": {
"description": "The number of hosts associated with the group.",
"type": "integer",
"example": 3
},
"UnleashToggleOut": {
"title": "Unleash Toggle Out",
"properties": {
"flag_value": {
"description": "The value of the feature flag toggle",
"type": "boolean"
},
"using_fallback_value": {
"description": "Whether the fallback value was used, if the Unleash server could not be accessed",
"type": "boolean"
}
}
},
"GroupIn": {
"title": "Group In",
"description": "Data of a single group belonging to an account.",
"type": "object",
"allOf": [
{
"properties": {
"name": {
"$ref": "#/components/schemas/GroupName"
},
"host_ids": {
"$ref": "#/components/schemas/HostIds"
}
}
}
]
},
"AssignmentRuleIn": {
"title": "Assignment Rule In",
"description": "Data for a single Assignment Rule",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"nullable": true
},
"group_id": {
"$ref": "#/components/schemas/GroupId"
},
"filter": {
"type": "object"
},
"enabled": {
"type": "boolean"
}
},
"required": [
"name",
"group_id",
"filter",
"enabled"
]
},
"AssignmentRuleOut": {
"title": "Assignment Rule response",
"description": "Data for a single Assignment Rule response",
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/NonStrictUUID"
},
"org_id": {
"$ref": "#/components/schemas/OrgId"
},
"account": {
"$ref": "#/components/schemas/AccountNumber"
},
"name": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string",
"minLength": 1,
"nullable": true
},
"group_id": {
"$ref": "#/components/schemas/GroupId"
},
"filter": {
"type": "object"
},
"enabled": {
"type": "boolean"
},
"created_on": {
"type": "string",
"format": "date-time"
},
"modified_on": {
"type": "string",
"format": "date-time"
}
},
"required": [
"name",
"group_id",
"filter",
"enabled",
"created_on",
"modified_on"
]
},
"GroupOutWithHostCount": {
"title": "Group properties with host count",
"description": "Data of a single group belonging to an account.",
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/GroupOut"
},
{
"properties": {
"host_count": {
"$ref": "#/components/schemas/HostCount"
}
}
}
]
},
"GroupOut": {
"title": "Group Out Properties",
"description": "Data of a single group belonging to an account.",
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/GroupId"
},
"name": {
"$ref": "#/components/schemas/GroupName"
},
"account": {
"$ref": "#/components/schemas/AccountNumber"
},
"org_id": {
"$ref": "#/components/schemas/OrgId"
},
"created": {
"description": "A timestamp when the entry was created.",
"type": "string",
"format": "date-time"
},
"updated": {
"description": "A timestamp when the entry was last updated.",
"type": "string",
"format": "date-time"
}
}
},
"GroupQueryOutput": {
"title": "An Inventory Groups query result",
"description": "A paginated group search query result with group entries and their Inventory metadata.",
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/PaginationOut"
},
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"description": "Actual group search query result entries.",
"type": "array",
"items": {
"$ref": "#/components/schemas/GroupOutWithHostCount"
}
}
}
}
]
},
"AssignmentRuleQueryOutput": {
"title": "An Inventory Assignment Rules query result",
"description": "A paginated assignment-rule search query result with assignment-rule entries and their Inventory metadata.",
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/PaginationOut"
},
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"description": "Actual assignment-rule search query result entries.",
"type": "array",
"items": {
"$ref": "#/components/schemas/AssignmentRuleOut"
}
}
}
}
]
},
"ResourceTypesOut": {
"title": "A resource type query result",
"description": "Data describing a single resource-types RBAC object.",
"type": "object",
"properties": {
"value": {
"description": "The name of the resource type",
"type": "string"
},
"path": {
"description": "The path for the RBAC endpoint for the resource type",
"type": "string"
},
"count": {
"type": "integer"
}
}
},
"ResourceTypesQueryOutput": {
"title": "A resource-types query result",
"description": "A paginated list of resource-types RBAC objects.",
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/ResourceTypesPaginationOut"
},
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"description": "Actual resource-types object data.",
"type": "array",
"items": {
"$ref": "#/components/schemas/ResourceTypesOut"
}
}
}
}
]
},
"ResourceTypesGroupsQueryOutput": {
"title": "An Inventory Groups query result in resource-types response format",
"description": "A paginated group search query result with group entries and their Inventory metadata in paginated resource-types response format.",
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/ResourceTypesPaginationOut"
},
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"description": "Actual group search query result entries.",
"type": "array",
"items": {
"$ref": "#/components/schemas/GroupOutWithHostCount"
}
}
}
}
]
},
"StalenessIn": {
"title": "Account Staleness In",
"description": "Data of a single account staleness.",
"type": "object",
"anyOf": [
{
"properties": {
"conventional_time_to_stale": {
"type": "integer",
"minimum": 1
},
"conventional_time_to_stale_warning": {
"type": "integer",
"minimum": 1
},
"conventional_time_to_delete": {
"type": "integer",
"minimum": 1
},
"immutable_time_to_stale": {
"type": "integer",
"minimum": 1
},
"immutable_time_to_stale_warning": {
"type": "integer",
"minimum": 1
},
"immutable_time_to_delete": {
"type": "integer",
"minimum": 1
}
}
}
]
},
"StalenessOutput": {
"title": "Account Staleness Out",
"description": "Data of a account staleness.",
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/StalenessId"
},
"org_id": {
"$ref": "#/components/schemas/OrgId"
},
"conventional_time_to_stale": {
"type": "integer"
},
"conventional_time_to_stale_warning": {
"type": "integer"
},
"conventional_time_to_delete": {
"type": "integer"
},
"immutable_time_to_stale": {
"type": "integer"
},
"immutable_time_to_stale_warning": {
"type": "integer"
},
"immutable_time_to_delete": {
"type": "integer"
},
"created_at": {
"description": "A timestamp when the entry was created.",
"type": "string",
"format": "date-time"
},
"updated_at": {
"description": "A timestamp when the entry was last updated.",
"type": "string",
"format": "date-time"
}
}
},
"SystemProfile": {
"title": "SystemProfile",
"description": "Representation of the system profile fields",
"type": "object",
"properties": {
"owner_id": {
"description": "A UUID associated with the host's RHSM certificate",
"type": "string",
"pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
"maxLength": 36,
"example": "22cd8e39-13bb-4d02-8316-84b850dc5136, ffdfd200-f5b9-4e57-b080-f5e257349df0, e2357169-f5e2-4afa-b509-ab1be3f30807"
},
"rhc_client_id": {
"description": "A UUID associated with a cloud_connector",
"type": "string",
"pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
"maxLength": 36,
"example": "22cd8e39-13bb-4d02-8316-84b850dc5136, 33cd8e39-13bb-4d02-8316-84b850dc5136, 2fa3e796-10e2-11ec-82a8-0242ac130003"
},
"rhc_config_state": {
"description": "A UUID associated with the config manager state",
"type": "string",
"pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
"maxLength": 36,
"example": "22cd8e39-13bb-4d02-8316-84b850dc5136, 2c68e8ec-10e2-11ec-82a8-0242ac130003, 2fa3e796-10e2-11ec-82a8-0242ac130003"
},
"cpu_model": {
"description": "The cpu model name",
"type": "string",
"maxLength": 100,
"example": "Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz, Intel(R) Xeon(R) CPU E9-7800 0 @ 1.90GHz, Intel(R) I7(R) CPU I7-10900k 0 @ 4.90GHz"
},
"number_of_cpus": {
"type": "integer",
"format": "int32",
"minimum": 0,
"maximum": 2147483647
},
"number_of_sockets": {
"type": "integer",
"format": "int32",
"minimum": 0,
"maximum": 2147483647
},
"cores_per_socket": {
"type": "integer",
"format": "int32",
"minimum": 0,
"maximum": 2147483647
},
"threads_per_core": {
"description": "Number of CPU threads per CPU core. Typical values: 1, 2, 4",
"type": "integer",
"format": "int32",
"minimum": 0,
"maximum": 2147483647,
"example": 2
},
"system_memory_bytes": {
"type": "integer",
"format": "int64",
"minimum": 0,
"maximum": 9007199254740991
},
"infrastructure_type": {
"type": "string",
"maxLength": 100,
"example": "physical, virtual, imaginary"
},
"infrastructure_vendor": {
"type": "string",
"maxLength": 100,
"example": "ex1, ex2, baremetal"
},
"network_interfaces": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SystemProfileNetworkInterface"
}
},
"disk_devices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SystemProfileDiskDevice"
}
},
"bios_vendor": {
"type": "string",
"maxLength": 100,
"example": "ex1, ex2, ex3"
},
"bios_version": {
"type": "string",
"maxLength": 100,
"example": "ex1, ex2, ex3"
},
"bios_release_date": {
"type": "string",
"x-indexed": false,
"x-wildcard": true,
"maxLength": 50,
"example": "ex1, ex2, ex3"
},
"cpu_flags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 30,
"example": "ex1, ex2, ex3"
}
},
"systemd": {
"description": "Object for whole system systemd state, as reported by systemctl status --all",
"type": "object",
"required": [
"state",
"jobs_queued",
"failed"
],
"properties": {
"state": {
"description": "The state of the systemd subsystem",
"type": "string",
"maxLength": 12,
"enum": [
"initializing",
"starting",
"running",
"degraded",
"maintenance",
"stopping"
],
"example": "initializing, starting, running, degraded, maintenance, stopping"
},
"jobs_queued": {
"description": "The number of jobs jobs_queued",
"example": 4,
"type": "integer",
"minimum": 0
},
"failed": {
"description": "The number of jobs failed",
"example": 1,
"type": "integer",
"minimum": 0
},
"failed_services": {
"description": "List of all failed jobs.",
"type": "array",
"items": {
"description": "The name of a failed job.",
"maxLength": 1000,
"type": "string",
"example": "ex1, ex2, ex3"
}
}
}
},
"operating_system": {
"description": "Object for OS details. Supports range operations",
"type": "object",
"required": [
"major",
"minor",
"name"
],
"properties": {
"major": {
"description": "Major release of OS (aka the x version)",
"example": 6,
"type": "integer",
"minimum": 0,
"maximum": 99
},
"minor": {
"description": "Minor release of OS (aka the y version)",
"example": 8,
"type": "integer",
"minimum": 0,
"maximum": 99
},
"name": {
"description": "Name of the distro/os",
"type": "string",
"maxLength": 12,
"enum": [
"RHEL",
"CentOS",
"CentOS Linux"
],
"example": "RHEL, CentOS, CentOS Linux"
}
}
},
"os_release": {
"type": "string",
"maxLength": 100,
"x-wildcard": true,
"example": "7.4, 8.2, 7.5"
},
"os_kernel_version": {
"type": "string",
"maxLength": 20,
"pattern": "^\\d+\\.\\d+\\.\\d+(\\.\\d+)?$",
"description": "The kernel version represented with a three, optionally four, number scheme.",
"example": "4.18.2, 4.5.0, 5.1.0",
"x-wildcard": true
},
"releasever": {
"type": "string",
"description": "Release name of the system distribution (from yum/dnf)",
"maxLength": 100,
"example": "7, 7.0, 7Server, 8, 8.4"
},
"arch": {
"type": "string",
"maxLength": 50,
"example": "ARM, x86_64, RISC-V"
},
"basearch": {
"type": "string",
"description": "The architecture family (from yum/dnf)",
"maxLength": 50,
"example": "x86_64, arm, ppc64"
},
"kernel_modules": {
"type": "array",
"items": {
"type": "string",
"maxLength": 255,
"example": "ex1, ex2, ex3"
}
},
"last_boot_time": {
"type": "string",
"format": "date-time",
"maxLength": 50
},
"running_processes": {
"type": "array",
"x-indexed": false,
"items": {
"description": "A single running process. This will be truncated to 1000 characters when saved.",
"type": "string",
"maxLength": 1000,
"example": "ex1, ex2, ex3"
}
},
"subscription_status": {
"type": "string",
"maxLength": 100,
"example": "ex1, ex2, ex3"
},
"subscription_auto_attach": {
"type": "string",
"maxLength": 100,
"example": "ex1, ex2, ex3"
},
"katello_agent_running": {
"type": "boolean"
},
"satellite_managed": {
"type": "boolean"
},
"cloud_provider": {
"type": "string",
"maxLength": 100,
"example": "aws, ms, ibm"
},
"public_ipv4_addresses": {
"type": "array",
"x-indexed": false,
"items": {
"description": "The external IPv4 address of the system",
"type": "string",
"maxLength": 15,
"example": "12.23.31.32",
"format": "ipv4"
}
},
"public_dns": {
"type": "array",
"x-indexed": false,
"items": {
"description": "The external DNS of the system",
"type": "string",
"maxLength": 100,
"example": "ec2-12-34-56-78.us-west-2.compute.amazonaws.com",
"format": "string"
}
},
"yum_repos": {
"type": "array",
"x-indexed": false,
"items": {
"$ref": "#/components/schemas/SystemProfileYumRepo"
}
},
"dnf_modules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SystemProfileDnfModule"
}
},
"installed_products": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SystemProfileInstalledProduct"
}
},
"insights_client_version": {
"type": "string",
"description": "The version number of insights client. supports wildcards",
"x-wildcard": true,
"maxLength": 50,
"example": "3.0.1-2.el4_2, 5.0.6-2.el7_6, 6.0.6-2.el8_4"
},
"insights_egg_version": {
"type": "string",
"maxLength": 50,
"example": "2.3, 4.4, 5.1"
},
"captured_date": {
"type": "string",
"maxLength": 32,
"example": "ex1, ex2, ex3"
},
"installed_packages": {
"type": "array",
"items": {
"description": "A NEVRA string for a single installed package",
"example": "krb5-libs-0:-1.16.1-23.fc29.i686, arb5-libs-0:-1.16.1-23.fc29.i686, brb5-libs-0:-1.16.1-23.fc29.i686",
"type": "string",
"maxLength": 512
}
},
"installed_packages_delta": {
"type": "array",
"x-indexed": false,
"items": {
"description": "A NEVRA string for a single installed package",
"example": "krb5-libs-0:-1.16.1-23.fc29.i686, arb5-libs-0:-1.16.1-23.fc29.i686, brb5-libs-0:-1.16.1-23.fc29.i686",
"type": "string",
"maxLength": 512
}
},
"gpg_pubkeys": {
"type": "array",
"items": {
"description": "A package name string of a single imported GPG pubkey",
"example": "gpg-pubkey-11111111-22222222, gpg-pubkey-22222222-22222222, gpg-pubkey-22222222-33333333",
"type": "string",
"maxLength": 512
}
},
"installed_services": {
"type": "array",
"items": {
"type": "string",
"maxLength": 512,
"example": "ex1, ex2, ex3"
}
},
"enabled_services": {
"type": "array",
"items": {
"type": "string",
"maxLength": 512,
"example": "ex1, ex2, ex3"
}
},
"sap": {
"description": "Object containing data specific to the SAP workload",
"type": "object",
"properties": {
"sap_system": {
"type": "boolean",
"description": "Indicates if SAP is installed on the system"
},
"sids": {
"type": "array",
"uniqueItems": true,
"items": {
"description": "The SAP system ID (SID)",
"type": "string",
"example": "H2O, ABC, XYZ",
"maxLength": 3,
"pattern": "^[A-Z][A-Z0-9]{2}$"
}
},
"instance_number": {
"type": "string",
"description": "The instance number of the SAP HANA system (a two-digit number between 00 and 99)",
"example": "03, 05, 99",
"maxLength": 2,
"pattern": "^[0-9]{2}$"
},
"version": {
"type": "string",
"description": "The version of the SAP HANA lifecycle management program",
"example": "1.00.122.04.1478575636, 2.00.122.04.1478575636, 3.00.122.04.1478575636",
"maxLength": 22,
"pattern": "^[0-9]\\.[0-9]{2}\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{10}$"
}
}
},
"sap_system": {
"type": "boolean",
"description": "Indicates if SAP is installed on the system"
},
"sap_sids": {
"type": "array",
"uniqueItems": true,
"items": {
"description": "The SAP system ID (SID)",
"type": "string",
"example": "H2O, ABC, XYZ",
"maxLength": 3,
"pattern": "^[A-Z][A-Z0-9]{2}$"
}
},
"sap_instance_number": {
"type": "string",
"description": "The instance number of the SAP HANA system (a two-digit number between 00 and 99)",
"example": "03, 05, 99",
"maxLength": 2,
"pattern": "^[0-9]{2}$"
},
"sap_version": {
"type": "string",
"description": "The version of the SAP HANA lifecycle management program",
"example": "1.00.122.04.1478575636, 2.00.122.04.1478575636, 3.00.122.04.1478575636",
"maxLength": 22,
"pattern": "^[0-9]\\.[0-9]{2}\\.[0-9]{3}\\.[0-9]{2}\\.[0-9]{10}$"
},
"tuned_profile": {
"type": "string",
"maxLength": 256,
"description": "Current profile resulting from command tuned-adm active",
"example": "desktop, example, laptop"
},
"selinux_current_mode": {
"type": "string",
"enum": [
"enforcing",
"permissive",
"disabled"
],
"maxLength": 10,
"description": "The current SELinux mode, either enforcing, permissive, or disabled",
"example": "enforcing, not_enforcing, sleeping"
},
"selinux_config_file": {
"type": "string",
"maxLength": 128,
"description": "The SELinux mode provided in the config file",
"example": "permissive, sleepy, authoritative"
},
"is_marketplace": {
"description": "Indicates whether the host is part of a marketplace install from AWS, Azure, etc.",
"type": "boolean"
},
"host_type": {
"type": "string",
"enum": [
"edge"
],
"maxLength": 4,
"description": "Indicates the type of host.",
"example": "edge, None"
},
"greenboot_status": {
"type": "string",
"enum": [
"red",
"green"
],
"maxLength": 5,
"description": "Indicates the greenboot status of an edge device.",
"example": "green, red"
},
"greenboot_fallback_detected": {
"type": "boolean",
"description": "Indicates whether greenboot detected a rolled back update on an edge device."
},
"rpm_ostree_deployments": {
"type": "array",
"description": "The list of deployments on the system as reported by rpm-ostree status --json",
"items": {
"description": "Limited deployment information from systems managed by rpm-ostree as reported by rpm-ostree status --json",
"type": "object",
"required": [
"id",
"checksum",
"origin",
"osname",
"booted",
"pinned"
],
"properties": {
"id": {
"description": "ID of the deployment",
"example": "fedora-silverblue-63335a77f9853618ba1a5f139c5805e82176a2a040ef5e34d7402e12263af5bb.0, fedora-blackpink-63335a77f9853618ba1a5f139c5805e82176a2a040ef5e34d7402e12263af5bb.0, fedora-orangeblue-63335a77f9853618ba1a5f139c5805e82176a2a040ef5e34d7402e12263af5bb.0",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"checksum": {
"description": "The checksum / commit of the deployment",
"example": "63335a77f9853618ba1a5f139c5805e82176a2a040ef5e34d7402e12263af5bb, 73335a77f9853618ba1a5f139c5805e82176a2a040ef5e34d7402e12263af5bb, 83335a77f9853618ba1a5f139c5805e82176a2a040ef5e34d7402e12263af5bb",
"type": "string",
"maxLength": 64,
"pattern": "^[a-fA-F0-9]{64}$"
},
"origin": {
"description": "The origin repo from which the commit was installed",
"example": "fedora/33/x86_64/silverblue, fedora/31/x86_64/blackpink, fedora/34/x86_64/orangeblue",
"type": "string",
"maxLength": 255
},
"osname": {
"description": "The operating system name",
"example": "fedora-silverblue, fedora-blackpink, fedora-orangeblue",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"version": {
"description": "The version of the deployment",
"example": "33.21, 31.12, 33.45",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"booted": {
"description": "Whether the deployment is currently booted",
"type": "boolean",
"example": true
},
"pinned": {
"description": "Whether the deployment is currently pinned",
"type": "boolean",
"example": false
}
}
}
},
"rhsm": {
"description": "Object for subscription-manager details",
"type": "object",
"properties": {
"version": {
"description": "System release set by subscription-manager",
"example": "8.1, 7.5, 9.9",
"type": "string",
"maxLength": 255
}
}
},
"system_purpose": {
"description": "Object for system purpose information",
"type": "object",
"properties": {
"usage": {
"description": "The intended usage of the system",
"type": "string",
"maxLength": 17,
"enum": [
"Production",
"Development/Test",
"Disaster Recovery"
],
"example": "Production, Development/Test, Disaster Recovery"
},
"role": {
"description": "The intended role of the system",
"type": "string",
"maxLength": 37,
"enum": [
"Red Hat Enterprise Linux Server",
"Red Hat Enterprise Linux Workstation",
"Red Hat Enterprise Linux Compute Node"
],
"example": "Red Hat Enterprise Linux Server, Red Hat Enterprise Linux Workstation, Red Hat Enterprise Linux Compute Node"
},
"sla": {
"description": "The intended SLA of the system",
"type": "string",
"maxLength": 12,
"enum": [
"Premium",
"Standard",
"Self-Support"
],
"example": "Premium, Standard, Self-Support"
}
}
},
"ansible": {
"description": "Object containing data specific to Ansible Automation Platform",
"type": "object",
"properties": {
"controller_version": {
"description": "The ansible-tower or automation-controller version on the host",
"type": "string",
"example": "1.2.3, 4.5.6, 7.8.9",
"maxLength": 30,
"pattern": "^\\d+(\\.\\d+)+$",
"x-wildcard": true
},
"hub_version": {
"description": "The automation-hub version on the host",
"type": "string",
"example": "1.2.3, 4.5.6, 7.8.9",
"maxLength": 30,
"pattern": "^\\d+(\\.\\d+)+$",
"x-wildcard": true
},
"catalog_worker_version": {
"description": "The catalog-worker version on the host",
"type": "string",
"example": "1.2.3, 4.5.6, 7.8.9",
"maxLength": 30,
"pattern": "^\\d+(\\.\\d+)+$",
"x-wildcard": true
},
"sso_version": {
"description": "The SSO version on the host",
"type": "string",
"example": "1.2.3, 4.5.6, 7.8.9",
"maxLength": 30,
"pattern": "^\\d+(\\.\\d+)+$",
"x-wildcard": true
}
}
},
"intersystems": {
"description": "Object containing data specific to InterSystems workload",
"type": "object",
"properties": {
"is_intersystems": {
"description": "Indicates if InterSystems is installed on the system",
"type": "boolean"
},
"running_instances": {
"type": "array",
"items": {
"description": "The info for an InterSystems instance running on the system",
"type": "object",
"properties": {
"instance_name": {
"description": "The name of the instance",
"type": "string",
"example": "IRIS3, PROD",
"maxLength": 255
},
"product": {
"description": "The product of the instance",
"type": "string",
"example": "IRIS",
"maxLength": 64
},
"version": {
"description": "The version of the instance",
"type": "string",
"example": "2023.1, 2023.2",
"maxLength": 7,
"pattern": "^\\d+(\\.\\d+)+$"
}
}
}
}
}
},
"mssql": {
"description": "Object containing data specific to the MS SQL workload",
"type": "object",
"properties": {
"version": {
"description": "MSSQL version number",
"type": "string",
"example": "15.2.0, 12.5.3, 10.1.0",
"maxLength": 30,
"x-wildcard": true
}
}
},
"system_update_method": {
"description": "System update method",
"type": "string",
"maxLength": 10,
"enum": [
"dnf",
"rpm-ostree",
"yum"
],
"example": "dnf, rpm-ostree, yum"
},
"virtual_host_uuid": {
"description": "Hypervisor host identity (subscription manager id)",
"type": "string",
"pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
"maxLength": 36,
"example": "0ddf52cb-94e3-4ada-bdf7-d424a547b671, 6996463b-c9d4-402b-ad37-8ab5556ddf88, 0c352918-fa05-4f05-996c-6c43ec0b3c5e"
},
"bootc_status": {
"description": "Object containing image data from command bootc status",
"type": "object",
"properties": {
"booted": {
"type": "object",
"properties": {
"image": {
"description": "Name of the image",
"type": "string",
"example": "quay.io/centos-bootc/fedora-bootc-cloud:eln, 192.168.0.1:5000/foo/foo:latest",
"maxLength": 128,
"x-wildcard": true
},
"image_digest": {
"description": "Digest of the image",
"type": "string",
"example": "sha256:806d77394f96e47cf99b1233561ce970c94521244a2d8f2affa12c3261961223, sha256:92e476435ced1c148350c660b09c744717defbd300a15d33deda5b50ad6b21a0",
"maxLength": 128,
"pattern": "^(sha256\\:)[a-fA-F0-9]{64}$"
},
"cached_image": {
"description": "Name of the image",
"type": "string",
"example": "quay.io/centos-bootc/fedora-bootc-cloud:eln, 192.168.0.1:5000/foo/foo:latest",
"maxLength": 128,
"x-wildcard": true
},
"cached_image_digest": {
"description": "Digest of the image",
"type": "string",
"example": "sha256:806d77394f96e47cf99b1233561ce970c94521244a2d8f2affa12c3261961223, sha256:92e476435ced1c148350c660b09c744717defbd300a15d33deda5b50ad6b21a0",
"maxLength": 128,
"pattern": "^(sha256\\:)[a-fA-F0-9]{64}$"
}
}
},
"rollback": {
"type": "object",
"properties": {
"image": {
"description": "Name of the image",
"type": "string",
"example": "quay.io/centos-bootc/fedora-bootc-cloud:eln, 192.168.0.1:5000/foo/foo:latest",
"maxLength": 128,
"x-wildcard": true
},
"image_digest": {
"description": "Digest of the image",
"type": "string",
"example": "sha256:806d77394f96e47cf99b1233561ce970c94521244a2d8f2affa12c3261961223, sha256:92e476435ced1c148350c660b09c744717defbd300a15d33deda5b50ad6b21a0",
"maxLength": 128,
"pattern": "^(sha256\\:)[a-fA-F0-9]{64}$"
},
"cached_image": {
"description": "Name of the image",
"type": "string",
"example": "quay.io/centos-bootc/fedora-bootc-cloud:eln, 192.168.0.1:5000/foo/foo:latest",
"maxLength": 128,
"x-wildcard": true
},
"cached_image_digest": {
"description": "Digest of the image",
"type": "string",
"example": "sha256:806d77394f96e47cf99b1233561ce970c94521244a2d8f2affa12c3261961223, sha256:92e476435ced1c148350c660b09c744717defbd300a15d33deda5b50ad6b21a0",
"maxLength": 128,
"pattern": "^(sha256\\:)[a-fA-F0-9]{64}$"
}
}
},
"staged": {
"type": "object",
"properties": {
"image": {
"description": "Name of the image",
"type": "string",
"example": "quay.io/centos-bootc/fedora-bootc-cloud:eln, 192.168.0.1:5000/foo/foo:latest",
"maxLength": 128,
"x-wildcard": true
},
"image_digest": {
"description": "Digest of the image",
"type": "string",
"example": "sha256:806d77394f96e47cf99b1233561ce970c94521244a2d8f2affa12c3261961223, sha256:92e476435ced1c148350c660b09c744717defbd300a15d33deda5b50ad6b21a0",
"maxLength": 128,
"pattern": "^(sha256\\:)[a-fA-F0-9]{64}$"
},
"cached_image": {
"description": "Name of the image",
"type": "string",
"example": "quay.io/centos-bootc/fedora-bootc-cloud:eln, 192.168.0.1:5000/foo/foo:latest",
"maxLength": 128,
"x-wildcard": true
},
"cached_image_digest": {
"description": "Digest of the image",
"type": "string",
"example": "sha256:806d77394f96e47cf99b1233561ce970c94521244a2d8f2affa12c3261961223, sha256:92e476435ced1c148350c660b09c744717defbd300a15d33deda5b50ad6b21a0",
"maxLength": 128,
"pattern": "^(sha256\\:)[a-fA-F0-9]{64}$"
}
}
}
}
},
"conversions": {
"description": "Object containing information about 3rd party migration on instances",
"type": "object",
"properties": {
"activity": {
"description": "Whether the conversion activity has been done or not",
"type": "boolean",
"x-indexed": false,
"example": true
}
}
}
}
},
"SystemProfileNestedObject": {
"type": "object",
"description": "An arbitrary object that does not allow empty string keys.",
"x-propertyNames": {
"minLength": 1
},
"additionalProperties": {
"oneOf": [
{
"$ref": "#/components/schemas/SystemProfileNestedObject"
},
{
"not": {
"type": "object"
}
}
]
}
},
"SystemProfileDiskDevice": {
"description": "Representation of one mounted device",
"type": "object",
"properties": {
"device": {
"example": "/dev/fdd0, /dev/sda1, /dev/nvme2",
"type": "string",
"maxLength": 2048
},
"label": {
"description": "User-defined mount label",
"type": "string",
"example": "foo, bar, baz",
"maxLength": 1024
},
"options": {
"description": "Mount options for nested object",
"example": {
"uid": "0",
"ro": true
},
"$ref": "#/components/schemas/SystemProfileNestedObject",
"x-indexed": false
},
"mount_point": {
"description": "The mount point",
"example": "/mnt/remote_nfs_shares, /mnt/local_nfs, /mnt/foo",
"type": "string",
"maxLength": 2048
},
"type": {
"description": "The mount type",
"example": "ext1, ext2, ext3",
"type": "string",
"maxLength": 256
}
}
},
"SystemProfileYumRepo": {
"description": "Representation of one yum repository",
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 256,
"example": "abc, dfg, pop"
},
"name": {
"type": "string",
"maxLength": 1024,
"example": "abc, dfg, pop"
},
"gpgcheck": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
},
"base_url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"example": "abc, dfg, pop"
},
"mirrorlist": {
"description": "URL of a mirrorlist for the repository",
"type": "string",
"format": "uri",
"maxLength": 2048,
"example": "https://rhui.redhat.com/pulp/mirror/content/dist/rhel8/rhui/$releasever/$basearch/baseos/os"
}
}
},
"SystemProfileDnfModule": {
"description": "Representation of one DNF module",
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 128,
"example": "abc, dfg, pop"
},
"stream": {
"type": "string",
"maxLength": 2048,
"example": "abc, dfg, pop"
}
}
},
"SystemProfileInstalledProduct": {
"description": "Representation of one installed product",
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 512,
"example": "abc, dfg, pop"
},
"id": {
"description": "The product ID",
"type": "string",
"maxLength": 64,
"example": "abc, dfg, pop"
},
"status": {
"description": "Subscription status for product",
"example": "Subscribed, inactive, canceled",
"type": "string",
"maxLength": 256
}
}
},
"SystemProfileNetworkInterface": {
"description": "Representation of one network interface",
"type": "object",
"properties": {
"ipv4_addresses": {
"type": "array",
"items": {
"description": "The ipv4 address of the system",
"example": "227.161.169.210 30.143.76.153 233.87.178.7, 60.209.47.155 40.124.217.134, 67.77.119.70",
"type": "string",
"format": "ipv4"
}
},
"ipv6_addresses": {
"type": "array",
"items": {
"description": "The ipv6 address of the system",
"example": "8886:2565:f753:1bbb:1d08:4239:c470:a889, dd2e:879f:afff:7845:b346:bb88:bcf2:4b1b, e979:3081:7218:4c98:fd19:5777:309a:957b",
"type": "string",
"format": "ipv6"
}
},
"mtu": {
"description": "MTU (Maximum transmission unit)",
"type": "integer",
"format": "int32",
"minimum": 0,
"maximum": 2147483647
},
"mac_address": {
"description": "MAC address (with or without colons)",
"example": "00:00:00:00:00:00, 100000000000, 20:00:00:00:00:00",
"type": "string",
"pattern": "^([A-Fa-f0-9]{2}[:-]){5}[A-Fa-f0-9]{2}$|^([A-Fa-f0-9]{4}[.]){2}[A-Fa-f0-9]{4}$|^[A-Fa-f0-9]{12}$|^([A-Fa-f0-9]{2}[:-]){19}[A-Fa-f0-9]{2}$|^[A-Fa-f0-9]{40}$",
"maxLength": 59
},
"name": {
"description": "Name of interface",
"type": "string",
"example": "eth0, eth1, eth2",
"minLength": 1,
"maxLength": 50
},
"state": {
"description": "Interface state (UP, DOWN, UNKNOWN)",
"type": "string",
"example": "UP, DOWN, UNKNOWN",
"maxLength": 25
},
"type": {
"description": "Interface type (ether, loopback)",
"type": "string",
"example": "ether, infiniband, loopback",
"maxLength": 18
}
}
},
"PaginationOut": {
"type": "object",
"required": [
"count",
"page",
"per_page",
"total"
],
"properties": {
"count": {
"$ref": "#/components/schemas/Count"
},
"page": {
"$ref": "#/components/schemas/Page"
},
"per_page": {
"$ref": "#/components/schemas/PerPage"
},
"total": {
"$ref": "#/components/schemas/Total"
}
}
},
"Total": {
"type": "integer",
"description": "Total number of items"
},
"Count": {
"type": "integer",
"description": "The number of items on the current page"
},
"Page": {
"type": "integer",
"description": "The page number"
},
"PerPage": {
"type": "integer",
"description": "The number of items to return per page"
},
"ResourceTypesPaginationOut": {
"type": "object",
"required": [
"meta",
"links"
],
"properties": {
"meta": {
"description": "The metadata for resource-types responses",
"type": "object",
"required": [
"count"
],
"properties": {
"count": {
"description": "The total number of objects returned by the query.",
"type": "integer"
}
}
},
"links": {
"description": "A collection of pagination links for resource-types endpoints",
"type": "object",
"required": [
"first",
"previous",
"next",
"last"
],
"properties": {
"first": {
"description": "The URI path for the first page in the pagination",
"type": "string"
},
"previous": {
"description": "The URI path for the previous page in the pagination",
"type": "string",
"nullable": true
},
"next": {
"description": "The URI path for the next page in the pagination",
"type": "string",
"nullable": true
},
"last": {
"description": "The URI path for the last page in the pagination",
"type": "string"
}
}
}
}
}
},
"responses": {
"PageOutOfBounds": {
"description": "Requested page is outside of the range of available pages"
}
}
}
}