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
© Copyright 2026 Paperzz