Skip to content

Instantly share code, notes, and snippets.

@omaciel
Last active September 19, 2015 22:18
Show Gist options
  • Save omaciel/1ae8e0bc89e5d5ff5e4c to your computer and use it in GitHub Desktop.
Save omaciel/1ae8e0bc89e5d5ff5e4c to your computer and use it in GitHub Desktop.
Playing with HTTPIE and the Pulp Rest API

Using HTTPIE with Pulp

Make sure to install httpie

Create a new repository named animals:

http --verify=no -a admin:admin POST https://localhost/pulp/api/v2/repositories/ id=animals
HTTP/1.1 201 Created
Connection: Keep-Alive
Content-Length: 283
Content-Type: application/json
Date: Fri, 18 Sep 2015 19:39:25 GMT
Keep-Alive: timeout=5, max=100
Location: animals
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

{
    "_href": "/pulp/api/v2/repositories/animals/",
    "_id": {
        "$oid": "55fc686db3df8a4fc05b6adc"
    },
    "_ns": "repos",
    "content_unit_counts": {},
    "description": null,
    "display_name": "animals",
    "id": "animals",
    "last_unit_added": null,
    "last_unit_removed": null,
    "notes": {},
    "scratchpad": {}
}

Check the repository:

http --verify=no -a admin:admin GET https://localhost/pulp/api/v2/repositories/animals/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 283
Content-Type: application/json
Date: Fri, 18 Sep 2015 19:40:38 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

{
    "_href": "/pulp/api/v2/repositories/animals/",
    "_id": {
        "$oid": "55fc686db3df8a4fc05b6adc"
    },
    "_ns": "repos",
    "content_unit_counts": {},
    "description": null,
    "display_name": "animals",
    "id": "animals",
    "last_unit_added": null,
    "last_unit_removed": null,
    "notes": {},
    "scratchpad": {}
}

Check that there are no importers available:

http --verify=no -a admin:admin GET https://localhost/pulp/api/v2/repositories/animals/importers/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 2
Content-Type: application/json
Date: Fri, 18 Sep 2015 19:52:43 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

[]

List all the available importers (this is currently not documented anywhere):

http --verify=no -a admin:admin GET https://localhost/pulp/api/v2/plugins/importers/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 541
Content-Type: application/json
Date: Fri, 18 Sep 2015 20:40:12 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

[
    {
        "_href": "/pulp/api/v2/plugins/importers/puppet_importer/",
        "display_name": "Puppet Importer",
        "id": "puppet_importer",
        "types": [
            "puppet_module"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/importers/yum_importer/",
        "display_name": "Yum Importer",
        "id": "yum_importer",
        "types": [
            "distribution",
            "drpm",
            "erratum",
            "package_group",
            "package_category",
            "rpm",
            "srpm",
            "yum_repo_metadata_file",
            "package_environment"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/importers/iso_importer/",
        "display_name": "ISO Importer",
        "id": "iso_importer",
        "types": [
            "iso"
        ]
    }
]

Add a yum importer to the animals repository:

http --verify=no -a admin:admin POST https://localhost/pulp/api/v2/repositories/animals/importers/ importer_type_id=yum_importer importer_config:='{"feed":"http://repos.fedorapeople.org/repos/pulp/pulp/demo_repos/zoo/"}'
HTTP/1.1 202 Accepted
Connection: Keep-Alive
Content-Encoding: utf-8
Content-Length: 172
Content-Type: application/json
Date: Fri, 18 Sep 2015 20:06:52 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

{
    "error": null,
    "result": null,
    "spawned_tasks": [
        {
            "_href": "/pulp/api/v2/tasks/cb0f51e8-9fbc-4b6a-875c-95317a114ae1/",
            "task_id": "cb0f51e8-9fbc-4b6a-875c-95317a114ae1"
        }
    ]
}

Check that the animals repository has the right importer:

http --verify=no -a admin:admin GET https://localhost/pulp/api/v2/repositories/animals/importers/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 299
Content-Type: application/json
Date: Fri, 18 Sep 2015 20:07:06 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

[
    {
        "_id": {
            "$oid": "55fc6eddb3df8a506c3ded96"
        },
        "_ns": "repo_importers",
        "config": {
            "feed": "http://repos.fedorapeople.org/repos/pulp/pulp/demo_repos/zoo/"
        },
        "id": "yum_importer",
        "importer_type_id": "yum_importer",
        "last_sync": null,
        "repo_id": "animals",
        "scheduled_syncs": [],
        "scratchpad": null
    }
]

Synchronize the animals repository:

http --verify=no -a admin:admin POST https://localhost/pulp/api/v2/repositories/animals/actions/sync/
HTTP/1.1 202 Accepted
Connection: Keep-Alive
Content-Encoding: utf-8
Content-Length: 172
Content-Type: application/json
Date: Fri, 18 Sep 2015 20:09:31 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

{
    "error": null,
    "result": null,
    "spawned_tasks": [
        {
            "_href": "/pulp/api/v2/tasks/6f4282ba-e4a4-49e7-9ced-10e1011096c1/",
            "task_id": "6f4282ba-e4a4-49e7-9ced-10e1011096c1"
        }
    ]
}

Check the animals repository again:

http --verify=no -a admin:admin GET https://localhost/pulp/api/v2/repositories/animals/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 392
Content-Type: application/json
Date: Fri, 18 Sep 2015 20:10:35 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

{
    "_href": "/pulp/api/v2/repositories/animals/",
    "_id": {
        "$oid": "55fc686db3df8a4fc05b6adc"
    },
    "_ns": "repos",
    "content_unit_counts": {
        "erratum": 4,
        "package_category": 1,
        "package_group": 2,
        "rpm": 32
    },
    "description": null,
    "display_name": "animals",
    "id": "animals",
    "last_unit_added": "2015-09-18T20:09:38Z",
    "last_unit_removed": null,
    "notes": {},
    "scratchpad": {
        "checksum_type": "sha256"
    }
}

Listing distributors for the animals repository:

http --verify=no -a admin:admin GET https://localhost/pulp/api/v2/repositories/animals/distributors/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 2
Content-Type: application/json
Date: Fri, 18 Sep 2015 20:35:47 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

[]

List all available distributors (this is currently not documented anywhere):

http --verify=no -a admin:admin GET https://localhost/pulp/api/v2/plugins/distributors/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 1149
Content-Type: application/json
Date: Fri, 18 Sep 2015 20:38:16 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

[
    {
        "_href": "/pulp/api/v2/plugins/distributors/yum_distributor/",
        "display_name": "Yum Distributor",
        "id": "yum_distributor",
        "types": [
            "rpm",
            "srpm",
            "drpm",
            "erratum",
            "package_group",
            "package_category",
            "distribution",
            "yum_repo_metadata_file"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/distributors/puppet_distributor/",
        "display_name": "Puppet Distributor",
        "id": "puppet_distributor",
        "types": [
            "puppet_module"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/distributors/puppet_install_distributor/",
        "display_name": "Puppet Install Distributor",
        "id": "puppet_install_distributor",
        "types": [
            "puppet_module"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/distributors/iso_distributor/",
        "display_name": "ISO Distributor",
        "id": "iso_distributor",
        "types": [
            "iso"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/distributors/export_distributor/",
        "display_name": "Export Distributor",
        "id": "export_distributor",
        "types": [
            "rpm",
            "srpm",
            "drpm",
            "erratum",
            "distribution",
            "package_category",
            "package_group"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/distributors/puppet_file_distributor/",
        "display_name": "Puppet File Distributor",
        "id": "puppet_file_distributor",
        "types": [
            "puppet_module"
        ]
    }
]

Add a yum_distributor to the animals repository:

http --verify=no -a admin:admin POST https://localhost/pulp/api/v2/repositories/animals/distributors/ distributor_id=simpleyum distributor_type_id=yum_distributor auto_publish:=true distributor_config:='{"http":true, "https":true, "relative_url":"animals"}'
HTTP/1.1 201 Created
Connection: Keep-Alive
Content-Length: 385
Content-Type: application/json
Date: Fri, 18 Sep 2015 20:53:29 GMT
Keep-Alive: timeout=5, max=100
Location: /pulp/api/v2/repositories/animals/distributors/simpleyum/
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

{
    "_href": "/pulp/api/v2/repositories/animals/distributors/simpleyum/",
    "_id": {
        "$oid": "55fc79c9b3df8a4fc05b6ae0"
    },
    "_ns": "repo_distributors",
    "auto_publish": true,
    "config": {
        "http": true,
        "https": true,
        "relative_url": "animals"
    },
    "distributor_type_id": "yum_distributor",
    "id": "simpleyum",
    "last_publish": null,
    "repo_id": "animals",
    "scheduled_publishes": [],
    "scratchpad": null
}

Check the animals repository has the correct distributor:

http --verify=no -a admin:admin GET https://localhost/pulp/api/v2/repositories/animals/distributors/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 317
Content-Type: application/json
Date: Fri, 18 Sep 2015 20:54:26 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

[
    {
        "_id": {
            "$oid": "55fc79c9b3df8a4fc05b6ae0"
        },
        "_ns": "repo_distributors",
        "auto_publish": true,
        "config": {
            "http": true,
            "https": true,
            "relative_url": "animals"
        },
        "distributor_type_id": "yum_distributor",
        "id": "simpleyum",
        "last_publish": null,
        "repo_id": "animals",
        "scheduled_publishes": [],
        "scratchpad": null
    }
]

Publish the distributor:

http --verify=no -a admin:admin POST https://localhost/pulp/api/v2/repositories/animals/actions/publish/ id=simpleyum
HTTP/1.1 202 Accepted
Connection: Keep-Alive
Content-Encoding: utf-8
Content-Length: 172
Content-Type: application/json
Date: Fri, 18 Sep 2015 21:15:00 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

{
    "error": null,
    "result": null,
    "spawned_tasks": [
        {
            "_href": "/pulp/api/v2/tasks/d6d37c7d-355f-49a0-838a-52ab780ab719/",
            "task_id": "d6d37c7d-355f-49a0-838a-52ab780ab719"
        }
    ]
}

Check the task that was created:

http --verify=no -a admin:admin GET https://localhost/pulp/api/v2/tasks/d6d37c7d-355f-49a0-838a-52ab780ab719/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 7489
Content-Type: application/json
Date: Fri, 18 Sep 2015 21:17:07 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

{
    "_href": "/pulp/api/v2/tasks/d6d37c7d-355f-49a0-838a-52ab780ab719/",
    "_id": {
        "$oid": "55fc7ed4ba984544665f2cb9"
    },
    "_ns": "task_status",
    "error": null,
    "exception": null,
    "finish_time": "2015-09-18T21:15:01Z",
    "id": "55fc7ed4b3df8a50b864fece",
    "progress_report": {
        "simpleyum": [
            {
                "description": "Initializing repo metadata",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 1,
                "num_success": 1,
                "state": "FINISHED",
                "step_id": "2c9a3f6b-0ea0-4495-936d-7982d621c837",
                "step_type": "initialize_repo_metadata"
            },
            {
                "description": "Publishing Distribution files",
                "details": "",
                "error_details": [],
                "items_total": 0,
                "num_failures": 0,
                "num_processed": 0,
                "num_success": 0,
                "state": "FINISHED",
                "step_id": "299fff58-fcdb-447e-8c4e-6e78c00e813b",
                "step_type": "distribution"
            },
            {
                "description": "Publishing RPMs",
                "details": "",
                "error_details": [],
                "items_total": 32,
                "num_failures": 0,
                "num_processed": 32,
                "num_success": 32,
                "state": "FINISHED",
                "step_id": "eace255d-c35c-4ecd-b479-9fb48d9a860b",
                "step_type": "rpms"
            },
            {
                "description": "Publishing Delta RPMs",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 0,
                "num_success": 0,
                "state": "SKIPPED",
                "step_id": "b83e220b-f5c8-41aa-991c-57775ae0f7a0",
                "step_type": "drpms"
            },
            {
                "description": "Publishing Errata",
                "details": "",
                "error_details": [],
                "items_total": 4,
                "num_failures": 0,
                "num_processed": 4,
                "num_success": 4,
                "state": "FINISHED",
                "step_id": "05e42ecd-1dd8-447a-a5ee-c850933d457f",
                "step_type": "errata"
            },
            {
                "description": "Publishing Comps file",
                "details": "",
                "error_details": [],
                "items_total": 3,
                "num_failures": 0,
                "num_processed": 3,
                "num_success": 3,
                "state": "FINISHED",
                "step_id": "69d07610-e7ad-470d-ac8d-87491488ca79",
                "step_type": "comps"
            },
            {
                "description": "Publishing Metadata.",
                "details": "",
                "error_details": [],
                "items_total": 0,
                "num_failures": 0,
                "num_processed": 0,
                "num_success": 0,
                "state": "FINISHED",
                "step_id": "0b04143e-7418-49f9-bd22-a15da2228304",
                "step_type": "metadata"
            },
            {
                "description": "Closing repo metadata",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 1,
                "num_success": 1,
                "state": "FINISHED",
                "step_id": "66334f58-847d-4044-ad01-0ed016b75422",
                "step_type": "close_repo_metadata"
            },
            {
                "description": "Generating sqlite files",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 0,
                "num_success": 0,
                "state": "SKIPPED",
                "step_id": "dfdf5721-01ca-4903-9aa5-d38130333b3b",
                "step_type": "generate sqlite"
            },
            {
                "description": "Publishing files to web",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 1,
                "num_success": 1,
                "state": "FINISHED",
                "step_id": "23fbcc4d-d005-4e00-b65b-29fd5bdc32d8",
                "step_type": "publish_directory"
            },
            {
                "description": "Writing Listings File",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 1,
                "num_success": 1,
                "state": "FINISHED",
                "step_id": "244ba721-1958-467d-9f8a-cdae78687b4c",
                "step_type": "initialize_repo_metadata"
            },
            {
                "description": "Writing Listings File",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 1,
                "num_success": 1,
                "state": "FINISHED",
                "step_id": "66980b6e-c990-4754-9189-1a7db1c24209",
                "step_type": "initialize_repo_metadata"
            }
        ]
    },
    "queue": "reserved_resource_worker-0@<EDITED>.dq",
    "result": {
        "_ns": "repo_publish_results",
        "completed": "2015-09-18T21:15:01Z",
        "details": [
            {
                "description": "Initializing repo metadata",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 1,
                "num_success": 1,
                "state": "FINISHED",
                "step_id": "2c9a3f6b-0ea0-4495-936d-7982d621c837",
                "step_type": "initialize_repo_metadata"
            },
            {
                "description": "Publishing Distribution files",
                "details": "",
                "error_details": [],
                "items_total": 0,
                "num_failures": 0,
                "num_processed": 0,
                "num_success": 0,
                "state": "FINISHED",
                "step_id": "299fff58-fcdb-447e-8c4e-6e78c00e813b",
                "step_type": "distribution"
            },
            {
                "description": "Publishing RPMs",
                "details": "",
                "error_details": [],
                "items_total": 32,
                "num_failures": 0,
                "num_processed": 32,
                "num_success": 32,
                "state": "FINISHED",
                "step_id": "eace255d-c35c-4ecd-b479-9fb48d9a860b",
                "step_type": "rpms"
            },
            {
                "description": "Publishing Delta RPMs",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 0,
                "num_success": 0,
                "state": "SKIPPED",
                "step_id": "b83e220b-f5c8-41aa-991c-57775ae0f7a0",
                "step_type": "drpms"
            },
            {
                "description": "Publishing Errata",
                "details": "",
                "error_details": [],
                "items_total": 4,
                "num_failures": 0,
                "num_processed": 4,
                "num_success": 4,
                "state": "FINISHED",
                "step_id": "05e42ecd-1dd8-447a-a5ee-c850933d457f",
                "step_type": "errata"
            },
            {
                "description": "Publishing Comps file",
                "details": "",
                "error_details": [],
                "items_total": 3,
                "num_failures": 0,
                "num_processed": 3,
                "num_success": 3,
                "state": "FINISHED",
                "step_id": "69d07610-e7ad-470d-ac8d-87491488ca79",
                "step_type": "comps"
            },
            {
                "description": "Publishing Metadata.",
                "details": "",
                "error_details": [],
                "items_total": 0,
                "num_failures": 0,
                "num_processed": 0,
                "num_success": 0,
                "state": "FINISHED",
                "step_id": "0b04143e-7418-49f9-bd22-a15da2228304",
                "step_type": "metadata"
            },
            {
                "description": "Closing repo metadata",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 1,
                "num_success": 1,
                "state": "FINISHED",
                "step_id": "66334f58-847d-4044-ad01-0ed016b75422",
                "step_type": "close_repo_metadata"
            },
            {
                "description": "Generating sqlite files",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 0,
                "num_success": 0,
                "state": "SKIPPED",
                "step_id": "dfdf5721-01ca-4903-9aa5-d38130333b3b",
                "step_type": "generate sqlite"
            },
            {
                "description": "Publishing files to web",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 1,
                "num_success": 1,
                "state": "FINISHED",
                "step_id": "23fbcc4d-d005-4e00-b65b-29fd5bdc32d8",
                "step_type": "publish_directory"
            },
            {
                "description": "Writing Listings File",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 1,
                "num_success": 1,
                "state": "FINISHED",
                "step_id": "244ba721-1958-467d-9f8a-cdae78687b4c",
                "step_type": "initialize_repo_metadata"
            },
            {
                "description": "Writing Listings File",
                "details": "",
                "error_details": [],
                "items_total": 1,
                "num_failures": 0,
                "num_processed": 1,
                "num_success": 1,
                "state": "FINISHED",
                "step_id": "66980b6e-c990-4754-9189-1a7db1c24209",
                "step_type": "initialize_repo_metadata"
            }
        ],
        "distributor_id": "simpleyum",
        "distributor_type_id": "yum_distributor",
        "error_message": null,
        "exception": null,
        "id": "55fc7ed5b3df8a506c3dedc8",
        "repo_id": "animals",
        "result": "success",
        "started": "2015-09-18T21:15:00Z",
        "summary": {
            "close_repo_metadata": "FINISHED",
            "comps": "FINISHED",
            "distribution": "FINISHED",
            "drpms": "SKIPPED",
            "errata": "FINISHED",
            "generate sqlite": "SKIPPED",
            "initialize_repo_metadata": "FINISHED",
            "metadata": "FINISHED",
            "publish_directory": "FINISHED",
            "rpms": "FINISHED"
        },
        "traceback": null
    },
    "spawned_tasks": [],
    "start_time": "2015-09-18T21:15:00Z",
    "state": "finished",
    "tags": [
        "pulp:repository:animals",
        "pulp:action:publish"
    ],
    "task_id": "d6d37c7d-355f-49a0-838a-52ab780ab719",
    "task_type": "pulp.server.managers.repo.publish.publish",
    "traceback": null,
    "worker_name": "reserved_resource_worker-0@localhost"
}

And check that the distributor was published:

http --verify=no -a admin:admin GET https://localhost/pulp/api/v2/repositories/animals/distributors/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 362
Content-Type: application/json
Date: Fri, 18 Sep 2015 21:20:47 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

[
    {
        "_id": {
            "$oid": "55fc79c9b3df8a4fc05b6ae0"
        },
        "_ns": "repo_distributors",
        "auto_publish": true,
        "config": {
            "checksum_type": "sha256",
            "http": true,
            "https": true,
            "relative_url": "animals"
        },
        "distributor_type_id": "yum_distributor",
        "id": "simpleyum",
        "last_publish": "2015-09-18T21:15:01Z",
        "repo_id": "animals",
        "scheduled_publishes": [],
        "scratchpad": null
    }
]

List all types available (this is currently not documented anywhere):

http --verify=no -a admin:admin GET https://localhost/pulp/api/v2/plugins/types/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 4158
Content-Type: application/json
Date: Fri, 18 Sep 2015 21:37:23 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5

[
    {
        "_href": "/pulp/api/v2/plugins/types/iso/",
        "_id": {
            "$oid": "55fc38aab3df8a4f7e149870"
        },
        "_ns": "content_types",
        "description": "ISO",
        "display_name": "ISO",
        "id": "iso",
        "referenced_types": [],
        "search_indexes": [],
        "unit_key": [
            "name",
            "checksum",
            "size"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/types/distribution/",
        "_id": {
            "$oid": "55fc38aab3df8a4f7e149871"
        },
        "_ns": "content_types",
        "description": "Kickstart trees and all accompanying files",
        "display_name": "Distribution",
        "id": "distribution",
        "referenced_types": [],
        "search_indexes": [
            "id",
            "family",
            "variant",
            "version",
            "arch"
        ],
        "unit_key": [
            "id",
            "family",
            "variant",
            "version",
            "arch"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/types/drpm/",
        "_id": {
            "$oid": "55fc38aab3df8a4f7e149872"
        },
        "_ns": "content_types",
        "description": "DRPM",
        "display_name": "DRPM",
        "id": "drpm",
        "referenced_types": [],
        "search_indexes": [
            "epoch",
            "version",
            "release",
            "checksum",
            "filename"
        ],
        "unit_key": [
            "epoch",
            "version",
            "release",
            "filename",
            "checksumtype",
            "checksum"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/types/erratum/",
        "_id": {
            "$oid": "55fc38aab3df8a4f7e149873"
        },
        "_ns": "content_types",
        "description": "Erratum advisory information",
        "display_name": "Erratum",
        "id": "erratum",
        "referenced_types": [
            "rpm"
        ],
        "search_indexes": [
            "id",
            "version",
            "release",
            "type",
            "status",
            "updated",
            "issued",
            "severity",
            "references"
        ],
        "unit_key": [
            "id"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/types/package_group/",
        "_id": {
            "$oid": "55fc38aab3df8a4f7e149874"
        },
        "_ns": "content_types",
        "description": "Yum Package group information",
        "display_name": "Package Group",
        "id": "package_group",
        "referenced_types": [],
        "search_indexes": [
            "id",
            "repo_id",
            "name",
            "mandatory_package_names",
            "conditional_package_names",
            "optional_package_names",
            "default_package_names"
        ],
        "unit_key": [
            "id",
            "repo_id"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/types/package_category/",
        "_id": {
            "$oid": "55fc38aab3df8a4f7e149875"
        },
        "_ns": "content_types",
        "description": "Yum Package category information",
        "display_name": "Package Category",
        "id": "package_category",
        "referenced_types": [],
        "search_indexes": [
            "id",
            "repo_id",
            "name",
            "packagegroupids"
        ],
        "unit_key": [
            "id",
            "repo_id"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/types/package_environment/",
        "_id": {
            "$oid": "55fc38aab3df8a4f7e149876"
        },
        "_ns": "content_types",
        "description": "Yum Package environment information",
        "display_name": "Package Environment",
        "id": "package_environment",
        "referenced_types": [],
        "search_indexes": [
            "id",
            "repo_id",
            "name",
            "group_ids"
        ],
        "unit_key": [
            "id",
            "repo_id"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/types/rpm/",
        "_id": {
            "$oid": "55fc38aab3df8a4f7e149877"
        },
        "_ns": "content_types",
        "description": "RPM",
        "display_name": "RPM",
        "id": "rpm",
        "referenced_types": [
            "erratum"
        ],
        "search_indexes": [
            "name",
            "epoch",
            "version",
            "release",
            "arch",
            "filename",
            "checksum",
            "checksumtype",
            "version_sort_index",
            [
                "version_sort_index",
                "release_sort_index"
            ]
        ],
        "unit_key": [
            "name",
            "epoch",
            "version",
            "release",
            "arch",
            "checksumtype",
            "checksum"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/types/srpm/",
        "_id": {
            "$oid": "55fc38aab3df8a4f7e149878"
        },
        "_ns": "content_types",
        "description": "SRPM",
        "display_name": "SRPM",
        "id": "srpm",
        "referenced_types": [],
        "search_indexes": [
            "name",
            "epoch",
            "version",
            "release",
            "arch",
            "filename",
            "checksum",
            "checksumtype",
            "version_sort_index",
            [
                "version_sort_index",
                "release_sort_index"
            ]
        ],
        "unit_key": [
            "name",
            "epoch",
            "version",
            "release",
            "arch",
            "checksumtype",
            "checksum"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/types/yum_repo_metadata_file/",
        "_id": {
            "$oid": "55fc38aab3df8a4f7e149879"
        },
        "_ns": "content_types",
        "description": "YUM Repository Metadata File",
        "display_name": "YUM Repository Metadata File",
        "id": "yum_repo_metadata_file",
        "referenced_types": [],
        "search_indexes": [
            "data_type"
        ],
        "unit_key": [
            "repo_id",
            "data_type"
        ]
    },
    {
        "_href": "/pulp/api/v2/plugins/types/puppet_module/",
        "_id": {
            "$oid": "55fc38aab3df8a4f7e14987a"
        },
        "_ns": "content_types",
        "description": "Puppet Module",
        "display_name": "Puppet Module",
        "id": "puppet_module",
        "referenced_types": [],
        "search_indexes": [
            "author",
            "tag_list"
        ],
        "unit_key": [
            "name",
            "version",
            "author"
        ]
    }
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment