API Guide Red Hat Satellite 6

Red Hat Satellite 6.1
API Guide
Reference documentation for using Satellite's Representational State
Transfer (REST) API
Edition 2
Red Hat Satellite Documentation Team
Red Hat Satellite 6.1 API Guide
Reference documentation for using Satellite's Representational State
Transfer (REST) API
Edition 2
Red Hat Satellite Do cumentatio n Team
Legal Notice
Co pyright © 20 15 Red Hat.
This do cument is licensed by Red Hat under the Creative Co mmo ns Attributio n-ShareAlike 3.0
Unpo rted License. If yo u distribute this do cument, o r a mo dified versio n o f it, yo u must pro vide
attributio n to Red Hat, Inc. and pro vide a link to the o riginal. If the do cument is mo dified, all Red
Hat trademarks must be remo ved.
Red Hat, as the licenso r o f this do cument, waives the right to enfo rce, and agrees no t to assert,
Sectio n 4 d o f CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shado wman lo go , JBo ss, MetaMatrix, Fedo ra, the Infinity
Lo go , and RHCE are trademarks o f Red Hat, Inc., registered in the United States and o ther
co untries.
Linux ® is the registered trademark o f Linus To rvalds in the United States and o ther co untries.
Java ® is a registered trademark o f Oracle and/o r its affiliates.
XFS ® is a trademark o f Silico n Graphics Internatio nal Co rp. o r its subsidiaries in the United
States and/o r o ther co untries.
MySQL ® is a registered trademark o f MySQL AB in the United States, the Euro pean Unio n and
o ther co untries.
No de.js ® is an o fficial trademark o f Jo yent. Red Hat So ftware Co llectio ns is no t fo rmally
related to o r endo rsed by the o fficial Jo yent No de.js o pen so urce o r co mmercial pro ject.
The OpenStack ® Wo rd Mark and OpenStack Lo go are either registered trademarks/service
marks o r trademarks/service marks o f the OpenStack Fo undatio n, in the United States and o ther
co untries and are used with the OpenStack Fo undatio n's permissio n. We are no t affiliated with,
endo rsed o r spo nso red by the OpenStack Fo undatio n, o r the OpenStack co mmunity.
All o ther trademarks are the pro perty o f their respective o wners.
Abstract
This guide explains the co ncepts o f and so me basic examples o f the Red Hat Satellite 6 .1
Representatio nal State Transfer (REST) API.
T able of Cont ent s
T able of Contents
. .hapt
⁠C
. . . .er
. .1. .. Int
. . .roduct
. . . . . .ion
. . .t.o. Red
. . . . Hat
. . . . Sat
. . . ellit
...e
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. . . . . . . . . .
⁠1.1. The Red Hat Satellite API
2
⁠1.2. Rep res entatio nal State Trans fer
2
. .hapt
⁠C
. . . .er
. .2. .. Aut
. . . hent
. . . . icat
. . . .ion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. . . . . . . . . .
⁠2 .1. Us ing SSL Authentic atio n
4
⁠2 .2. HTTP Authentic atio n
4
. .hapt
⁠C
. . . .er
. .3.
. .Common
. . . . . . . . REST
. . . . . .API
. . .Funct
. . . . . ions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. . . . . . . . . .
⁠3 .1. Us ing G ET to Q uery Res o urc es
6
⁠3 .2. Us ing PO ST to Create Res o urc es
6
⁠3 .3. Us ing PUT to Mo d ify Res o urc es
7
⁠3 .4. Us ing DELETE to Delete Res o urc es
7
. .hapt
⁠C
. . . .er
. .4. .. Examples
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8. . . . . . . . . .
⁠4 .1. API Examp les Us ing Rub y
⁠4 .2. API Examp les Us ing Pytho n
⁠4 .3. API Examp les Us ing Curl
8
10
14
⁠4 .4. Lo c ating and Us ing O ther Searc h Terms
21
. .ppendix
⁠A
. . . . . . . A.
. . API
. . . .Permissions
. . . . . . . . . . .Mat
. . . rix
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. 2. . . . . . . . . .
. .ppendix
⁠A
. . . . . . . B.
. . .Revision
. . . . . . . .Hist
. . . ory
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
...........
1
API G uide
Chapter 1. Introduction to Red Hat Satellite
Red Hat Satellite is an Infrastructure-as-a-Service (IaaS) application that provides tools to update
systems within hybrid clouds. Satellite is a systems management server that can be used to configure
new systems, subscribe to updates, and maintain installations in distributed environments. It
provides content, manages Red Hat entitlements, performs provisioning and configuration
management of predefined standard operating environments.
1.1. T he Red Hat Sat ellit e API
Red Hat Satellite provides a Representational State Transfer (REST) API. The API provides software
developers and system administrators with control over their Red Hat Satellite environment outside of
the standard web interface. The REST API is useful for developers and administrators who aim to
integrate the functionality of Red Hat Satellite with custom scripts or external applications that access
the API over HTTP.
Note
The full API reference is available at h t t p s://satellite6.example.com/ap id o c/v2.h t ml on your
Satellite 6 server. Be aware that even though versions 1 and 2 of the Satellite 6 API are
available, Red Hat only supports version 2.
The benefits of the REST API are:
Broad client support: Any programming language, framework, or system with support for HTTP
protocol can use the API;
Self descriptive: Client applications require minimal knowledge of the Red Hat Satellite
infrastructure as many details are discovered at runtime;
Resource-based model: The resource-based REST model provides a natural way to manage a
virtualization platform.
This provides developers and administrators the ability to:
integrate with enterprise IT systems;
integrate with third-party applications;
perform automated maintenance or error checking tasks; and
automate repetitive tasks with scripts.
This documentation aims to provide developers and administrators with instructions and examples
to help harness the functionality of Red Hat Satellite through the REST APIs. The full API reference is
available at h t t p s://hostname/ap id o c/v2.h t ml on your Satellite 6 server.
1.2. Represent at ional St at e T ransfer
Representational State Transfer (REST) is a design architecture that focuses on resources for a
specific service and their representations. A resource representation is a key abstraction of
information that corresponds to one specific managed element on a server. A client sends a request
to a server element located at a Uniform Resource Identifier (URI) and performs operations with
2
⁠Chapt er 1 . Int roduct ion t o Red Hat Sat ellit e
standard HTTP methods, such as G ET , PO ST , PU T , and D ELET E. This provides a stateless
communication between the client and server where each request acts independent of any other
request and contains all necessary information to complete the request.
3
API G uide
Chapter 2. Authentication
2.1. Using SSL Aut hent icat ion
Red Hat Satellite uses HTTPS ⁠ [1] over SSL, which provides a degree of encryption and identity
verification when communicating with a Red Hat Satellite host.
Each Red Hat Satellite host uses a self-signed certificate. This certificate acts as both the server
certificate to verify the encryption key and the certificate authority (CA) to trust the identity of the
Red Hat Satellite server.
Pro ced u re 2.1. O b t ain in g a C ert if icat e
This method uses SSH to copy the server's self-signed certificate.
1. Use ssh to connect to your Satellite server as the ro o t user:
# ssh [email protected]
2. Search your server's configuration directory for the certificate location:
# grep -r " SSLCertificateFile" /etc/httpd/conf.d
Note
The default location of self-signed certificates is usually /var/www/h t ml/p u b /kat ello server- ca.crt .
3. Copy this certificate to your client.
# scp /path/to/ca-cert-file username@client:~/
Use this certificate on your client as a certificate authority (CA) to verify the identity of the host server.
You can use the - - cacert option with the cu rl command as follows:
# curl -X GET -u admin:changeme -H " Accept:application/json" --cacert /path/to/ca-cert-file
https://satellite.example.com/katello/api/organizations
Use the following command to permanently include the certificate in the cu rl CA store:
# certutil -d sql:$HOME/.pki/nssdb -A -t TC -n " Red Hat Satellite" -i /path/to/ca-cert-file
This imports the certificate into the Network Security Services (NSS) database, which means you can
omit the - - cacert option for each request.
2.2. HT T P Aut hent icat ion
4
⁠Chapt er 2 . Aut hent icat ion
All requests to the Satellite API require a suitable user name and password. The API uses HTTP
Basic Authentication ⁠ [2] to encode these credentials, which are then added to the Authorization
header. If a request does not include an appropriate Authorization header, the API returns a 401
Authorization Required error.
T ab le 2.1. En co d in g C red en t ials f o r Access t o an API
It em
Valu e
user name
password
unencoded credentials
base64 encoded
credentials
admin
changeme
admin:changeme
YWRtaW46Y2hhbmdlbWU=
An API user provides the base64 encoded credentials as shown:
Examp le 2.1. Access t o a R EST API wit h Ap p ro p riat e C red en t ials
HEAD [base] HTTP/1.1
Host: [host]
Authorization: Basic YWRtaW46MTIzND U2
HTTP/1.1 200 OK
...
Important
Basic authentication involves potentially sensitive information, such as passwords, sent as
plain text. The REST API requires HTTPS for transport-level encryption of plain-text requests.
Important
Some base64 libraries break the result into multiple lines and terminate each line with a
newline character. This breaks the header and causes a faulty request. The Authorization
header requires that the encoded credentials be on a single line within the header.
[1] HTTPS is d es c rib ed in RFC 28 18 HTTP O ver TLS.
[2] Bas ic Authentic atio n is d es c rib ed in RFC 26 17 HTTP Authentic atio n: Bas ic and Dig es t Ac c es s
Authentic atio n.
5
API G uide
Chapter 3. Common REST API Functions
3.1. Using GET t o Query Resources
This section describes how to use G ET requests to query the Satellite server for various types of
information. G ET requests do not make any changes to Satellite resources, they only return
information about resources.
3.1.1. List ing All Resources
Obtain a list of resources with a G ET request on the collection URI obtained from the entry point.
Include an Accept HTTP header to define the MIME type for the response format.
GET /api/collection HTTP/1.1
Accept: MIME type
3.1.2. Det ermining t he St at e of a Resource
D etermine the state of a resource with a G ET request on a URI obtained from a collection listing.
Include an Accept HTTP header to define the MIME type for the response format.
GET /api/collection/resource_id HTTP/1.1
Accept: MIME type
3.2. Using POST t o Creat e Resources
This section describes how to use PO ST requests to create Satellite resources. Special permissions
might be required for some PO ST requests; see Appendix A, API Permissions Matrix for information
about API permissions.
3.2.1. Creat ing a Resource
Create a new resource with a PO ST request to the collection URI containing a representation of the
new resource.
A PO ST request requires a Content-Type header. This informs the API of the representation MIME
type in the body content as part of the request.
Include an Accept HTTP header to define the MIME type for the response format.
Each resource type has its own specific required properties. The client supplies these properties
when creating a new resource. Refer to the individual resource type documentation for more details.
If a required property is absent, the creation fails with a representation indicating the missing
elements.
POST /api/collection HTTP/1.1
Accept: MIME type
Content-Type: MIME type
6
⁠Chapt er 3. Common REST API Funct ions
body
3.3. Using PUT t o Modify Resources
This section describes how to use PU T requests to modify Satellite resources. Special permissions
might be required for some PU T requests; see Appendix A, API Permissions Matrix for information
about API permissions.
3.3.1. Updat ing a Resource
Modify resource properties with a PUT request containing an updated description from a previous
G ET request for the resource URI. D etails on modifiable properties are found in the individual
resource type documentation.
A PU T request requires a Content-Type header. This informs the API of the representation MIME type
in the body content as part of the request.
Include an Accept HTTP header to define the MIME type for the response format.
PUT /api/collection/resource_id HTTP/1.1
Accept: MIME type
Content-Type: MIME type
body
This does not include immutable resource properties that an API user has attempted to modify. If you
attempt to modify a strictly immutable resource property, the API reports a conflict with an error
message representation in the response body.
Properties omitted from the representation are ignored and not changed.
3.4 . Using DELET E t o Delet e Resources
This section describes how to use D ELET E requests to delete Satellite resources. Special
permissions might be required for some D ELET E requests; see Appendix A, API Permissions Matrix for
information about API permissions.
3.4 .1. Delet ing a Resource
D elete a resource with a D ELET E request sent to its URI.
Include an Accept HTTP header to define the MIME type for the response format.
D ELETE /api/collection/resource_id HTTP/1.1
Accept: MIME type
Some cases require optional body content in the D ELET E request to specify additional properties. A
D ELET E request with optional body content requires a Content-Type header to inform the API of the
representation MIME type in the body content. If a D ELET E request contains no body content, omit
the Content-Type header.
7
API G uide
Chapter 4. Examples
4 .1. API Examples Using Ruby
The following examples describe how to perform various tasks using Ruby to communicate with the
Satellite API.
Important
These are example scripts and commands. Ensure you review these scripts carefully before
use, and replace any variables, user names, passwords, and other information to suit your
own deployment.
4 .1.1. Creat ing Object s Using Ruby
The following script connects to the Red Hat Satellite 6 API and creates a new organization, then
creates three environments in the new organization. If the organization already exists, the script uses
that organization. If any of the environments already exist in the organization, the script raises an
error and quits.
Note
This script requires the rest-client and json Ruby gems.
#!/usr/bin/ruby
require 'rest-client'
require 'json'
url = 'https://satellite6.example.com/api/v2/'
katello_url = 'https://satellite6.example.com/katello/api/v2/'
$username = 'admin'
$password = 'changeme'
org_name = " MyOrg"
environments = [" D evelopment" ," Testing" ," Production" ]
def get_json(location)
response = RestClient::Request.new(
:method => :get,
:url => location,
:user => $username,
:password => $password,
:headers => { :accept => :json,
:content_type => :json }
).execute
results = JSON.parse(response.to_str)
end
8
⁠Chapt er 4 . Examples
def post_json(location, json_data)
response = RestClient::Request.new(
:method => :post,
:url => location,
:user => $username,
:password => $password,
:headers => { :accept => :json,
:content_type => :json},
:payload => json_data
).execute
results = JSON.parse(response.to_str)
end
orgs = get_json(url+" organizations" )
org_list = {}
orgs['results'].each do |org|
org_list[org['id']] = org['name']
end
if !org_list.has_value?(org_name)
org_id = post_json(url+" organizations" , JSON.generate({" name" => org_name}))
[" organization" ][" id" ]
puts " Creating organization: \t" + org_name
else
org_id = org_list.key(org_name)
puts " Organization \" " + org_name + " \" exists"
end
envs = get_json(katello_url+" organizations/" + org_id.to_s + " /environments" )
env_list = {}
envs['results'].each do |env|
env_list[env['id']] = env['name']
end
prior_env_id = env_list.key(" Library" )
environments.each do |e|
if env_list.has_value?(e)
puts " ERROR: One of the Environments is not unique to organization"
exit()
end
end
environments.each do |environment|
new_env_id = post_json(katello_url+" organizations/" + org_id.to_s + " /environments" ,
JSON.generate({" name" => environment, " organization_id" => org_id," prior" => prior_env_id}))
[" id" ]
puts " Creating environment: \t" + environment
prior_env_id = new_env_id
end
exit()
9
API G uide
Warning
This script does not use SSL communication for interacting with the REST API and is provided
here only as a demonstration.
4 .2. API Examples Using Pyt hon
The following examples describe how to perform various tasks using Python to communicate with the
Satellite API.
Important
These are example scripts and commands. Ensure you review these scripts carefully before
use, and replace any variables, user names, passwords, and other information to suit your
own deployment.
4 .2.1. Creat ing Object s Using Pyt hon
The following script connects to the Red Hat Satellite 6 API and creates a new organization, then
creates three environments in the new organization. If the organization already exists, the script uses
that organization. If any of the environments already exist in the organization, the script raises an
error and quits.
Note
This script requires the requests and json modules.
#!/usr/bin/python
import json
import sys
try:
import requests
except ImportError:
print " Please install the python-requests module."
sys.exit(-1)
# URL to your Satellite 6 server
URL = " https://satellite6.example.com"
# URL for the API to your deployed Satellite 6 server
SAT_API = " % s/katello/api/v2/" % URL
# Katello-specific API
KATELLO_API = " % s/katello/api/" % URL
POST_HEAD ERS = {'content-type': 'application/json'}
# Default credentials to login to Satellite 6
USERNAME = " admin"
10
⁠Chapt er 4 . Examples
PASSWORD = " changeme"
# Ignore SSL for now
SSL_VERIFY = False
# Name of the organization to be either created or used
ORG_NAME = " MyOrg"
# Name for life cycle environments to be either created or used
ENVIRONMENTS = [" D evelopment" , " Testing" , " Production" ]
def get_json(location):
"""
Performs a GET using the passed URL location
"""
r = requests.get(location, auth=(USERNAME, PASSWORD ), verify=SSL_VERIFY)
return r.json()
def post_json(location, json_data):
"""
Performs a POST and passes the data to the URL location
"""
result = requests.post(
location,
data=json_data,
auth=(USERNAME, PASSWORD ),
verify=SSL_VERIFY,
headers=POST_HEAD ERS)
return result.json()
def main():
"""
Main routine that creates or re-uses an organization and
life cycle environments. If life cycle environments already
exist, exit out.
"""
# Check if our organization already exists
org = get_json(SAT_API + " organizations/" + ORG_NAME)
# If our organization is not found, create it
if org.get('error', None):
org_id = post_json(
SAT_API + " organizations/" ,
json.dumps({" name" : ORG_NAME}))[" organization" ][" id" ]
print " Creating organization: \t" + ORG_NAME
else:
# Our organization exists, so let's grab it
org_id = org['id']
print " Organization '% s' exists." % ORG_NAME
11
API G uide
# Now, let's fetch all available life cycle environments for this org...
envs = get_json(
SAT_API + " organizations/" + str(org_id) + " /environments/" )
# ... and add them to a dictionary, with respective 'Prior' environment
prior_env_id = 0
env_list = {}
for env in envs['results']:
env_list[env['id']] = env['name']
prior_env_id = env['id'] if env['name'] == " Library" else prior_env_id
# Exit the script if at least one life cycle environment already exists
if all(environment in env_list.values() for environment in ENVIRONMENTS):
print " ERROR: One of the Environments is not unique to organization"
sys.exit(-1)
# Create life cycle environments
for environment in ENVIRONMENTS:
new_env_id = post_json(
SAT_API + " organizations/" + str(org_id) + " /environments/" ,
json.dumps(
{
" name" : environment,
" organization_id" : org_id,
" prior" : prior_env_id}
))[" id" ]
print " Creating environment: \t" + environment
prior_env_id = new_env_id
if __name__ == " __main__" :
main()
Warning
This script does not use SSL verification for interacting with the REST API and is provided
here only as a demonstration.
4 .2.2. Running Queries Using Pyt hon
You can create and run a Python script to achieve the same results as those described in
Section 4.3, “ API Examples Using Curl” . The following example script describes this approach. First,
create an executable file called sat6api.p y and then add the following content:
#!/usr/bin/python
import json
import sys
try:
import requests
except ImportError:
print " Please install the python-requests module."
sys.exit(-1)
12
⁠Chapt er 4 . Examples
SAT_API = 'https://satellite6.example.com/api/v2/'
USERNAME = " admin"
PASSWORD = " password"
SSL_VERIFY = False # Ignore SSL for now
def get_json(url):
# Performs a GET using the passed URL location
r = requests.get(url, auth=(USERNAME, PASSWORD ), verify=SSL_VERIFY)
return r.json()
def get_results(url):
jsn = get_json(url)
if jsn.get('error'):
print " Error: " + jsn['error']['message']
else:
if jsn.get('results'):
return jsn['results']
elif 'results' not in jsn:
return jsn
else:
print " No results found"
return None
def display_all_results(url):
results = get_results(url)
if results:
print json.dumps(results, indent=4, sort_keys=True)
def display_info_for_hosts(url):
hosts = get_results(url)
if hosts:
for host in hosts:
print " ID : % -10d Name: % -30s IP: % -20s OS: % -30s" % (host['id'], host['name'], host['ip'],
host['operatingsystem_name'])
def main():
host = 'satellite6.example.com'
print " D isplaying all info for host % s ..." % host
display_all_results(SAT_API + 'hosts/' + host)
print " D isplaying all facts for host % s ..." % host
display_all_results(SAT_API + 'hosts/% s/facts' % host)
host_pattern = 'example'
print " D isplaying basic info for hosts matching pattern '% s'..." % host_pattern
display_info_for_hosts(SAT_API + 'hosts?search=' + host_pattern)
environment = 'production'
print " D isplaying basic info for hosts in environment % s..." % environment
display_info_for_hosts(SAT_API + 'hosts?search=environment=' + environment)
model = 'RHEV Hypervisor'
print " D isplaying basic info for hosts with model name % s..." % model
13
API G uide
display_info_for_hosts(SAT_API + 'hosts?search=model=" ' + model + '" ')
if __name__ == " __main__" :
main()
You can then run ./sat 6 ap i.p y from the command line to display the results.
4 .3. API Examples Using Curl
This section describes how to use cu rl to perform various tasks using the Satellite API. The first
section describes simple queries, such as listing general host information, searching for facts, and
using pattern matching. The second section describes how to modify Satellite resources, with
examples of how to upload and import content to your Satellite server.
4 .3.1. Performing Simple Queries
The following examples describe how to use cu rl to search for information about your Satellite
deployment. These examples include both the actual command and some sample output, and
example values for user names and passwords. Expect different results for each deployment. These
examples also use the p yt h o n - mjso n .t o o l command to format the output.
Note
Be aware that if you use the - s (silent) option with cu rl that you will not see a progress meter
or any error messages.
If you use the - k (insecure) option, you need to use H T T PS and also include the - u (user
name) option. You can use the form - u username[ :password] or, if you do not include the
password, the command prompts you to enter it. Red Hat recommends that you do not include
the password as part of the command, because it then becomes part of your shell history and
might present a security risk. These examples include the password only for the sake of
simplicity.
R et rievin g a List o f R eso u rces
The following is a basic query that returns a list of resources. Such requests return a list of data
wrapped in metadata, while other request types only return the actual object.
$ curl -X GET -s -k -u admin:password https://satellite6.example.com/api/v2/hosts | python mjson.tool
{
" total" => 2,
" subtotal" => 2,
" page" => 1,
" per_page" => 1000,
" search" => nil,
" sort" => {
" by" => nil,
" order" => nil
},
14
⁠Chapt er 4 . Examples
" results" => [
.
.
.
R u n n in g a G en eric H o st Q u ery
The following query returns information for the host sat ellit e6 .examp le.co m:
$ curl -X GET -s -k -u admin:password
https://satellite6.example.com/api/v2/hosts/satellite6.example.com | python -mjson.tool
{
" all_puppetclasses" : [],
" architecture_id" : 1,
" architecture_name" : " x86_64" ,
" build" : false,
" capabilities" : [
" build"
],
" certname" : " satellite6.example.com" ,
" comment" : null,
" compute_profile_id" : null,
...
Search in g f o r Fact s f o r a Sp ecif ic H o st
The following query returns all facts for the host sat ellit e6 .examp le.co m:
$ curl -X GET -s -k -u admin:password
https://satellite6.example.com/api/v2/hosts/satellite6.example.com/facts | python -mjson.tool
{
...
" results" : {
" satellite6.example.com" : {
" augeasversion" : " 1.0.0" ,
" bios_release_date" : " 01/01/2007" ,
" bios_version" : " 0.5.1" ,
" blockdevice_sr0_size" : " 1073741312" ,
" facterversion" : " 1.7.6" ,
...
}
Search in g all H o st s f o r Mat ch in g Pat t ern s
The following query returns all hosts that match the pattern " example" :
$ curl -X GET -s -k -u admin:password https://satellite6.example.com/api/v2/hosts?
search=example | python -mjson.tool
{
...
" results" : [
{
" name" : " satellite6.example.com" ,
...
15
API G uide
}
],
" search" : " example" ,
}
Search in g f o r all H o st s in a Sp ecif ic En viro n men t
The following query returns all hosts in the " production" environment:
$ curl -X GET -s -k -u admin:password https://satellite6.example.com/api/v2/hosts?
search=environment=production | python -mjson.tool
{
...
" results" : [
{
" environment_name" : " production" ,
" name" : " satellite6.example.com" ,
...
}
],
" search" : " environment=production" ,
}
Search in g f o r all H o st s wit h a Sp ecif ic Fact Valu e
The following query returns all hosts with a model name " RHEV Hypervisor" :
$ curl -X GET -s -k -u admin:password https://satellite6.example.com/api/v2/hosts?
search=model=\" RHEV+Hypervisor\" | python -mjson.tool
{
...
" results" : [
{
" model_id" : 1,
" model_name" : " RHEV Hypervisor" ,
" name" : " satellite6.example.com" ,
...
}
],
" search" : " model=\" RHEV Hypervisor\" " ,
4 .3.2. Creat ing and Modifying Resources
You can use the Satellite API to manipulate resources on the Satellite server. These API calls require
that you pass various parameters beyond the simple user name, password, and URI that you want to
query. For example, to upload content to your Satellite server, or to modify Satellite resources, you
need to include extra information in the header when you construct your request.
You can specify the version of the API either in the header, as described in the following examples, or
as part of the URL. For example, https://satellite6.example.com/api/v2/architectures is the equivalent of
using Accept:version=2 in the request header. The URL specification takes precedence.
16
⁠Chapt er 4 . Examples
Important
If you do not specify an API version, version 1 is used, even though it is not supported. If you
specify version 1, you might receive an error message or receive incorrect data. Both of these
issues have been addressed upstream and will be available in an upcoming release. Red Hat
recommends that you always specify version 2 of the API, either in the header or in the URL.
The following is the basic syntax for a POST request:
$ curl -H " Accept:application/json,version=2" -H " Content-Type:application/json" -X POST -u
username[:password] [-k] -d json-formatted-data satellite-url
For example, to create a new architecture, you can use the following example request:
$ curl -H " Accept:application/json,version=2" -H " Content-Type:application/json" -X POST -u
admin:changeme -k -d " {\" architecture\" :{\" name\" :\" i686\" }}"
https://satellite6.example.com/api/architectures
This returns output similar to the following:
{" name" :" i686" ," id" :3," created_at" :" 2015-10-29T13:21:09Z " ," updated_at" :" 2015-1029T13:21:09Z " ," operatingsystems" :[]," images" :[]}
You can use the following command to verify that the architecture was created:
$ curl -X GET -u admin:changeme -k https://satellite6.example.com/api/v2/architectures | python
-mjson.tool
{
" page" : 1,
" per_page" : 20,
" results" : [
{
" created_at" : " 2015-04-02T05:29:46Z " ,
" id" : 2,
" name" : " i386" ,
" updated_at" : " 2015-04-02T05:29:46Z "
},
{
" created_at" : " 2015-04-02T05:29:46Z " ,
" id" : 1,
" name" : " x86_64" ,
" updated_at" : " 2015-04-02T05:29:46Z "
},
{
" created_at" : " 2015-11-04T19:40:15Z " ,
" id" : 3,
" name" : " i686" ,
" updated_at" : " 2015-11-04T19:40:15Z "
}
],
" search" : null,
" sort" : {
" by" : null,
17
API G uide
" order" : null
},
" subtotal" : 3,
" total" : 3
}
You can also use h ammer on the Satellite server to verify the results:
# hammer -u admin -p changeme architecture list
---|------ID | NAME
---|------2 | i386
1 | x86_64
3 | i686
---|-------
4 .3.2 .1 . Uplo ading Co nt e nt t o t he Sat e llit e Se rve r
Two methods exist for uploading content to your Satellite server. The first method is more
straightforward but due to web server configuration limitations, the maximum file size that you can
upload is about 30 MB. If you try to upload larger files, the Satellite server returns an error. Satellite 6
supports uploading very large files, but the process is slightly more complex. This section describes
how to use cu rl with the Satellite 6 API to upload and import large files to your Satellite server. This
process involves four steps:
1. Create an upload request.
2. Upload the content.
3. Import the content.
4. D elete the upload request.
C reat in g t h e U p lo ad R eq u est
The following example command creates an upload request that you can use to upload your content.
Ensure you modify the example parameters to suit your deployment:
$ curl -H " Accept:application/json,version=2" -H " Content-Type:application/json" -X POST -u
admin:changeme -k -d " {}" https://satellite6.example.com/katello/api/repositories/3/content_uploads
Note
Even though this command uses a POST method, it does not actually pass any data, as
evidenced by the empty data string (" {}" ). The command creates an upload_id, but no data is
passed to the Satellite server to achieve this.
This command returns output similar to the following:
{" upload_id" :" 0be156b1-f373-4cad-89d0924f8f4491d2" ," _href" :" /pulp/api/v2/content/uploads/0be156b1-f373-4cad-89d0924f8f4491d2/" }
18
⁠Chapt er 4 . Examples
Make a note of the upload_id value; you need this value when you upload your content to the
Satellite server.
U p lo ad in g Yo u r C o n t en t
Ensure you use the correct MIME type when you upload data. The " application/json" MIME type is
used for the majority of requests to Satellite 6.
The following example illustrates how to combine the upload_id, MIME type, and other parameters to
upload content:
$ curl -H " Accept:application/json,version=2" -H " Content-Type:multipart/form-data" -X PUT -u
admin:changeme -k --data-urlencode " content@/home/sat6user/rpmbuild/RPMS/noarch/pythonscripttest-1.1.1-1.fc21.noarch.rpm" --data-urlencode offset=0
https://satellite6.example.com/katello/api/repositories/3/content_uploads/0be156b1-f373-4cad-89d0924f8f4491d2
You can make this request multiple times to upload large files. Break the content into smaller pieces
(for example, 5 MB, using a tool such as sp lit ), and increment the offset in bytes.
Imp o rt in g t h e U p lo ad ed C o n t en t
After you have uploaded the content to the Satellite server, you need to import it into the appropriate
repository. Until you complete this step, the Satellite server will not be aware of the new content.
$ curl -H " Accept:application/json,version=2" -H " Content-Type:application/json" -X PUT -u
admin:changeme -k -d " {\" upload_ids\" :[\" 0be156b1-f373-4cad-89d0-924f8f4491d2\" ]}"
https://satellite6.example.com>/katello/api/repositories/3/import_uploads
D elet in g t h e U p lo ad R eq u est
After you have successfully uploaded and imported your content, you can delete the upload request.
This frees any temporary disk space that was used during the upload.
$ curl -H " Accept:application/json,version=2" -H " Content-Type:application/json" -X D ELETE -d "
{}" -u admin:changeme -k
https://satellite6.example.com/katello/api/repositories/3/content_uploads/0be156b1-f373-4cad-89d0924f8f4491d2
4 .3.2.1.1. C o mp let e Examp le o f U p lo ad in g C o n t en t
The following example demonstrates in full how to split a large file into chunks, create an upload
request, upload the individual files, import them to Satellite, and then delete the upload request. Note
that this example uses sample content, host names, user names, and file names.
1. D ownload the sample module and split it into 50.000 byte chunks.
$ wget https://forgeapi.puppetlabs.com/v3/files/theforeman-foreman-5.0.1.tar.gz?
_ga=1.267255502.1792403825.1430297670 -O theforeman-foreman-5.0.1.tar.gz
$ split --bytes 50000 --numeric-suffixes --suffix-length=1 theforeman-foreman-5.0.1.tar.gz
foreman_module.
19
API G uide
$ ls -la theforeman-foreman-5.0.1.tar.gz foreman_module.*
-rw-r--r--. 1 root root 50000 Nov 4 04:42 foreman_module.0
-rw-r--r--. 1 root root 32928 Nov 4 04:42 foreman_module.1
-rw-r--r--. 1 root root 82928 Nov 4 04:41 theforeman-foreman-5.0.1.tar.gz
2. Create a new upload request (this is the equivalent of cat on the Satellite server.
$ curl -H " Accept:application/json,version=2" -H " Content-Type:application/json" -X
POST -u admin:changeme -k -d " {}" https://ibmvm01.example.com/katello/api/repositories/2/content_uploads
It responded with upload id:
{" upload_id" :" 9585528f-07ad-4bb1-9c80ccece249b2b7" ," _href" :" /pulp/api/v2/content/uploads/9585528f-07ad-4bb1-9c80ccece249b2b7/" }
3. Upload the file chunks that you created in Step 1. Notice the use of the offset parameter in
this example and how it relates to the file size.
$ curl -H " Accept:application/json,version=2" -H " Content-Type:multipart/form-data" -X
PUT -u admin:changeme -k --data-urlencode " content@foreman_module.0" --dataurlencode offset=0 https://ibmvm01.example.com/katello/api/repositories/2/content_uploads/9585528f-07ad-4bb19c80-ccece249b2b7
$ curl -H " Accept:application/json,version=2" -H " Content-Type:multipart/form-data" -X
PUT -u admin:changeme -k --data-urlencode " content@foreman_module.1" --dataurlencode offset=50000 https://ibmvm01.example.com/katello/api/repositories/2/content_uploads/9585528f-07ad-4bb19c80-ccece249b2b7
4. Import the complete upload to the repository.
$ curl -H " Accept:application/json,version=2" -H " Content-Type:application/json" -X PUT
-u admin:changeme -k -d " {\" upload_ids\" :[\" 9585528f-07ad-4bb1-9c80ccece249b2b7\" ]}" https://ibmvm01.example.com/katello/api/repositories/2/import_uploads
5. D elete the upload.
$ curl -H " Accept:application/json,version=2" -H " Content-Type:application/json" -X
D ELETE -d " {}" -u admin:changeme -k https://ibmvm01.example.com/katello/api/repositories/2/content_uploads/9585528f-07ad-4bb19c80-ccece249b2b7
If you log in to the server you can check that the files match:
$ ls -la /var/lib/pulp/content/puppet_module/theforeman-foreman-5.0.1.tar.gz
-rw-r--r--. 1 apache apache 82928 Nov 4 04:55
/var/lib/pulp/content/puppet_module/theforeman-foreman-5.0.1.tar.gz
20
⁠Chapt er 4 . Examples
$ cmp /var/lib/pulp/content/puppet_module/theforeman-foreman-5.0.1.tar.gz theforemanforeman-5.0.1.tar.gz
$ echo $?
0
4 .4 . Locat ing and Using Ot her Search T erms
You can use the web UI to determine other search terms that you can use to construct your queries.
Satellite 6 supports scoped search and tab completion to make this task easier.
For example, to search for hosts by their operating system, navigate to H o st s → All H o st s and click
inside the Search text box to display a list of search terms. One of the search terms for operating
systems is o s_d escrip t io n , which you can use in your API query as follows:
$ curl -s -k -u admin:password https://satellite6.example.com/api/v2/hosts?
search=os_description=\" RHEL+Server+6.6\" | python -mjson.tool
{
...
" results" : [
{
" name" : " satellite6.example.com" ,
" operatingsystem_id" : 1,
" operatingsystem_name" : " RHEL Server 6.6" ,
...
}
],
" search" : " os_description=\" RHEL Server 6.6\" " ,
}
21
API G uide
Appendix A. API Permissions Matrix
The Red Hat Satellite 6 API supports numerous actions, many of which require specific permissions.
The following table lists the API permission names, the actions associated with those permissions,
and the associated resource type.
T ab le A.1. API Permissio n s Mat rix
Permissio n N ame
edit_activation_keys
destroy_activation_key
s
create_activation_keys
view_activation_keys
logout
edit_architectures
create_architectures
22
Act io n s
katello/api/v2/activation_keys/update
katello/api/v2/activation_keys/content_overri
de
katello/api/v2/activation_keys/add_subscripti
ons
katello/api/v2/activation_keys/remove_subsc
riptions
katello/api/v2/activation_keys/destroy
katello/api/v2/activation_keys/create
katello/api/v2/activation_keys/copy
katello/activation_keys/all
katello/activation_keys/index
katello/activation_keys/auto_complete_searc
h
katello/api/v2/activation_keys/index
katello/api/v2/activation_keys/show
katello/api/v2/activation_keys/available_host
_collections
katello/api/v2/activation_keys/available_rele
ases
katello/api/v2/activation_keys/product_conte
nt
users/logout
architectures/edit
architectures/update
api/v1/architectures/update
api/v2/architectures/update
architectures/new
architectures/create
api/v1/architectures/create
api/v2/architectures/create
R eso u rce T yp e
Katello::ActivationKey
Katello::ActivationKey
Katello::ActivationKey
Katello::ActivationKey
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
destroy_architectures
view_architectures
view_audit_logs
edit_authenticators
create_authenticators
view_authenticators
destroy_authenticators
destroy_bookmarks
Act io n s
R eso u rce T yp e
architectures/destroy
api/v1/architectures/destroy
api/v2/architectures/destroy
architectures/index
architectures/show
architectures/auto_complete_search
api/v1/architectures/index
api/v1/architectures/show
api/v2/architectures/index
api/v2/architectures/show
audits/index
audits/show
audits/auto_complete_search
api/v1/audits/index
api/v1/audits/show
api/v2/audits/index
api/v2/audits/show
auth_source_ldaps/edit
auth_source_ldaps/update
api/v1/auth_source_ldaps/update
api/v2/auth_source_ldaps/update
auth_source_ldaps/new
auth_source_ldaps/create
api/v1/auth_source_ldaps/create
api/v2/auth_source_ldaps/create
auth_source_ldaps/index
auth_source_ldaps/show
api/v1/auth_source_ldaps/index
api/v1/auth_source_ldaps/show
api/v2/auth_source_ldaps/index
api/v2/auth_source_ldaps/show
auth_source_ldaps/destroy
api/v1/auth_source_ldaps/destroy
api/v2/auth_source_ldaps/destroy
bookmarks/destroy
api/v1/bookmarks/destroy
api/v2/bookmarks/destroy
23
API G uide
Permissio n N ame
edit_bookmarks
view_bookmarks
create_bookmarks
download_bootdisk
manage_capsule_cont
ent
edit_compute_profiles
destroy_compute_profi
les
24
Act io n s
R eso u rce T yp e
bookmarks/edit
bookmarks/update
api/v1/bookmarks/edit
api/v1/bookmarks/update
api/v2/bookmarks/edit
api/v2/bookmarks/update
bookmarks/index
bookmarks/show
api/v1/bookmarks/index
api/v1/bookmarks/show
api/v2/bookmarks/index
api/v2/bookmarks/show
bookmarks/new
bookmarks/create
api/v1/bookmarks/new
api/v1/bookmarks/create
api/v2/bookmarks/new
api/v2/bookmarks/create
foreman_bootdisk/disks/generic
foreman_bootdisk/disks/host
foreman_bootdisk/disks/full_host
foreman_bootdisk/disks/help
foreman_bootdisk/api/v2/disks/generic
foreman_bootdisk/api/v2/disks/host
katello/api/v2/capsule_content/lifecycle_envir
onments
katello/api/v2/capsule_content/available_life
cycle_environments
katello/api/v2/capsule_content/add_lifecycle
_environment
katello/api/v2/capsule_content/remove_lifecy
cle_environment
katello/api/v2/capsule_content/sync
compute_profiles/edit
compute_profiles/update
api/v2/compute_profiles/update
compute_profiles/destroy
api/v2/compute_profiles/destroy
SmartProxy
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
view_compute_profiles
create_compute_profile
s
create_compute_resou
rces
destroy_compute_reso
urces
view_compute_resourc
es
Act io n s
R eso u rce T yp e
compute_profiles/index
compute_profiles/show
compute_profiles/auto_complete_search
api/v2/compute_profiles/index
api/v2/compute_profiles/show
compute_profiles/new
compute_profiles/create
api/v2/compute_profiles/create
compute_resources/new
compute_resources/create
compute_resources/test_connection
api/v1/compute_resources/create
api/v2/compute_resources/create
compute_resources/destroy
api/v1/compute_resources/destroy
api/v2/compute_resources/destroy
compute_resources/index
compute_resources/show
compute_resources/auto_complete_search
compute_resources/ping
compute_resources/available_images
api/v1/compute_resources/index
api/v1/compute_resources/show
api/v2/compute_resources/index
api/v2/compute_resources/show
api/v2/compute_resources/available_images
api/v2/compute_resources/available_clusters
api/v2/compute_resources/available_folders
api/v2/compute_resources/available_network
s
api/v2/compute_resources/available_resourc
e_pools
api/v2/compute_resources/available_storage
_domains
25
API G uide
Permissio n N ame
edit_compute_resource
s
Act io n s
compute_resources/edit
compute_resources/update
compute_resources/test_connection
compute_attributes/new
compute_attributes/create
compute_attributes/edit
compute_attributes/update
api/v1/compute_resources/update
api/v2/compute_resources/update
api/v2/compute_attributes/create
api/v2/compute_attributes/update
console_compute_reso
urces_vms
compute_resources_vms/console
destroy_compute_reso
urces_vms
compute_resources_vms/destroy
create_compute_resou
rces_vms
view_compute_resourc
es_vms
power_compute_resou
rces_vms
edit_compute_resource
s_vms
create_config_groups
destroy_config_groups
edit_config_groups
view_config_groups
26
compute_resources_vms/new
compute_resources_vms/create
compute_resources_vms/index
compute_resources_vms/show
compute_resources_vms/power
compute_resources_vms/pause
compute_resources_vms/edit
compute_resources_vms/update
config_groups/new
config_groups/create
api/v2/config_groups/create
config_groups/destroy
api/v2/config_groups/destroy
config_groups/edit
config_groups/update
api/v2/config_groups/update
config_groups/index
config_groups/auto_complete_search
api/v2/config_groups/index
api/v2/config_groups/show
R eso u rce T yp e
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
deploy_templates
lock_templates
edit_templates
view_templates
destroy_templates
create_templates
commit_containers
destroy_containers
Act io n s
R eso u rce T yp e
config_templates/build_pxe_default
api/v1/config_templates/build_pxe_default
api/v2/config_templates/build_pxe_default
config_templates/lock
config_templates/unlock
api/v2/config_templates/lock
api/v2/config_templates/unlock
config_templates/edit
config_templates/update
api/v1/config_templates/update
api/v2/config_templates/update
api/v2/template_combinations/update
config_templates/index
config_templates/show
config_templates/revision
config_templates/auto_complete_search
api/v1/config_templates/index
api/v1/config_templates/show
api/v1/config_templates/revision
api/v2/config_templates/index
api/v2/config_templates/show
api/v2/config_templates/revision
api/v2/template_combinations/index
api/v2/template_combinations/show
api/v1/template_kinds/index
api/v2/template_kinds/index
config_templates/destroy
api/v1/config_templates/destroy
api/v2/config_templates/destroy
api/v2/template_combinations/destroy
config_templates/new
config_templates/create
config_templates/clone
api/v1/config_templates/create
api/v2/config_templates/create
api/v2/template_combinations/create
containers/commit
containers/destroy
api/v2/containers/destroy
Container
Container
27
API G uide
Permissio n N ame
power_compute_resou
rces_vms
view_containers
create_containers
destroy_content_hosts
view_content_hosts
28
Act io n s
containers/power
api/v2/containers/create
api/v2/containers/power
containers/index
containers/show
api/v2/containers/index
api/v2/containers/show
api/v2/containers/logs
containers/steps/show
containers/steps/update
containers/new
api/v2/containers/create
api/v2/containers/power
katello/api/v2/systems/destroy
katello/api/v2/systems_bulk_actions/destroy_
systems
katello/content_hosts/auto_complete_search
katello/api/v2/systems/index
katello/api/v2/systems/show
katello/api/v2/systems/errata
katello/api/v2/systems/package_profile
katello/api/v2/systems/report
katello/api/v2/systems/pools
katello/api/v2/systems/releases
katello/api/v2/systems/available_host_collect
ions
katello/api/v2/systems/events
katello/api/v2/system_errata/show
katello/api/v2/systems_bulk_actions/applica
ble_errata
katello/api/v2/host_collections/systems
katello/dashboard/errata
R eso u rce T yp e
ComputeResource
Container
Container
Katello::System
Katello::System
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
edit_content_hosts
create_content_hosts
publish_content_views
promote_or_remove_c
ontent_views
destroy_content_views
view_content_views
Act io n s
katello/api/v2/systems/update
katello/api/v2/systems/refresh_subscriptions
katello/api/v2/system_packages/install
katello/api/v2/system_packages/upgrade
katello/api/v2/system_packages/upgrade_all
katello/api/v2/system_packages/remove
katello/api/v2/system_errata/apply
katello/api/v2/systems_bulk_actions/install_c
ontent
katello/api/v2/systems_bulk_actions/update_
content
katello/api/v2/systems_bulk_actions/remove_
content
katello/api/v2/systems_bulk_actions/environ
ment_content_view
katello/api/v2/systems_bulk_actions/bulk_ad
d_host_collections
katello/api/v2/systems_bulk_actions/bulk_re
move_host_collections
katello/api/rhsm/candlepin_proxies/upload_
package_profile
katello/api/rhsm/candlepin_proxies/regenerat
e_identity_certificates
katello/api/rhsm/candlepin_proxies/hypervis
ors_update
katello/api/v2/systems/create
katello/api/rhsm/candlepin_proxies/consume
r_create
katello/api/rhsm/candlepin_proxies/consume
r_show
katello/api/v2/content_views/publish
katello/api/v2/content_view_versions/increme
ntal_update
katello/api/v2/content_view_versions/promot
e
katello/api/v2/content_views/remove_from_en
vironment
katello/api/v2/content_views/remove
katello/api/v2/content_views/destroy
katello/api/v2/content_views/remove
katello/api/v2/content_view_versions/destroy
katello/api/v2/content_views/index
katello/api/v2/content_views/show
katello/api/v2/content_views/history
R eso u rce T yp e
Katello::System
Katello::System
Katello::ContentView
Katello::ContentView
Katello::ContentView
Katello::ContentView
29
API G uide
Permissio n N ame
30
Actkatello/api/v2/content_views/available_pupp
io n s
R eso u rce T yp e
et_modules
katello/api/v2/content_views/available_pupp
et_module_names
katello/api/v2/content_view_filters/index
katello/api/v2/content_view_filters/show
katello/api/v2/content_view_filters/available_
errata
katello/api/v2/content_view_filters/available_
package_groups
katello/api/v2/content_view_filter_rules/index
katello/api/v2/content_view_filter_rules/show
katello/api/v2/content_view_puppet_modules
/index
katello/api/v2/content_view_puppet_modules
/show
katello/api/v2/content_view_versions/index
katello/api/v2/content_view_versions/show
katello/api/v2/package_groups/index
katello/api/v2/package_groups/show
katello/api/v2/errata/index
katello/api/v2/errata/show
katello/api/v2/puppet_modules/index
katello/api/v2/puppet_modules/show
katello/content_views/auto_complete
katello/content_views/auto_complete_search
katello/errata/short_details
katello/errata/auto_complete
katello/packages/details
katello/packages/auto_complete
katello/products/auto_complete
katello/repositories/auto_complete_library
katello/content_search/index
katello/content_search/products
katello/content_search/repos
katello/content_search/packages
katello/content_search/errata
katello/content_search/puppet_modules
katello/content_search/packages_items
katello/content_search/errata_items
katello/content_search/puppet_modules_item
s
katello/content_search/view_packages
katello/content_search/view_puppet_module
s
katello/content_search/repo_packages
katello/content_search/repo_errata
katello/content_search/repo_puppet_module
s
katello/content_search/repo_compare_errata
katello/content_search/repo_compare_packa
ges
katello/content_search/repo_compare_puppe
t_modules
katello/content_search/view_compare_errata
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
create_content_views
edit_content_views
access_dashboard
destroy_discovered_h
osts
submit_discovered_ho
sts
view_discovered_hosts
Actkatello/content_search/view_compare_packa
io n s
R eso u rce T yp e
ges
katello/content_search/view_compare_puppe
t_modules
katello/content_search/views
katello/dashboard/content_views
katello/dashboard/promotions
Katello::ContentView
katello/api/v2/content_views/create
katello/api/v2/content_views/copy
katello/api/v2/content_views/update
katello/api/v2/content_view_filters/create
katello/api/v2/content_view_filters/update
katello/api/v2/content_view_filters/destroy
katello/api/v2/content_view_filter_rules/create
katello/api/v2/content_view_filter_rules/updat
e
katello/api/v2/content_view_filter_rules/destro
y
katello/api/v2/content_view_puppet_modules
/create
katello/api/v2/content_view_puppet_modules
/update
katello/api/v2/content_view_puppet_modules
/destroy
Katello::ContentView
dashboard/index
api/v1/dashboard/index
api/v2/dashboard/index
[" katello/dashboard/index" ,
" katello/dashboard/notices" ]
discovered_hosts/destroy
discovered_hosts/submit_multiple_destroy
discovered_hosts/multiple_destroy
api/v2/discovered_hosts/destroy
api/v2/discovered_hosts/facts
api/v2/discovered_hosts/create
discovered_hosts/index
discovered_hosts/show
discovered_hosts/auto_complete_search
api/v2/discovered_hosts/index
api/v2/discovered_hosts/show
Host
Host
Host
31
API G uide
Permissio n N ame
edit_discovered_hosts
provision_discovered_
hosts
auto_provision_discov
ered_hosts
view_discovery_rules
destroy_discovery_rule
s
execute_discovery_rul
es
create_discovery_rules
edit_discovery_rules
32
Act io n s
discovered_hosts/update_multiple_location
discovered_hosts/select_multiple_organizati
on
discovered_hosts/update_multiple_organizat
ion
discovered_hosts/select_multiple_location
discovered_hosts/refresh_facts
discovered_hosts/reboot
api/v2/discovered_hosts/refresh_facts
api/v2/discovered_hosts/reboot
discovered_hosts/edit
discovered_hosts/update
api/v2/discovered_hosts/update
discovered_hosts/auto_provision
discovered_hosts/auto_provision_all
api/v2/discovered_hosts/auto_provision
api/v2/discovered_hosts/auto_provision_all
discovery_rules/index
discovery_rules/show
discovery_rules/auto_complete_search
api/v2/discovery_rules/index
api/v2/discovery_rules/show
discovery_rules/destroy
api/v2/discovery_rules/destroy
discovery_rules/auto_provision
discovery_rules/auto_provision_all
api/v2/discovery_rules/auto_provision
api/v2/discovery_rules/auto_provision_all
discovery_rules/new
discovery_rules/create
api/v2/discovery_rules/create
discovery_rules/edit
discovery_rules/update
discovery_rules/enable
discovery_rules/disable
api/v2/discovery_rules/create
api/v2/discovery_rules/update
R eso u rce T yp e
Host
Host
Host
D iscoveryRule
D iscoveryRule
D iscoveryRule
D iscoveryRule
D iscoveryRule
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
view_domains
create_domains
edit_domains
destroy_domains
destroy_environments
edit_environments
view_environments
Act io n s
R eso u rce T yp e
domains/index
domains/show
domains/auto_complete_search
api/v1/domains/index
api/v1/domains/show
api/v2/domains/index
api/v2/domains/show
api/v2/parameters/index
api/v2/parameters/show
domains/new
domains/create
api/v1/domains/create
api/v2/domains/create
domains/edit
domains/update
api/v1/domains/update
api/v2/domains/update
api/v2/parameters/create
api/v2/parameters/update
api/v2/parameters/destroy
api/v2/parameters/reset
domains/destroy
api/v1/domains/destroy
api/v2/domains/destroy
environments/destroy
api/v1/environments/destroy
api/v2/environments/destroy
environments/edit
environments/update
api/v1/environments/update
api/v2/environments/update
environments/index
environments/show
environments/auto_complete_search
api/v1/environments/index
api/v1/environments/show
api/v2/environments/index
api/v2/environments/show
33
API G uide
Permissio n N ame
create_environments
import_environments
edit_external_usergrou
ps
destroy_external_user
groups
create_external_usergr
oups
view_external_usergro
ups
edit_external_variables
34
Act io n s
environments/new
environments/create
api/v1/environments/create
api/v2/environments/create
environments/import_environments
environments/obsolete_and_new
api/v1/environments/import_puppetclasses
api/v2/environments/import_puppetclasses
api/v1/smart_proxies/import_puppetclasses
api/v2/smart_proxies/import_puppetclasses
external_usergroups/edit
external_usergroups/update
external_usergroups/refresh
api/v2/external_usergroups/update
api/v2/external_usergroups/refresh
external_usergroups/destroy
api/v2/external_usergroups/destroy
external_usergroups/new
external_usergroups/create
api/v2/external_usergroups/new
api/v2/external_usergroups/create
external_usergroups/index
external_usergroups/show
api/v2/external_usergroups/index
api/v2/external_usergroups/show
lookup_keys/edit
lookup_keys/update
lookup_values/create
lookup_values/update
lookup_values/destroy
api/v1/lookup_keys/update
api/v2/smart_variables/update
api/v2/smart_class_parameters/update
api/v2/override_values/create
api/v2/override_values/update
api/v2/override_values/destroy
R eso u rce T yp e
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
destroy_external_varia
bles
create_external_variab
les
view_external_variable
s
view_facts
upload_facts
view_filters
Act io n s
R eso u rce T yp e
lookup_keys/destroy
lookup_values/destroy
api/v1/lookup_keys/destroy
api/v2/smart_variables/destroy
api/v2/smart_class_parameters/destroy
api/v2/override_values/create
api/v2/override_values/update
api/v2/override_values/destroy
lookup_keys/new
lookup_keys/create
lookup_values/create
api/v1/lookup_keys/create
api/v2/smart_variables/create
api/v2/smart_class_parameters/create
api/v2/override_values/create
lookup_keys/index
lookup_keys/show
lookup_keys/auto_complete_search
lookup_values/index
api/v1/lookup_keys/index
api/v1/lookup_keys/show
api/v2/smart_variables/index
api/v2/smart_variables/show
api/v2/smart_class_parameters/index
api/v2/smart_class_parameters/show
api/v2/override_values/index
api/v2/override_values/show
facts/index
facts/show
fact_values/index
fact_values/show
fact_values/auto_complete_search
api/v1/fact_values/index
api/v1/fact_values/show
api/v2/fact_values/index
api/v2/fact_values/show
api/v2/hosts/facts
filters/index
filters/auto_complete_search
api/v2/filters/index
api/v2/filters/show
35
API G uide
Permissio n N ame
destroy_filters
create_filters
edit_filters
edit_foreman_tasks
view_foreman_tasks
destroy_globals
edit_globals
view_globals
36
Act io n s
R eso u rce T yp e
filters/destroy
api/v2/filters/destroy
filters/new
filters/create
api/v2/filters/create
filters/edit
filters/update
permissions/index
api/v2/filters/update
api/v2/permissions/index
api/v2/permissions/show
api/v2/permissions/resource_types
foreman_tasks/tasks/resume
foreman_tasks/tasks/unlock
foreman_tasks/tasks/force_unlock
foreman_tasks/tasks/cancel_step
foreman_tasks/api/tasks/bulk_resume
foreman_tasks/tasks/auto_complete_search
foreman_tasks/tasks/sub_tasks
foreman_tasks/tasks/index
foreman_tasks/tasks/show
foreman_tasks/api/tasks/bulk_search
foreman_tasks/api/tasks/show
foreman_tasks/api/tasks/index
foreman_tasks/api/tasks/summary
common_parameters/destroy
api/v1/common_parameters/destroy
api/v2/common_parameters/destroy
common_parameters/edit
common_parameters/update
api/v1/common_parameters/update
api/v2/common_parameters/update
common_parameters/index
common_parameters/show
common_parameters/auto_complete_search
api/v1/common_parameters/index
api/v1/common_parameters/show
api/v2/common_parameters/index
api/v2/common_parameters/show
ForemanTasks::Task
ForemanTasks::Task
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
create_globals
edit_gpg_keys
view_gpg_keys
destroy_gpg_keys
create_gpg_keys
destroy_host_collectio
ns
view_host_collections
edit_host_collections
create_host_collection
s
edit_classes
edit_params
destroy_params
Act io n s
R eso u rce T yp e
common_parameters/new
common_parameters/create
api/v1/common_parameters/create
api/v2/common_parameters/create
katello/api/v2/gpg_keys/update
katello/api/v2/gpg_keys/content
katello/gpg_keys/all
katello/gpg_keys/index
katello/gpg_keys/auto_complete_search
katello/api/v2/gpg_keys/index
katello/api/v2/gpg_keys/show
katello/api/v2/gpg_keys/destroy
katello/api/v2/gpg_keys/create
katello/api/v2/host_collections/destroy
katello/api/v2/host_collections/index
katello/api/v2/host_collections/show
katello/dashboard/host_collections
katello/host_collections/auto_complete_sear
ch
katello/api/v2/host_collections/update
katello/api/v2/host_collections/add_systems
katello/api/v2/host_collections/remove_syste
ms
katello/api/v2/host_collections/create
katello/api/v2/host_collections/copy
Katello::GpgKey
Katello::GpgKey
Katello::GpgKey
Katello::GpgKey
Katello::HostCollection
Katello::HostCollection
Katello::HostCollection
Katello::HostCollection
host_editing/edit_classes
api/v2/host_classes/index
api/v2/host_classes/create
api/v2/host_classes/destroy
host_editing/edit_params
api/v2/parameters/update
host_editing/destroy_params
api/v2/parameters/destroy
api/v2/parameters/reset
37
API G uide
Permissio n N ame
create_params
destroy_hostgroups
create_hostgroups
view_hostgroups
38
Act io n s
host_editing/create_params
api/v2/parameters/create
hostgroups/destroy
api/v1/hostgroups/destroy
api/v2/hostgroups/destroy
hostgroups/new
hostgroups/create
hostgroups/clone
hostgroups/nest
hostgroups/process_hostgroup
hostgroups/architecture_selected
hostgroups/domain_selected
hostgroups/environment_selected
hostgroups/medium_selected
hostgroups/os_selected
hostgroups/use_image_selected
hostgroups/process_hostgroup
hostgroups/current_parameters
hostgroups/puppetclass_parameters
host/process_hostgroup
puppetclasses/parameters
api/v1/hostgroups/create
api/v1/hostgroups/clone
api/v2/hostgroups/create
api/v2/hostgroups/clone
hostgroups/index
hostgroups/show
hostgroups/auto_complete_search
api/v1/hostgroups/index
api/v1/hostgroups/show
api/v2/hostgroups/index
api/v2/hostgroups/show
R eso u rce T yp e
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
edit_hostgroups
Act io n s
R eso u rce T yp e
hostgroups/edit
hostgroups/update
hostgroups/architecture_selected
hostgroups/process_hostgroup
hostgroups/architecture_selected
hostgroups/domain_selected
hostgroups/environment_selected
hostgroups/medium_selected
hostgroups/os_selected
hostgroups/use_image_selected
hostgroups/process_hostgroup
hostgroups/current_parameters
hostgroups/puppetclass_parameters
host/process_hostgroup
puppetclasses/parameters
api/v1/hostgroups/update
api/v2/hostgroups/update
api/v2/parameters/create
api/v2/parameters/update
api/v2/parameters/destroy
api/v2/parameters/reset
api/v2/hostgroup_classes/index
api/v2/hostgroup_classes/create
api/v2/hostgroup_classes/destroy
39
API G uide
Permissio n N ame
view_hosts
console_hosts
destroy_hosts
40
Act io n s
hosts/index
hosts/show
hosts/errors
hosts/active
hosts/out_of_sync
hosts/disabled
hosts/pending
hosts/vm
hosts/externalNodes
hosts/pxe_config
hosts/storeconfig_klasses
hosts/auto_complete_search
hosts/bmc
hosts/runtime
hosts/resources
hosts/templates
hosts/overview
dashboard/OutOfSync
dashboard/errors
dashboard/active
unattended/template
unattended/provision
api/v1/hosts/index
api/v1/hosts/show
api/v1/hosts/status
api/v2/hosts/index
api/v2/hosts/show
api/v2/hosts/status
api/v2/interfaces/index
api/v2/interfaces/show
locations/mismatches
organizations/mismatches
hosts/console
hosts/destroy
hosts/multiple_actions
hosts/reset_multiple
hosts/multiple_destroy
hosts/submit_multiple_destroy
api/v1/hosts/destroy
api/v2/hosts/destroy
api/v2/interfaces/destroy
R eso u rce T yp e
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
edit_hosts
Act io n s
R eso u rce T yp e
hosts/edit
hosts/update
hosts/multiple_actions
hosts/reset_multiple
hosts/submit_multiple_enable
hosts/select_multiple_hostgroup
hosts/select_multiple_environment
hosts/submit_multiple_disable
hosts/multiple_parameters
hosts/multiple_disable
hosts/multiple_enable
hosts/update_multiple_environment
hosts/update_multiple_hostgroup
hosts/update_multiple_parameters
hosts/toggle_manage
hosts/select_multiple_organization
hosts/update_multiple_organization
hosts/disassociate
hosts/multiple_disassociate
hosts/update_multiple_disassociate
hosts/select_multiple_location
hosts/update_multiple_location
hosts/architecture_selected
hosts/compute_resource_selected
hosts/domain_selected
hosts/environment_selected
hosts/hostgroup_or_environment_selected
hosts/medium_selected
hosts/os_selected
hosts/use_image_selected
hosts/process_hostgroup
hosts/process_taxonomy
hosts/current_parameters
hosts/puppetclass_parameters
hosts/template_used
compute_resources/associate
compute_resources/[:cluster_selected,
:template_selected, :provider_selected]
compute_resources_vms/associate
puppetclasses/parameters
subnets/freeip
interfaces/new
api/v1/hosts/update
api/v2/hosts/update
api/v2/hosts/disassociate
api/v2/interfaces/create
api/v2/interfaces/update
api/v2/interfaces/destroy
api/v2/compute_resources/associate
41
API G uide
Permissio n N ame
create_hosts
power_hosts
puppetrun_hosts
ipmi_boot
build_hosts
42
Act io n s
hosts/new
hosts/create
hosts/clone
hosts/architecture_selected
hosts/compute_resource_selected
hosts/domain_selected
hosts/environment_selected
hosts/hostgroup_or_environment_selected
hosts/medium_selected
hosts/os_selected
hosts/use_image_selected
hosts/process_hostgroup
hosts/process_taxonomy
hosts/current_parameters
hosts/puppetclass_parameters
hosts/template_used
compute_resources/cluster_selected
compute_resources/template_selected
compute_resources/provider_selected
puppetclasses/parameters
subnets/freeip
interfaces/new
api/v1/hosts/create
api/v2/hosts/create
api/v2/interfaces/create
api/v2/tasks/index
hosts/power
api/v2/hosts/power
hosts/puppetrun
hosts/multiple_puppetrun
hosts/update_multiple_puppetrun
api/v2/hosts/puppetrun
hosts/ipmi_boot
api/v2/hosts/boot
hosts/setBuild
hosts/cancelBuild
hosts/multiple_build
hosts/submit_multiple_build
hosts/review_before_build
tasks/show
api/v2/tasks/index
R eso u rce T yp e
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
search_repository_ima
ge_search
edit_images
create_images
destroy_images
view_images
Act io n s
image_search/auto_complete_repository_na
me
image_search/auto_complete_image_tag
image_search/search_repository
D ocker/ImageSearch
images/edit
images/update
api/v1/images/update
api/v2/images/update
images/new
images/create
api/v1/images/create
api/v2/images/create
images/destroy
api/v1/images/destroy
api/v2/images/destroy
images/index
images/show
images/auto_complete_search
api/v1/images/index
api/v1/images/show
api/v2/images/index
api/v2/images/show
promote_or_remove_c
ontent_views_to_envir
onments
edit_lifecycle_environm
ents
katello/api/v2/environments/update
create_lifecycle_enviro
nments
katello/api/v2/environments/create
destroy_lifecycle_envir
onments
katello/api/v2/environments/destroy
view_lifecycle_environ
ments
R eso u rce T yp e
Katello::KTEnvironment
katello/api/v2/environments/index
katello/api/v2/environments/show
katello/api/v2/environments/paths
katello/api/v2/environments/repositories
katello/api/rhsm/candlepin_proxies/rhsm_ind
ex
katello/environments/auto_complete_search
Katello::KTEnvironment
Katello::KTEnvironment
Katello::KTEnvironment
Katello::KTEnvironment
43
API G uide
Permissio n N ame
assign_locations
edit_locations
create_locations
destroy_locations
view_locations
view_mail_notifications
view_media
44
Act io n s
locations/assign_all_hosts
locations/assign_hosts
locations/assign_selected_hosts
locations/edit
locations/update
locations/import_mismatches
locations/parent_taxonomy_selected
api/v1/locations/update
api/v2/locations/update
locations/new
locations/create
locations/clone_taxonomy
locations/step2
locations/nest
api/v1/locations/create
api/v2/locations/create
locations/destroy
api/v1/locations/destroy
api/v2/locations/destroy
locations/index
locations/show
locations/auto_complete_search
api/v1/locations/index
api/v1/locations/show
api/v2/locations/index
api/v2/locations/show
mail_notifications/index
mail_notifications/auto_complete_search
mail_notifications/show
api/v2/mail_notifications/index
api/v2/mail_notifications/show
media/index
media/show
media/auto_complete_search
api/v1/media/index
api/v1/media/show
api/v2/media/index
api/v2/media/show
R eso u rce T yp e
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
create_media
destroy_media
edit_media
edit_models
view_models
create_models
destroy_models
Act io n s
R eso u rce T yp e
media/new
media/create
api/v1/media/create
api/v2/media/create
media/destroy
api/v1/media/destroy
api/v2/media/destroy
media/edit
media/update
api/v1/media/update
api/v2/media/update
models/edit
models/update
api/v1/models/update
api/v2/models/update
models/index
models/show
models/auto_complete_search
api/v1/models/index
api/v1/models/show
api/v2/models/index
api/v2/models/show
models/new
models/create
api/v1/models/create
api/v2/models/create
models/destroy
api/v1/models/destroy
api/v2/models/destroy
45
API G uide
Permissio n N ame
view_operatingsystems
destroy_operatingsyst
ems
create_operatingsyste
ms
edit_operatingsystems
create_organizations
46
Act io n s
operatingsystems/index
operatingsystems/show
operatingsystems/bootfiles
operatingsystems/auto_complete_search
api/v1/operatingsystems/index
api/v1/operatingsystems/show
api/v1/operatingsystems/bootfiles
api/v2/operatingsystems/index
api/v2/operatingsystems/show
api/v2/operatingsystems/bootfiles
api/v2/os_default_templates/index
api/v2/os_default_templates/show
[" operatingsystems/available_kickstart_repo"
]
operatingsystems/destroy
api/v1/operatingsystems/destroy
api/v2/operatingsystems/destroy
api/v2/os_default_templates/create
operatingsystems/new
operatingsystems/create
api/v1/operatingsystems/create
api/v2/operatingsystems/create
api/v2/os_default_templates/create
operatingsystems/edit
operatingsystems/update
api/v1/operatingsystems/update
api/v2/operatingsystems/update
api/v2/parameters/create
api/v2/parameters/update
api/v2/parameters/destroy
api/v2/parameters/reset
api/v2/os_default_templates/create
api/v2/os_default_templates/update
api/v2/os_default_templates/destroy
organizations/new
organizations/create
organizations/clone_taxonomy
organizations/step2
organizations/nest
api/v1/organizations/create
api/v2/organizations/create
[" katello/api/v2/organizations/create" ]
R eso u rce T yp e
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
view_organizations
edit_organizations
destroy_organizations
assign_organizations
view_ptables
edit_ptables
destroy_ptables
Act io n s
R eso u rce T yp e
organizations/index
organizations/show
organizations/auto_complete_search
api/v1/organizations/index
api/v1/organizations/show
api/v2/organizations/index
api/v2/organizations/show
[" katello/api/v2/organizations/index" ,
" katello/api/v2/organizations/show" ,
" katello/api/v2/organizations/redhat_provide
r" ,
" katello/api/v2/organizations/download_deb
ug_certificate" , " katello/api/v2/tasks/index" ]
organizations/edit
organizations/update
organizations/import_mismatches
organizations/parent_taxonomy_selected
api/v1/organizations/update
api/v2/organizations/update
[" katello/api/v2/organizations/update" ,
" katello/api/v2/organizations/autoattach_su
bscriptions" ]
organizations/destroy
api/v1/organizations/destroy
api/v2/organizations/destroy
[" katello/api/v2/organizations/destroy" ]
organizations/assign_all_hosts
organizations/assign_hosts
organizations/assign_selected_hosts
ptables/index
ptables/show
ptables/auto_complete_search
api/v1/ptables/index
api/v1/ptables/show
api/v2/ptables/index
api/v2/ptables/show
ptables/edit
ptables/update
api/v1/ptables/update
api/v2/ptables/update
ptables/destroy
api/v1/ptables/destroy
api/v2/ptables/destroy
47
API G uide
Permissio n N ame
create_ptables
view_plugins
destroy_products
edit_products
sync_products
48
Act io n s
R eso u rce T yp e
ptables/new
ptables/create
api/v1/ptables/create
api/v2/ptables/create
plugins/index
api/v2/plugins/index
katello/api/v2/products/destroy
katello/api/v2/repositories/destroy
katello/api/v2/products_bulk_actions/destroy
_products
katello/api/v2/repositories_bulk_actions/dest
roy_repositories
katello/api/v2/products/update
katello/api/v2/repositories/update
katello/api/v2/repositories/remove_content
katello/api/v2/repositories/import_uploads
katello/api/v2/repositories/upload_content
katello/api/v2/products_bulk_actions/update
_sync_plans
katello/api/v2/content_uploads/create
katello/api/v2/content_uploads/update
katello/api/v2/content_uploads/destroy
katello/api/v2/organizations/repo_discover
katello/api/v2/organizations/cancel_repo_dis
cover
katello/api/v2/products/sync
katello/api/v2/repositories/sync
katello/api/v2/products_bulk_actions/sync_p
roducts
katello/api/v2/repositories_bulk_actions/sync
_repositories
katello/api/v2/sync/index
katello/sync_management/index
katello/sync_management/sync_status
katello/sync_management/product_status
katello/sync_management/sync
katello/sync_management/destroy
katello/dashboard/sync
Katello::Product
Katello::Product
Katello::Product
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
view_products
create_products
my_account
user_logout
Act io n s
katello/products/auto_complete
katello/products/auto_complete_search
katello/api/v2/products/index
katello/api/v2/products/show
katello/api/v2/repositories/index
katello/api/v2/repositories/show
katello/api/v2/packages/index
katello/api/v2/packages/show
katello/api/v2/distributions/index
katello/api/v2/distributions/show
katello/api/v2/package_groups/index
katello/api/v2/package_groups/show
katello/api/v2/errata/index
katello/api/v2/errata/show
katello/api/v2/puppet_modules/index
katello/api/v2/puppet_modules/show
katello/errata/short_details
katello/errata/auto_complete
katello/packages/details
katello/packages/auto_complete
katello/puppet_modules/show
katello/repositories/auto_complete_library
katello/content_search/index
katello/content_search/products
katello/content_search/repos
katello/content_search/packages
katello/content_search/errata
katello/content_search/puppet_modules
katello/content_search/packages_items
katello/content_search/errata_items
katello/content_search/puppet_modules_item
s
katello/content_search/repo_packages
katello/content_search/repo_errata
katello/content_search/repo_puppet_module
s
katello/content_search/repo_compare_errata
katello/content_search/repo_compare_packa
ges
katello/content_search/repo_compare_puppe
t_modules
katello/api/v2/products/create
katello/api/v2/repositories/create
R eso u rce T yp e
Katello::Product
Katello::Product
users/edit
[" katello/api/v2/tasks/show" ]
users/logout
49
API G uide
Permissio n N ame
create_puppetclasses
import_puppetclasses
destroy_puppetclasses
edit_puppetclasses
view_puppetclasses
create_realms
50
Act io n s
puppetclasses/new
puppetclasses/create
api/v1/puppetclasses/create
api/v2/puppetclasses/create
puppetclasses/import_environments
puppetclasses/obsolete_and_new
api/v1/environments/import_puppetclasses
api/v2/environments/import_puppetclasses
api/v1/smart_proxies/import_puppetclasses
api/v2/smart_proxies/import_puppetclasses
puppetclasses/destroy
api/v1/puppetclasses/destroy
api/v2/puppetclasses/destroy
puppetclasses/edit
puppetclasses/update
puppetclasses/override
api/v1/puppetclasses/update
api/v2/puppetclasses/update
api/v1/lookup_keys/create
api/v1/lookup_keys/update
api/v1/lookup_keys/destroy
api/v2/smart_variables/create
api/v2/smart_variables/update
api/v2/smart_variables/destroy
api/v2/smart_class_parameters/create
api/v2/smart_class_parameters/update
api/v2/smart_class_parameters/destroy
puppetclasses/index
puppetclasses/show
puppetclasses/auto_complete_search
api/v1/puppetclasses/index
api/v1/puppetclasses/show
api/v2/puppetclasses/index
api/v2/puppetclasses/show
api/v1/lookup_keys/index
api/v1/lookup_keys/show
api/v2/smart_variables/index
api/v2/smart_variables/show
api/v2/smart_class_parameters/index
api/v2/smart_class_parameters/show
realms/new
realms/create
api/v2/realms/create
R eso u rce T yp e
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
edit_realms
destroy_realms
view_realms
rh_telemetry_configura
tions
view_search
view_log_viewer
attachments
rh_telemetry_view
rh_telemetry_api
logs
configuration
app_root
view_cases
destroy_registries
Act io n s
R eso u rce T yp e
realms/edit
realms/update
api/v2/realms/update
realms/destroy
api/v2/realms/destroy
realms/index
realms/show
realms/auto_complete_search
api/v2/realms/index
api/v2/realms/show
redhat_access/telemetry_configurations/sho
w
redhat_access/telemetry_configurations/upd
ate
redhat_access/search/index
redhat_access/logviewer/index
redhat_access/attachments/index
redhat_access/attachments/create
redhat_access/analytics_dashboard/index
redhat_access/api/telemetry_api/proxy
redhat_access/api/telemetry_api/connection_
status
redhat_access/logs/index
redhat_access/configuration/index
redhat_access/redhat_access/index
redhat_access/cases/index
redhat_access/cases/create
registries/destroy
api/v2/registries/destroy
D ockerRegistry
51
API G uide
Permissio n N ame
create_registries
view_registries
destroy_reports
upload_reports
view_reports
edit_roles
view_roles
create_roles
destroy_roles
access_settings
52
Act io n s
registries/new
registries/create
registries/update
registries/edit
api/v2/registries/create
api/v2/registries/update
registries/index
registries/show
api/v2/registries/index
api/v2/registries/show
reports/destroy
api/v1/reports/destroy
api/v2/reports/destroy
api/v2/reports/create
reports/index
reports/show
reports/auto_complete_search
api/v1/reports/index
api/v1/reports/show
api/v1/reports/last
api/v2/reports/index
api/v2/reports/show
api/v2/reports/last
roles/edit
roles/update
api/v2/roles/update
roles/index
roles/auto_complete_search
api/v2/roles/index
api/v2/roles/show
roles/new
roles/create
roles/clone
api/v2/roles/create
roles/destroy
api/v2/roles/destroy
home/settings
R eso u rce T yp e
D ockerRegistry
D ockerRegistry
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
view_smart_proxies
create_smart_proxies
destroy_smart_proxies
edit_smart_proxies
destroy_smart_proxies
_autosign
view_smart_proxies_a
utosign
create_smart_proxies_
autosign
Act io n s
smart_proxies/index
smart_proxies/ping
smart_proxies/auto_complete_search
api/v1/smart_proxies/index
api/v1/smart_proxies/show
api/v2/smart_proxies/index
api/v2/smart_proxies/show
smart_proxies/new
smart_proxies/create
api/v1/smart_proxies/create
api/v2/smart_proxies/create
smart_proxies/destroy
api/v1/smart_proxies/destroy
api/v2/smart_proxies/destroy
smart_proxies/edit
smart_proxies/update
smart_proxies/refresh
api/v1/smart_proxies/update
api/v1/smart_proxies/refresh
api/v2/smart_proxies/update
api/v2/smart_proxies/refresh
autosign/destroy
autosign/index
autosign/show
api/v1/autosign/index
api/v2/autosign/index
autosign/new
autosign/create
view_smart_proxies_p
uppetca
puppetca/index
edit_smart_proxies_pu
ppetca
puppetca/update
destroy_smart_proxies
_puppetca
puppetca/destroy
view_statistics
R eso u rce T yp e
statistics/index
api/v1/statistics/index
api/v2/statistics/index
53
API G uide
Permissio n N ame
edit_subnets
view_subnets
create_subnets
destroy_subnets
import_subnets
view_subscriptions
attach_subscriptions
unattach_subscription
s
54
Act io n s
R eso u rce T yp e
subnets/edit
subnets/update
api/v1/subnets/update
api/v2/subnets/update
subnets/index
subnets/show
subnets/auto_complete_search
api/v1/subnets/index
api/v1/subnets/show
api/v2/subnets/index
api/v2/subnets/show
subnets/new
subnets/create
api/v1/subnets/create
api/v2/subnets/create
subnets/destroy
api/v1/subnets/destroy
api/v2/subnets/destroy
subnets/import
subnets/create_multiple
katello/api/v2/subscriptions/index
katello/api/v2/subscriptions/show
katello/api/v2/subscriptions/available
katello/api/v2/subscriptions/manifest_history
katello/dashboard/subscriptions
katello/dashboard/subscriptions_totals
katello/api/v2/repository_sets/index
katello/api/v2/repository_sets/show
katello/api/v2/repository_sets/available_repo
sitories
katello/api/v2/subscriptions/create
katello/api/v2/subscriptions/destroy
Organization
Organization
Organization
⁠Appendix A. API Permissions Mat rix
Permissio n N ame
import_manifest
delete_manifest
destroy_sync_plans
view_sync_plans
create_sync_plans
edit_sync_plans
view_tasks
view_trends
update_trends
destroy_trends
create_trends
edit_trends
my_organizations
Act io n s
katello/products/available_repositories
katello/products/toggle_repository
katello/providers/redhat_provider
katello/providers/redhat_provider_tab
katello/api/v2/subscriptions/upload
katello/api/v2/subscriptions/refresh_manifest
katello/api/v2/repository_sets/enable
katello/api/v2/repository_sets/disable
katello/api/v2/subscriptions/delete_manifest
katello/api/v2/sync_plans/destroy
katello/sync_plans/all
katello/sync_plans/index
katello/sync_plans/auto_complete_search
katello/api/v2/sync_plans/index
katello/api/v2/sync_plans/show
katello/api/v2/sync_plans/add_products
katello/api/v2/sync_plans/remove_products
katello/api/v2/sync_plans/available_product
s
katello/api/v2/sync_plans/create
katello/api/v2/sync_plans/update
R eso u rce T yp e
Organization
Organization
Katello::SyncPlan
Katello::SyncPlan
Katello::SyncPlan
Katello::SyncPlan
trends/show
trends/index
trends/show
trends/count
trends/destroy
trends/new
trends/create
trends/edit
trends/update
katello/api/rhsm/candlepin_proxies/list_owne
rs
55
API G uide
Permissio n N ame
view_usergroups
edit_usergroups
destroy_usergroups
create_usergroups
view_users
create_users
edit_users
destroy_users
56
Act io n s
usergroups/index
usergroups/show
usergroups/auto_complete_search
api/v1/usergroups/index
api/v1/usergroups/show
api/v2/usergroups/index
api/v2/usergroups/show
usergroups/edit
usergroups/update
api/v1/usergroups/update
api/v2/usergroups/update
usergroups/destroy
api/v1/usergroups/destroy
api/v2/usergroups/destroy
usergroups/new
usergroups/create
api/v1/usergroups/create
api/v2/usergroups/create
users/index
users/show
users/auto_complete_search
api/v1/users/index
api/v1/users/show
api/v2/users/index
api/v2/users/show
users/new
users/create
users/auth_source_selected
api/v1/users/create
api/v2/users/create
users/edit
users/update
users/auth_source_selected
api/v1/users/update
api/v2/users/update
users/destroy
api/v1/users/destroy
api/v2/users/destroy
R eso u rce T yp e
⁠Appendix B. Revision Hist ory
Appendix B. Revision History
R evisio n 2- 8
Building for async 2.
Mo n N o v 16 2015
H ayley H u d g eo n s
R evisio n 2- 6
Wed Ju l 22 2015
BZ 1241992: Add note about support only for v2 of API.
D avid O ' B rien
R evisio n 2- 5
T h u Ju l 16 2015
Fixed URL to API reference.
Final technical review before GA.
D avid O ' B rien
R evisio n 2- 4
Added API reference URL.
Wed Ju l 15 2015
Jo So mers
R evisio n 2- 3
6.1 Public Beta Release.
Add edition number.
Su n Ju n 14 2015
D avid O ' B rien
R evisio n 2- 2
Wed May 6 2015
Update product release version.
D avid O ' B rien
R evisio n 2- 1
Updated the brand.
Removed Preface.
Meg an Lewis
Wed Ap r 8 2015
R evisio n 2- 0
T h u N o v 20 2014
Remove chapters that describe each API.
D avid O ' B rien
R evisio n 1- 0
T u e Sep 9 2014
Red Hat Satellite 6.0 GA Release
At h en e C h an
R evisio n 0- 9 .1
T u e Ju l 1 2014
Edited content specification details.
At h en e C h an
R evisio n 0- 9
Mo n Ju n 30 2014
Preparing book for Beta release.
At h en e C h an
R evisio n 0- 8.4 03
Rebuild with Publican 4.0.0
Mo n N o v 11 2013
R ü d ig er Lan d man n
R evisio n 0- 08
Fixing minor errors.
Mo n N o v 11 2013
D an Macp h erso n
R evisio n 0- 07
Preparation for MD P2.
Mo n 11 N o v 2013
D an Macp h erso n
R evisio n 0- 06
Wed 09 O ct 2013
Finalizing QE review implementation.
D an Macp h erso n
R evisio n 0- 05
D an Macp h erso n
T h u 26 Sep 2013
57
API G uide
Minor QE review fixes.
R evisio n 0- 04
Minor QE review fixes.
Wed 25 Sep 2013
D an Macp h erso n
R evisio n 0- 03
Wed 25 Sep 2013
Implementation of QE review feedback.
D an Macp h erso n
R evisio n 0- 02
Wed 14 Au g 2013
Build of book for technical review.
D an Macp h erso n
R evisio n 0- 01
T u e 28 May 2013
Initial book creation of the Red Hat Satellite API Guide.
At h en e C h an
58