Skip to content

Marketplace Software Catalogs

Operations Summary

Method Endpoint Description
GET /api/marketplace-software-catalogs/ List software catalogs
GET /api/marketplace-software-catalogs/{uuid}/ Retrieve a software catalog
POST /api/marketplace-software-catalogs/ Create a software catalog
PUT /api/marketplace-software-catalogs/{uuid}/ Update a software catalog
PATCH /api/marketplace-software-catalogs/{uuid}/ Partially update a software catalog
DELETE /api/marketplace-software-catalogs/{uuid}/ Delete a software catalog

List software catalogs

Returns a paginated list of available software catalogs, such as EESSI or Spack.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-software-catalogs/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_software_catalogs import marketplace_software_catalogs_list # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = marketplace_software_catalogs_list.sync(client=client)

for item in response:
    print(item)
  1. API Source: marketplace_software_catalogs_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { marketplaceSoftwareCatalogsList } from 'waldur-js-client';

try {
  const response = await marketplaceSoftwareCatalogsList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
name string
o array Ordering

page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
version string

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
url string (uri)
uuid string (uuid)
created string (date-time)
modified string (date-time)
name string Catalog name (e.g., EESSI, Spack)
version string Catalog version (e.g., 2023.06, 0.21.0)
catalog_type any Type of software catalog
catalog_type_display string
source_url string (uri) Catalog source URL
description string
metadata any Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled boolean Whether to automatically update this catalog via scheduled tasks
last_update_attempt string (date-time)
last_successful_update string (date-time)
update_errors string
package_count integer

Retrieve a software catalog

Returns the details of a specific software catalog, including its name, version, and the number of packages it contains.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-software-catalogs/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_software_catalogs import marketplace_software_catalogs_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = marketplace_software_catalogs_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: marketplace_software_catalogs_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { marketplaceSoftwareCatalogsRetrieve } from 'waldur-js-client';

try {
  const response = await marketplaceSoftwareCatalogsRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 -

Field Type Description
url string (uri)
uuid string (uuid)
created string (date-time)
modified string (date-time)
name string Catalog name (e.g., EESSI, Spack)
version string Catalog version (e.g., 2023.06, 0.21.0)
catalog_type any Type of software catalog
catalog_type_display string
source_url string (uri) Catalog source URL
description string
metadata any Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled boolean Whether to automatically update this catalog via scheduled tasks
last_update_attempt string (date-time)
last_successful_update string (date-time)
update_errors string
package_count integer

Create a software catalog

Creates a new software catalog. Requires staff permissions.

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/marketplace-software-catalogs/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-marketplace-software-catalog" \
  version="string-value"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.software_catalog_request import SoftwareCatalogRequest # (1)
from waldur_api_client.api.marketplace_software_catalogs import marketplace_software_catalogs_create # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = SoftwareCatalogRequest(
    name="my-awesome-marketplace-software-catalog",
    version="string-value"
)
response = marketplace_software_catalogs_create.sync(
    client=client,
    body=body_data
)

print(response)
  1. Model Source: SoftwareCatalogRequest
  2. API Source: marketplace_software_catalogs_create
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import { marketplaceSoftwareCatalogsCreate } from 'waldur-js-client';

try {
  const response = await marketplaceSoftwareCatalogsCreate({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "name": "my-awesome-marketplace-software-catalog",
    "version": "string-value"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required Description
name string Catalog name (e.g., EESSI, Spack)
version string Catalog version (e.g., 2023.06, 0.21.0)
catalog_type any Type of software catalog
Constraints: default: binary_runtime
source_url string (uri) Catalog source URL
description string
metadata any Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled boolean Whether to automatically update this catalog via scheduled tasks
update_errors string

201 -

Field Type Description
url string (uri)
uuid string (uuid)
created string (date-time)
modified string (date-time)
name string Catalog name (e.g., EESSI, Spack)
version string Catalog version (e.g., 2023.06, 0.21.0)
catalog_type any Type of software catalog
catalog_type_display string
source_url string (uri) Catalog source URL
description string
metadata any Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled boolean Whether to automatically update this catalog via scheduled tasks
last_update_attempt string (date-time)
last_successful_update string (date-time)
update_errors string
package_count integer

Update a software catalog

Updates an existing software catalog. Requires staff permissions.

1
2
3
4
5
6
http \
  PUT \
  https://api.example.com/api/marketplace-software-catalogs/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-marketplace-software-catalog" \
  version="string-value"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.software_catalog_request import SoftwareCatalogRequest # (1)
from waldur_api_client.api.marketplace_software_catalogs import marketplace_software_catalogs_update # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = SoftwareCatalogRequest(
    name="my-awesome-marketplace-software-catalog",
    version="string-value"
)
response = marketplace_software_catalogs_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: SoftwareCatalogRequest
  2. API Source: marketplace_software_catalogs_update
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import { marketplaceSoftwareCatalogsUpdate } from 'waldur-js-client';

try {
  const response = await marketplaceSoftwareCatalogsUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-marketplace-software-catalog",
    "version": "string-value"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string Catalog name (e.g., EESSI, Spack)
version string Catalog version (e.g., 2023.06, 0.21.0)
catalog_type any Type of software catalog
Constraints: default: binary_runtime
source_url string (uri) Catalog source URL
description string
metadata any Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled boolean Whether to automatically update this catalog via scheduled tasks
update_errors string

200 -

Field Type Description
url string (uri)
uuid string (uuid)
created string (date-time)
modified string (date-time)
name string Catalog name (e.g., EESSI, Spack)
version string Catalog version (e.g., 2023.06, 0.21.0)
catalog_type any Type of software catalog
catalog_type_display string
source_url string (uri) Catalog source URL
description string
metadata any Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled boolean Whether to automatically update this catalog via scheduled tasks
last_update_attempt string (date-time)
last_successful_update string (date-time)
update_errors string
package_count integer

Partially update a software catalog

Partially updates an existing software catalog. Requires staff permissions.

1
2
3
4
http \
  PATCH \
  https://api.example.com/api/marketplace-software-catalogs/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.patched_software_catalog_request import PatchedSoftwareCatalogRequest # (1)
from waldur_api_client.api.marketplace_software_catalogs import marketplace_software_catalogs_partial_update # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = PatchedSoftwareCatalogRequest()
response = marketplace_software_catalogs_partial_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: PatchedSoftwareCatalogRequest
  2. API Source: marketplace_software_catalogs_partial_update
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { marketplaceSoftwareCatalogsPartialUpdate } from 'waldur-js-client';

try {
  const response = await marketplaceSoftwareCatalogsPartialUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string Catalog name (e.g., EESSI, Spack)
version string Catalog version (e.g., 2023.06, 0.21.0)
catalog_type any Type of software catalog
Constraints: default: binary_runtime
source_url string (uri) Catalog source URL
description string
metadata any Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled boolean Whether to automatically update this catalog via scheduled tasks
update_errors string

200 -

Field Type Description
url string (uri)
uuid string (uuid)
created string (date-time)
modified string (date-time)
name string Catalog name (e.g., EESSI, Spack)
version string Catalog version (e.g., 2023.06, 0.21.0)
catalog_type any Type of software catalog
catalog_type_display string
source_url string (uri) Catalog source URL
description string
metadata any Catalog-specific metadata (architecture maps, API endpoints, etc.)
auto_update_enabled boolean Whether to automatically update this catalog via scheduled tasks
last_update_attempt string (date-time)
last_successful_update string (date-time)
update_errors string
package_count integer

Delete a software catalog

Deletes a software catalog. Requires staff permissions.

1
2
3
4
http \
  DELETE \
  https://api.example.com/api/marketplace-software-catalogs/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_software_catalogs import marketplace_software_catalogs_destroy # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = marketplace_software_catalogs_destroy.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: marketplace_software_catalogs_destroy
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { marketplaceSoftwareCatalogsDestroy } from 'waldur-js-client';

try {
  const response = await marketplaceSoftwareCatalogsDestroy({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

204 - No response body