API Guide

Red Hat Satellite 6.1

Reference documentation for using Satellite's Representational State Transfer (REST) API

Edition 2

Red Hat Satellite Documentation Team

Abstract

This guide explains the concepts of and some basic examples of the Red Hat Satellite 6.1 Representational State Transfer (REST) API.

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. The Red Hat Satellite 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 https://satellite6.example.com/apidoc/v2.html 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 https://hostname/apidoc/v2.html on your Satellite 6 server.

1.2. Representational State Transfer

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 standard HTTP methods, such as GET, POST, PUT, and DELETE. 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.

Chapter 2. Authentication

2.1. Using SSL Authentication

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.

Procedure 2.1. Obtaining a Certificate

This method uses SSH to copy the server's self-signed certificate.
  1. Use ssh to connect to your Satellite server as the root user:
    # ssh root@satellite.example.com
  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/html/pub/katello-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 curl 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 curl 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. HTTP Authentication

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.

Table 2.1. Encoding Credentials for Access to an API

Item Value
user name admin
password changeme
unencoded credentials admin:changeme
base64 encoded credentials YWRtaW46Y2hhbmdlbWU=
An API user provides the base64 encoded credentials as shown:

Example 2.1. Access to a REST API with Appropriate Credentials

HEAD [base] HTTP/1.1
Host: [host]
Authorization: Basic YWRtaW46MTIzNDU2

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.

Chapter 3. Common REST API Functions

3.1. Using GET to Query Resources

This section describes how to use GET requests to query the Satellite server for various types of information. GET requests do not make any changes to Satellite resources, they only return information about resources.

3.1.1. Listing All Resources

Obtain a list of resources with a GET 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. Determining the State of a Resource

Determine the state of a resource with a GET 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 to Create Resources

This section describes how to use POST requests to create Satellite resources. Special permissions might be required for some POST requests; see Appendix A, API Permissions Matrix for information about API permissions.

3.2.1. Creating a Resource

Create a new resource with a POST request to the collection URI containing a representation of the new resource.
A POST 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

body

3.3. Using PUT to Modify Resources

This section describes how to use PUT requests to modify Satellite resources. Special permissions might be required for some PUT requests; see Appendix A, API Permissions Matrix for information about API permissions.

3.3.1. Updating a Resource

Modify resource properties with a PUT request containing an updated description from a previous GET request for the resource URI. Details on modifiable properties are found in the individual resource type documentation.
A PUT 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 DELETE to Delete Resources

This section describes how to use DELETE requests to delete Satellite resources. Special permissions might be required for some DELETE requests; see Appendix A, API Permissions Matrix for information about API permissions.

3.4.1. Deleting a Resource

Delete a resource with a DELETE request sent to its URI.
Include an Accept HTTP header to define the MIME type for the response format.
DELETE /api/collection/resource_id HTTP/1.1
Accept: MIME type
Some cases require optional body content in the DELETE request to specify additional properties. A DELETE 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 DELETE request contains no body content, omit the Content-Type header.

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. Creating Objects 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 = ["Development","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

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()

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 Python

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. Creating Objects Using Python

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_HEADERS = {'content-type': 'application/json'}
# Default credentials to login to Satellite 6
USERNAME = "admin"
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 = ["Development", "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_HEADERS)

    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

    # 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 Python

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.py 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)

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 "Displaying all info for host %s ..." % host
    display_all_results(SAT_API + 'hosts/' + host)

    print "Displaying all facts for host %s ..." % host
    display_all_results(SAT_API + 'hosts/%s/facts' % host)

    host_pattern = 'example'
    print "Displaying basic info for hosts matching pattern '%s'..." % host_pattern
    display_info_for_hosts(SAT_API + 'hosts?search=' + host_pattern)

    environment = 'production'
    print "Displaying basic info for hosts in environment %s..." % environment
    display_info_for_hosts(SAT_API + 'hosts?search=environment=' + environment)

    model = 'RHEV Hypervisor'
    print "Displaying basic info for hosts with model name %s..." % model
    display_info_for_hosts(SAT_API + 'hosts?search=model="' + model + '"')

if __name__ == "__main__":
    main()
You can then run ./sat6api.py from the command line to display the results.

4.3. API Examples Using Curl

This section describes how to use curl 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 curl 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 python -mjson.tool command to format the output.

Note

Be aware that if you use the -s (silent) option with curl that you will not see a progress meter or any error messages.
If you use the -k (insecure) option, you need to use HTTPS 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.
Retrieving a List of Resources

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
    },
     "results" => [
      .
      .
      .
Running a Generic Host Query

The following query returns information for the host satellite6.example.com:

$  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,
...
Searching for Facts for a Specific Host

The following query returns all facts for the host satellite6.example.com:

$ 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",
            ...
}
Searching all Hosts for Matching Patterns

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",
            ...
        }
    ],
    "search": "example",
}
Searching for all Hosts in a Specific Environment

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",
}
Searching for all Hosts with a Specific Fact Value

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. Creating 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.

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-10-29T13: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,
        "order": null
    },
    "subtotal": 3,
    "total": 3
}
You can also use hammer 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. Uploading Content to the Satellite Server

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 curl 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. Delete the upload request.
Creating the Upload Request

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-89d0-924f8f4491d2","_href":"/pulp/api/v2/content/uploads/0be156b1-f373-4cad-89d0-924f8f4491d2/"}
Make a note of the upload_id value; you need this value when you upload your content to the Satellite server.
Uploading Your Content

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/python-scripttest-1.1.1-1.fc21.noarch.rpm" --data-urlencode offset=0 https://satellite6.example.com/katello/api/repositories/3/content_uploads/0be156b1-f373-4cad-89d0-924f8f4491d2
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 split), and increment the offset in bytes.
Importing the Uploaded Content

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
Deleting the Upload Request

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 DELETE -d "{}" -u admin:changeme -k https://satellite6.example.com/katello/api/repositories/3/content_uploads/0be156b1-f373-4cad-89d0-924f8f4491d2
4.3.2.1.1. Complete Example of Uploading Content
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. Download 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.
    
    $ 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://ibm-vm01.example.com/katello/api/repositories/2/content_uploads
    
    It responded with upload id:
    {"upload_id":"9585528f-07ad-4bb1-9c80-ccece249b2b7","_href":"/pulp/api/v2/content/uploads/9585528f-07ad-4bb1-9c80-ccece249b2b7/"}
  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" --data-urlencode offset=0 https://ibm-vm01.example.com/katello/api/repositories/2/content_uploads/9585528f-07ad-4bb1-9c80-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" --data-urlencode offset=50000 https://ibm-vm01.example.com/katello/api/repositories/2/content_uploads/9585528f-07ad-4bb1-9c80-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-9c80-ccece249b2b7\"]}" https://ibm-vm01.example.com/katello/api/repositories/2/import_uploads
  5. Delete the upload.
    $ curl -H "Accept:application/json,version=2" -H "Content-Type:application/json" -X DELETE -d "{}" -u admin:changeme -k https://ibm-vm01.example.com/katello/api/repositories/2/content_uploads/9585528f-07ad-4bb1-9c80-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

$ cmp  /var/lib/pulp/content/puppet_module/theforeman-foreman-5.0.1.tar.gz theforeman-foreman-5.0.1.tar.gz
$ echo $?
0

4.4. Locating and Using Other Search Terms

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 HostsAll Hosts and click inside the Search text box to display a list of search terms. One of the search terms for operating systems is os_description, 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\"",
}

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.

Table A.1. API Permissions Matrix

Permission NameActionsResource Type
edit_activation_keys
  • katello/api/v2/activation_keys/update
  • katello/api/v2/activation_keys/content_override
  • katello/api/v2/activation_keys/add_subscriptions
  • katello/api/v2/activation_keys/remove_subscriptions
Katello::ActivationKey
destroy_activation_keys
  • katello/api/v2/activation_keys/destroy
Katello::ActivationKey
create_activation_keys
  • katello/api/v2/activation_keys/create
  • katello/api/v2/activation_keys/copy
Katello::ActivationKey
view_activation_keys
  • katello/activation_keys/all
  • katello/activation_keys/index
  • katello/activation_keys/auto_complete_search
  • 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_releases
  • katello/api/v2/activation_keys/product_content
Katello::ActivationKey
logout
  • users/logout
 
edit_architectures
  • architectures/edit
  • architectures/update
  • api/v1/architectures/update
  • api/v2/architectures/update
 
create_architectures
  • architectures/new
  • architectures/create
  • api/v1/architectures/create
  • api/v2/architectures/create
 
destroy_architectures
  • architectures/destroy
  • api/v1/architectures/destroy
  • api/v2/architectures/destroy
 
view_architectures
  • architectures/index
  • architectures/show
  • architectures/auto_complete_search
  • api/v1/architectures/index
  • api/v1/architectures/show
  • api/v2/architectures/index
  • api/v2/architectures/show
 
view_audit_logs
  • audits/index
  • audits/show
  • audits/auto_complete_search
  • api/v1/audits/index
  • api/v1/audits/show
  • api/v2/audits/index
  • api/v2/audits/show
 
edit_authenticators
  • auth_source_ldaps/edit
  • auth_source_ldaps/update
  • api/v1/auth_source_ldaps/update
  • api/v2/auth_source_ldaps/update
 
create_authenticators
  • auth_source_ldaps/new
  • auth_source_ldaps/create
  • api/v1/auth_source_ldaps/create
  • api/v2/auth_source_ldaps/create
 
view_authenticators
  • 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
 
destroy_authenticators
  • auth_source_ldaps/destroy
  • api/v1/auth_source_ldaps/destroy
  • api/v2/auth_source_ldaps/destroy
 
destroy_bookmarks
  • bookmarks/destroy
  • api/v1/bookmarks/destroy
  • api/v2/bookmarks/destroy
 
edit_bookmarks
  • bookmarks/edit
  • bookmarks/update
  • api/v1/bookmarks/edit
  • api/v1/bookmarks/update
  • api/v2/bookmarks/edit
  • api/v2/bookmarks/update
 
view_bookmarks
  • bookmarks/index
  • bookmarks/show
  • api/v1/bookmarks/index
  • api/v1/bookmarks/show
  • api/v2/bookmarks/index
  • api/v2/bookmarks/show
 
create_bookmarks
  • bookmarks/new
  • bookmarks/create
  • api/v1/bookmarks/new
  • api/v1/bookmarks/create
  • api/v2/bookmarks/new
  • api/v2/bookmarks/create
 
download_bootdisk
  • 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
 
manage_capsule_content
  • katello/api/v2/capsule_content/lifecycle_environments
  • katello/api/v2/capsule_content/available_lifecycle_environments
  • katello/api/v2/capsule_content/add_lifecycle_environment
  • katello/api/v2/capsule_content/remove_lifecycle_environment
  • katello/api/v2/capsule_content/sync
SmartProxy
edit_compute_profiles
  • compute_profiles/edit
  • compute_profiles/update
  • api/v2/compute_profiles/update
 
destroy_compute_profiles
  • compute_profiles/destroy
  • api/v2/compute_profiles/destroy
 
view_compute_profiles
  • compute_profiles/index
  • compute_profiles/show
  • compute_profiles/auto_complete_search
  • api/v2/compute_profiles/index
  • api/v2/compute_profiles/show
 
create_compute_profiles
  • compute_profiles/new
  • compute_profiles/create
  • api/v2/compute_profiles/create
 
create_compute_resources
  • compute_resources/new
  • compute_resources/create
  • compute_resources/test_connection
  • api/v1/compute_resources/create
  • api/v2/compute_resources/create
 
destroy_compute_resources
  • compute_resources/destroy
  • api/v1/compute_resources/destroy
  • api/v2/compute_resources/destroy
 
view_compute_resources
  • 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_networks
  • api/v2/compute_resources/available_resource_pools
  • api/v2/compute_resources/available_storage_domains
 
edit_compute_resources
  • 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_resources_vms
  • compute_resources_vms/console
 
destroy_compute_resources_vms
  • compute_resources_vms/destroy
 
create_compute_resources_vms
  • compute_resources_vms/new
  • compute_resources_vms/create
 
view_compute_resources_vms
  • compute_resources_vms/index
  • compute_resources_vms/show
 
power_compute_resources_vms
  • compute_resources_vms/power
  • compute_resources_vms/pause
 
edit_compute_resources_vms
  • compute_resources_vms/edit
  • compute_resources_vms/update
 
create_config_groups
  • config_groups/new
  • config_groups/create
  • api/v2/config_groups/create
 
destroy_config_groups
  • config_groups/destroy
  • api/v2/config_groups/destroy
 
edit_config_groups
  • config_groups/edit
  • config_groups/update
  • api/v2/config_groups/update
 
view_config_groups
  • config_groups/index
  • config_groups/auto_complete_search
  • api/v2/config_groups/index
  • api/v2/config_groups/show
 
deploy_templates
  • config_templates/build_pxe_default
  • api/v1/config_templates/build_pxe_default
  • api/v2/config_templates/build_pxe_default
 
lock_templates
  • config_templates/lock
  • config_templates/unlock
  • api/v2/config_templates/lock
  • api/v2/config_templates/unlock
 
edit_templates
  • config_templates/edit
  • config_templates/update
  • api/v1/config_templates/update
  • api/v2/config_templates/update
  • api/v2/template_combinations/update
 
view_templates
  • 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
 
destroy_templates
  • config_templates/destroy
  • api/v1/config_templates/destroy
  • api/v2/config_templates/destroy
  • api/v2/template_combinations/destroy
 
create_templates
  • config_templates/new
  • config_templates/create
  • config_templates/clone
  • api/v1/config_templates/create
  • api/v2/config_templates/create
  • api/v2/template_combinations/create
 
commit_containers
  • containers/commit
Container
destroy_containers
  • containers/destroy
  • api/v2/containers/destroy
Container
power_compute_resources_vms
  • containers/power
  • api/v2/containers/create
  • api/v2/containers/power
ComputeResource
view_containers
  • containers/index
  • containers/show
  • api/v2/containers/index
  • api/v2/containers/show
  • api/v2/containers/logs
Container
create_containers
  • containers/steps/show
  • containers/steps/update
  • containers/new
  • api/v2/containers/create
  • api/v2/containers/power
Container
destroy_content_hosts
  • katello/api/v2/systems/destroy
  • katello/api/v2/systems_bulk_actions/destroy_systems
Katello::System
view_content_hosts
  • 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_collections
  • katello/api/v2/systems/events
  • katello/api/v2/system_errata/show
  • katello/api/v2/systems_bulk_actions/applicable_errata
  • katello/api/v2/host_collections/systems
  • katello/dashboard/errata
Katello::System
edit_content_hosts
  • 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_content
  • katello/api/v2/systems_bulk_actions/update_content
  • katello/api/v2/systems_bulk_actions/remove_content
  • katello/api/v2/systems_bulk_actions/environment_content_view
  • katello/api/v2/systems_bulk_actions/bulk_add_host_collections
  • katello/api/v2/systems_bulk_actions/bulk_remove_host_collections
  • katello/api/rhsm/candlepin_proxies/upload_package_profile
  • katello/api/rhsm/candlepin_proxies/regenerate_identity_certificates
  • katello/api/rhsm/candlepin_proxies/hypervisors_update
Katello::System
create_content_hosts
  • katello/api/v2/systems/create
  • katello/api/rhsm/candlepin_proxies/consumer_create
  • katello/api/rhsm/candlepin_proxies/consumer_show
Katello::System
publish_content_views
  • katello/api/v2/content_views/publish
  • katello/api/v2/content_view_versions/incremental_update
Katello::ContentView
promote_or_remove_content_views
  • katello/api/v2/content_view_versions/promote
  • katello/api/v2/content_views/remove_from_environment
  • katello/api/v2/content_views/remove
Katello::ContentView
destroy_content_views
  • katello/api/v2/content_views/destroy
  • katello/api/v2/content_views/remove
  • katello/api/v2/content_view_versions/destroy
Katello::ContentView
view_content_views
  • katello/api/v2/content_views/index
  • katello/api/v2/content_views/show
  • katello/api/v2/content_views/history
  • katello/api/v2/content_views/available_puppet_modules
  • katello/api/v2/content_views/available_puppet_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_items
  • katello/content_search/view_packages
  • katello/content_search/view_puppet_modules
  • katello/content_search/repo_packages
  • katello/content_search/repo_errata
  • katello/content_search/repo_puppet_modules
  • katello/content_search/repo_compare_errata
  • katello/content_search/repo_compare_packages
  • katello/content_search/repo_compare_puppet_modules
  • katello/content_search/view_compare_errata
  • katello/content_search/view_compare_packages
  • katello/content_search/view_compare_puppet_modules
  • katello/content_search/views
  • katello/dashboard/content_views
  • katello/dashboard/promotions
Katello::ContentView
create_content_views
  • katello/api/v2/content_views/create
  • katello/api/v2/content_views/copy
Katello::ContentView
edit_content_views
  • 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/update
  • katello/api/v2/content_view_filter_rules/destroy
  • 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
access_dashboard
  • dashboard/index
  • api/v1/dashboard/index
  • api/v2/dashboard/index
  • ["katello/dashboard/index", "katello/dashboard/notices"]
 
destroy_discovered_hosts
  • discovered_hosts/destroy
  • discovered_hosts/submit_multiple_destroy
  • discovered_hosts/multiple_destroy
  • api/v2/discovered_hosts/destroy
Host
submit_discovered_hosts
  • api/v2/discovered_hosts/facts
  • api/v2/discovered_hosts/create
Host
view_discovered_hosts
  • discovered_hosts/index
  • discovered_hosts/show
  • discovered_hosts/auto_complete_search
  • api/v2/discovered_hosts/index
  • api/v2/discovered_hosts/show
Host
edit_discovered_hosts
  • discovered_hosts/update_multiple_location
  • discovered_hosts/select_multiple_organization
  • discovered_hosts/update_multiple_organization
  • discovered_hosts/select_multiple_location
  • discovered_hosts/refresh_facts
  • discovered_hosts/reboot
  • api/v2/discovered_hosts/refresh_facts
  • api/v2/discovered_hosts/reboot
Host
provision_discovered_hosts
  • discovered_hosts/edit
  • discovered_hosts/update
  • api/v2/discovered_hosts/update
Host
auto_provision_discovered_hosts
  • discovered_hosts/auto_provision
  • discovered_hosts/auto_provision_all
  • api/v2/discovered_hosts/auto_provision
  • api/v2/discovered_hosts/auto_provision_all
Host
view_discovery_rules
  • discovery_rules/index
  • discovery_rules/show
  • discovery_rules/auto_complete_search
  • api/v2/discovery_rules/index
  • api/v2/discovery_rules/show
DiscoveryRule
destroy_discovery_rules
  • discovery_rules/destroy
  • api/v2/discovery_rules/destroy
DiscoveryRule
execute_discovery_rules
  • discovery_rules/auto_provision
  • discovery_rules/auto_provision_all
  • api/v2/discovery_rules/auto_provision
  • api/v2/discovery_rules/auto_provision_all
DiscoveryRule
create_discovery_rules
  • discovery_rules/new
  • discovery_rules/create
  • api/v2/discovery_rules/create
DiscoveryRule
edit_discovery_rules
  • discovery_rules/edit
  • discovery_rules/update
  • discovery_rules/enable
  • discovery_rules/disable
  • api/v2/discovery_rules/create
  • api/v2/discovery_rules/update
DiscoveryRule
view_domains
  • 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
 
create_domains
  • domains/new
  • domains/create
  • api/v1/domains/create
  • api/v2/domains/create
 
edit_domains
  • 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
 
destroy_domains
  • domains/destroy
  • api/v1/domains/destroy
  • api/v2/domains/destroy
 
destroy_environments
  • environments/destroy
  • api/v1/environments/destroy
  • api/v2/environments/destroy
 
edit_environments
  • environments/edit
  • environments/update
  • api/v1/environments/update
  • api/v2/environments/update
 
view_environments
  • environments/index
  • environments/show
  • environments/auto_complete_search
  • api/v1/environments/index
  • api/v1/environments/show
  • api/v2/environments/index
  • api/v2/environments/show
 
create_environments
  • environments/new
  • environments/create
  • api/v1/environments/create
  • api/v2/environments/create
 
import_environments
  • 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
 
edit_external_usergroups
  • external_usergroups/edit
  • external_usergroups/update
  • external_usergroups/refresh
  • api/v2/external_usergroups/update
  • api/v2/external_usergroups/refresh
 
destroy_external_usergroups
  • external_usergroups/destroy
  • api/v2/external_usergroups/destroy
 
create_external_usergroups
  • external_usergroups/new
  • external_usergroups/create
  • api/v2/external_usergroups/new
  • api/v2/external_usergroups/create
 
view_external_usergroups
  • external_usergroups/index
  • external_usergroups/show
  • api/v2/external_usergroups/index
  • api/v2/external_usergroups/show
 
edit_external_variables
  • 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
 
destroy_external_variables
  • 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
 
create_external_variables
  • 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
 
view_external_variables
  • 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
 
view_facts
  • 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
 
upload_facts
  • api/v2/hosts/facts
 
view_filters
  • filters/index
  • filters/auto_complete_search
  • api/v2/filters/index
  • api/v2/filters/show
 
destroy_filters
  • filters/destroy
  • api/v2/filters/destroy
 
create_filters
  • filters/new
  • filters/create
  • api/v2/filters/create
 
edit_filters
  • filters/edit
  • filters/update
  • permissions/index
  • api/v2/filters/update
  • api/v2/permissions/index
  • api/v2/permissions/show
  • api/v2/permissions/resource_types
 
edit_foreman_tasks
  • foreman_tasks/tasks/resume
  • foreman_tasks/tasks/unlock
  • foreman_tasks/tasks/force_unlock
  • foreman_tasks/tasks/cancel_step
  • foreman_tasks/api/tasks/bulk_resume
ForemanTasks::Task
view_foreman_tasks
  • 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
ForemanTasks::Task
destroy_globals
  • common_parameters/destroy
  • api/v1/common_parameters/destroy
  • api/v2/common_parameters/destroy
 
edit_globals
  • common_parameters/edit
  • common_parameters/update
  • api/v1/common_parameters/update
  • api/v2/common_parameters/update
 
view_globals
  • 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
 
create_globals
  • common_parameters/new
  • common_parameters/create
  • api/v1/common_parameters/create
  • api/v2/common_parameters/create
 
edit_gpg_keys
  • katello/api/v2/gpg_keys/update
  • katello/api/v2/gpg_keys/content
Katello::GpgKey
view_gpg_keys
  • 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::GpgKey
destroy_gpg_keys
  • katello/api/v2/gpg_keys/destroy
Katello::GpgKey
create_gpg_keys
  • katello/api/v2/gpg_keys/create
Katello::GpgKey
destroy_host_collections
  • katello/api/v2/host_collections/destroy
Katello::HostCollection
view_host_collections
  • katello/api/v2/host_collections/index
  • katello/api/v2/host_collections/show
  • katello/dashboard/host_collections
  • katello/host_collections/auto_complete_search
Katello::HostCollection
edit_host_collections
  • katello/api/v2/host_collections/update
  • katello/api/v2/host_collections/add_systems
  • katello/api/v2/host_collections/remove_systems
Katello::HostCollection
create_host_collections
  • katello/api/v2/host_collections/create
  • katello/api/v2/host_collections/copy
Katello::HostCollection
edit_classes
  • host_editing/edit_classes
  • api/v2/host_classes/index
  • api/v2/host_classes/create
  • api/v2/host_classes/destroy
 
edit_params
  • host_editing/edit_params
  • api/v2/parameters/update
 
destroy_params
  • host_editing/destroy_params
  • api/v2/parameters/destroy
  • api/v2/parameters/reset
 
create_params
  • host_editing/create_params
  • api/v2/parameters/create
 
destroy_hostgroups
  • hostgroups/destroy
  • api/v1/hostgroups/destroy
  • api/v2/hostgroups/destroy
 
create_hostgroups
  • 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
 
view_hostgroups
  • hostgroups/index
  • hostgroups/show
  • hostgroups/auto_complete_search
  • api/v1/hostgroups/index
  • api/v1/hostgroups/show
  • api/v2/hostgroups/index
  • api/v2/hostgroups/show
 
edit_hostgroups
  • 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
 
view_hosts
  • 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
 
console_hosts
  • hosts/console
 
destroy_hosts
  • 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
 
edit_hosts
  • 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
 
create_hosts
  • 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
 
power_hosts
  • hosts/power
  • api/v2/hosts/power
 
puppetrun_hosts
  • hosts/puppetrun
  • hosts/multiple_puppetrun
  • hosts/update_multiple_puppetrun
  • api/v2/hosts/puppetrun
 
ipmi_boot
  • hosts/ipmi_boot
  • api/v2/hosts/boot
 
build_hosts
  • hosts/setBuild
  • hosts/cancelBuild
  • hosts/multiple_build
  • hosts/submit_multiple_build
  • hosts/review_before_build
  • tasks/show
  • api/v2/tasks/index
 
search_repository_image_search
  • image_search/auto_complete_repository_name
  • image_search/auto_complete_image_tag
  • image_search/search_repository
Docker/ImageSearch
edit_images
  • images/edit
  • images/update
  • api/v1/images/update
  • api/v2/images/update
 
create_images
  • images/new
  • images/create
  • api/v1/images/create
  • api/v2/images/create
 
destroy_images
  • images/destroy
  • api/v1/images/destroy
  • api/v2/images/destroy
 
view_images
  • 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_content_views_to_environments Katello::KTEnvironment
edit_lifecycle_environments
  • katello/api/v2/environments/update
Katello::KTEnvironment
create_lifecycle_environments
  • katello/api/v2/environments/create
Katello::KTEnvironment
destroy_lifecycle_environments
  • katello/api/v2/environments/destroy
Katello::KTEnvironment
view_lifecycle_environments
  • 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_index
  • katello/environments/auto_complete_search
Katello::KTEnvironment
assign_locations
  • locations/assign_all_hosts
  • locations/assign_hosts
  • locations/assign_selected_hosts
 
edit_locations
  • locations/edit
  • locations/update
  • locations/import_mismatches
  • locations/parent_taxonomy_selected
  • api/v1/locations/update
  • api/v2/locations/update
 
create_locations
  • locations/new
  • locations/create
  • locations/clone_taxonomy
  • locations/step2
  • locations/nest
  • api/v1/locations/create
  • api/v2/locations/create
 
destroy_locations
  • locations/destroy
  • api/v1/locations/destroy
  • api/v2/locations/destroy
 
view_locations
  • locations/index
  • locations/show
  • locations/auto_complete_search
  • api/v1/locations/index
  • api/v1/locations/show
  • api/v2/locations/index
  • api/v2/locations/show
 
view_mail_notifications
  • mail_notifications/index
  • mail_notifications/auto_complete_search
  • mail_notifications/show
  • api/v2/mail_notifications/index
  • api/v2/mail_notifications/show
 
view_media
  • media/index
  • media/show
  • media/auto_complete_search
  • api/v1/media/index
  • api/v1/media/show
  • api/v2/media/index
  • api/v2/media/show
 
create_media
  • media/new
  • media/create
  • api/v1/media/create
  • api/v2/media/create
 
destroy_media
  • media/destroy
  • api/v1/media/destroy
  • api/v2/media/destroy
 
edit_media
  • media/edit
  • media/update
  • api/v1/media/update
  • api/v2/media/update
 
edit_models
  • models/edit
  • models/update
  • api/v1/models/update
  • api/v2/models/update
 
view_models
  • models/index
  • models/show
  • models/auto_complete_search
  • api/v1/models/index
  • api/v1/models/show
  • api/v2/models/index
  • api/v2/models/show
 
create_models
  • models/new
  • models/create
  • api/v1/models/create
  • api/v2/models/create
 
destroy_models
  • models/destroy
  • api/v1/models/destroy
  • api/v2/models/destroy
 
view_operatingsystems
  • 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"]
 
destroy_operatingsystems
  • operatingsystems/destroy
  • api/v1/operatingsystems/destroy
  • api/v2/operatingsystems/destroy
  • api/v2/os_default_templates/create
 
create_operatingsystems
  • operatingsystems/new
  • operatingsystems/create
  • api/v1/operatingsystems/create
  • api/v2/operatingsystems/create
  • api/v2/os_default_templates/create
 
edit_operatingsystems
  • 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
 
create_organizations
  • organizations/new
  • organizations/create
  • organizations/clone_taxonomy
  • organizations/step2
  • organizations/nest
  • api/v1/organizations/create
  • api/v2/organizations/create
  • ["katello/api/v2/organizations/create"]
 
view_organizations
  • 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_provider", "katello/api/v2/organizations/download_debug_certificate", "katello/api/v2/tasks/index"]
 
edit_organizations
  • 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_subscriptions"]
 
destroy_organizations
  • organizations/destroy
  • api/v1/organizations/destroy
  • api/v2/organizations/destroy
  • ["katello/api/v2/organizations/destroy"]
 
assign_organizations
  • organizations/assign_all_hosts
  • organizations/assign_hosts
  • organizations/assign_selected_hosts
 
view_ptables
  • ptables/index
  • ptables/show
  • ptables/auto_complete_search
  • api/v1/ptables/index
  • api/v1/ptables/show
  • api/v2/ptables/index
  • api/v2/ptables/show
 
edit_ptables
  • ptables/edit
  • ptables/update
  • api/v1/ptables/update
  • api/v2/ptables/update
 
destroy_ptables
  • ptables/destroy
  • api/v1/ptables/destroy
  • api/v2/ptables/destroy
 
create_ptables
  • ptables/new
  • ptables/create
  • api/v1/ptables/create
  • api/v2/ptables/create
 
view_plugins
  • plugins/index
  • api/v2/plugins/index
 
destroy_products
  • katello/api/v2/products/destroy
  • katello/api/v2/repositories/destroy
  • katello/api/v2/products_bulk_actions/destroy_products
  • katello/api/v2/repositories_bulk_actions/destroy_repositories
Katello::Product
edit_products
  • 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_discover
Katello::Product
sync_products
  • katello/api/v2/products/sync
  • katello/api/v2/repositories/sync
  • katello/api/v2/products_bulk_actions/sync_products
  • 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
view_products
  • 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_items
  • katello/content_search/repo_packages
  • katello/content_search/repo_errata
  • katello/content_search/repo_puppet_modules
  • katello/content_search/repo_compare_errata
  • katello/content_search/repo_compare_packages
  • katello/content_search/repo_compare_puppet_modules
Katello::Product
create_products
  • katello/api/v2/products/create
  • katello/api/v2/repositories/create
Katello::Product
my_account
  • users/edit
  • ["katello/api/v2/tasks/show"]
 
user_logout
  • users/logout
 
create_puppetclasses
  • puppetclasses/new
  • puppetclasses/create
  • api/v1/puppetclasses/create
  • api/v2/puppetclasses/create
 
import_puppetclasses
  • 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
 
destroy_puppetclasses
  • puppetclasses/destroy
  • api/v1/puppetclasses/destroy
  • api/v2/puppetclasses/destroy
 
edit_puppetclasses
  • 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
 
view_puppetclasses
  • 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
 
create_realms
  • realms/new
  • realms/create
  • api/v2/realms/create
 
edit_realms
  • realms/edit
  • realms/update
  • api/v2/realms/update
 
destroy_realms
  • realms/destroy
  • api/v2/realms/destroy
 
view_realms
  • realms/index
  • realms/show
  • realms/auto_complete_search
  • api/v2/realms/index
  • api/v2/realms/show
 
rh_telemetry_configurations
  • redhat_access/telemetry_configurations/show
  • redhat_access/telemetry_configurations/update
 
view_search
  • redhat_access/search/index
 
view_log_viewer
  • redhat_access/logviewer/index
 
attachments
  • redhat_access/attachments/index
  • redhat_access/attachments/create
 
rh_telemetry_view
  • redhat_access/analytics_dashboard/index
 
rh_telemetry_api
  • redhat_access/api/telemetry_api/proxy
  • redhat_access/api/telemetry_api/connection_status
 
logs
  • redhat_access/logs/index
 
configuration
  • redhat_access/configuration/index
 
app_root
  • redhat_access/redhat_access/index
 
view_cases
  • redhat_access/cases/index
  • redhat_access/cases/create
 
destroy_registries
  • registries/destroy
  • api/v2/registries/destroy
DockerRegistry
create_registries
  • registries/new
  • registries/create
  • registries/update
  • registries/edit
  • api/v2/registries/create
  • api/v2/registries/update
DockerRegistry
view_registries
  • registries/index
  • registries/show
  • api/v2/registries/index
  • api/v2/registries/show
DockerRegistry
destroy_reports
  • reports/destroy
  • api/v1/reports/destroy
  • api/v2/reports/destroy
 
upload_reports
  • api/v2/reports/create
 
view_reports
  • 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
 
edit_roles
  • roles/edit
  • roles/update
  • api/v2/roles/update
 
view_roles
  • roles/index
  • roles/auto_complete_search
  • api/v2/roles/index
  • api/v2/roles/show
 
create_roles
  • roles/new
  • roles/create
  • roles/clone
  • api/v2/roles/create
 
destroy_roles
  • roles/destroy
  • api/v2/roles/destroy
 
access_settings
  • home/settings
 
view_smart_proxies
  • 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
 
create_smart_proxies
  • smart_proxies/new
  • smart_proxies/create
  • api/v1/smart_proxies/create
  • api/v2/smart_proxies/create
 
destroy_smart_proxies
  • smart_proxies/destroy
  • api/v1/smart_proxies/destroy
  • api/v2/smart_proxies/destroy
 
edit_smart_proxies
  • 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
 
destroy_smart_proxies_autosign
  • autosign/destroy
 
view_smart_proxies_autosign
  • autosign/index
  • autosign/show
  • api/v1/autosign/index
  • api/v2/autosign/index
 
create_smart_proxies_autosign
  • autosign/new
  • autosign/create
 
view_smart_proxies_puppetca
  • puppetca/index
 
edit_smart_proxies_puppetca
  • puppetca/update
 
destroy_smart_proxies_puppetca
  • puppetca/destroy
 
view_statistics
  • statistics/index
  • api/v1/statistics/index
  • api/v2/statistics/index
 
edit_subnets
  • subnets/edit
  • subnets/update
  • api/v1/subnets/update
  • api/v2/subnets/update
 
view_subnets
  • subnets/index
  • subnets/show
  • subnets/auto_complete_search
  • api/v1/subnets/index
  • api/v1/subnets/show
  • api/v2/subnets/index
  • api/v2/subnets/show
 
create_subnets
  • subnets/new
  • subnets/create
  • api/v1/subnets/create
  • api/v2/subnets/create
 
destroy_subnets
  • subnets/destroy
  • api/v1/subnets/destroy
  • api/v2/subnets/destroy
 
import_subnets
  • subnets/import
  • subnets/create_multiple
 
view_subscriptions
  • 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_repositories
Organization
attach_subscriptions
  • katello/api/v2/subscriptions/create
Organization
unattach_subscriptions
  • katello/api/v2/subscriptions/destroy
Organization
import_manifest
  • 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
Organization
delete_manifest
  • katello/api/v2/subscriptions/delete_manifest
Organization
destroy_sync_plans
  • katello/api/v2/sync_plans/destroy
Katello::SyncPlan
view_sync_plans
  • 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_products
Katello::SyncPlan
create_sync_plans
  • katello/api/v2/sync_plans/create
Katello::SyncPlan
edit_sync_plans
  • katello/api/v2/sync_plans/update
Katello::SyncPlan
view_tasks
  • trends/show
 
view_trends
  • trends/index
  • trends/show
 
update_trends
  • trends/count
 
destroy_trends
  • trends/destroy
 
create_trends
  • trends/new
  • trends/create
 
edit_trends
  • trends/edit
  • trends/update
 
my_organizations
  • katello/api/rhsm/candlepin_proxies/list_owners
 
view_usergroups
  • usergroups/index
  • usergroups/show
  • usergroups/auto_complete_search
  • api/v1/usergroups/index
  • api/v1/usergroups/show
  • api/v2/usergroups/index
  • api/v2/usergroups/show
 
edit_usergroups
  • usergroups/edit
  • usergroups/update
  • api/v1/usergroups/update
  • api/v2/usergroups/update
 
destroy_usergroups
  • usergroups/destroy
  • api/v1/usergroups/destroy
  • api/v2/usergroups/destroy
 
create_usergroups
  • usergroups/new
  • usergroups/create
  • api/v1/usergroups/create
  • api/v2/usergroups/create
 
view_users
  • users/index
  • users/show
  • users/auto_complete_search
  • api/v1/users/index
  • api/v1/users/show
  • api/v2/users/index
  • api/v2/users/show
 
create_users
  • users/new
  • users/create
  • users/auth_source_selected
  • api/v1/users/create
  • api/v2/users/create
 
edit_users
  • users/edit
  • users/update
  • users/auth_source_selected
  • api/v1/users/update
  • api/v2/users/update
 
destroy_users
  • users/destroy
  • api/v1/users/destroy
  • api/v2/users/destroy
 

Appendix B. Revision History

Revision History
Revision 2-6Wed Jul 22 2015David O'Brien
BZ 1241992: Add note about support only for v2 of API.
Revision 2-5Thu Jul 16 2015David O'Brien
Fixed URL to API reference.
Final technical review before GA.
Revision 2-4Wed Jul 15 2015Jo Somers
Added API reference URL.
Revision 2-3Sun Jun 14 2015David O'Brien
6.1 Public Beta Release.
Add edition number.
Revision 2-2Wed May 6 2015David O'Brien
Update product release version.
Revision 2-1Wed Apr 8 2015Megan Lewis
Updated the brand.
Removed Preface.
Revision 2-0Thu Nov 20 2014David O'Brien
Remove chapters that describe each API.
Revision 1-0Tue Sep 9 2014Athene Chan
Red Hat Satellite 6.0 GA Release
Revision 0-9.1Tue Jul 1 2014Athene Chan
Edited content specification details.
Revision 0-9Mon Jun 30 2014Athene Chan
Preparing book for Beta release.
Revision 0-8.403Mon Nov 11 2013Rüdiger Landmann
Rebuild with Publican 4.0.0
Revision 0-08Mon Nov 11 2013Dan Macpherson
Fixing minor errors.
Revision 0-07Mon 11 Nov 2013Dan Macpherson
Preparation for MDP2.
Revision 0-06Wed 09 Oct 2013Dan Macpherson
Finalizing QE review implementation.
Revision 0-05Thu 26 Sep 2013Dan Macpherson
Minor QE review fixes.
Revision 0-04Wed 25 Sep 2013Dan Macpherson
Minor QE review fixes.
Revision 0-03Wed 25 Sep 2013Dan Macpherson
Implementation of QE review feedback.
Revision 0-02Wed 14 Aug 2013Dan Macpherson
Build of book for technical review.
Revision 0-01Tue 28 May 2013Athene Chan
Initial book creation of the Red Hat Satellite API Guide.

Legal Notice

Copyright © 2015 Red Hat.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.