Skip to content

Openportal Project Template

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/openportal-project-template/ List Openportal Project Template
GET /api/openportal-project-template/{uuid}/ Retrieve
POST /api/openportal-project-template/ Create ProjectTemplate object
PUT /api/openportal-project-template/{uuid}/ Update ProjectTemplate object (full update)
PATCH /api/openportal-project-template/{uuid}/ Partially update ProjectTemplate object
DELETE /api/openportal-project-template/{uuid}/ Delete
Other Actions
DELETE /api/openportal-project-template/{uuid}/delete/ Delete ProjectTemplate object

Core CRUD

List Openportal Project Template

1
2
3
4
http \
  GET \
  https://api.example.com/api/openportal-project-template/ \
  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.openportal_project_template import openportal_project_template_list # (1)

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

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

try {
  const response = await openportalProjectTemplateList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
name string
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
portal string
uuid string (uuid)

200 -

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

Field Type Description
uuid string (uuid)
name string
offering string The offering for which this template applies.
provider string (uri)
provider_data any
portal string
key string The key that is used to authenticate requests for this class.
customer string (uri)
customer_data any
shortname string
offerings array of string (uri)s
offerings_data array of objects
offerings_data.url string (uri)
offerings_data.uuid string (uuid)
offerings_data.created string (date-time)
offerings_data.name string
offerings_data.slug string
offerings_data.description string
offerings_data.full_description string
offerings_data.privacy_policy_link string (uri)
offerings_data.access_url string (uri) Publicly accessible offering access URL
offerings_data.endpoints array of objects
offerings_data.endpoints.uuid string (uuid)
offerings_data.endpoints.name string
offerings_data.endpoints.url string
offerings_data.software_catalogs array of objects
offerings_data.software_catalogs.uuid string (uuid)
offerings_data.software_catalogs.catalog object
offerings_data.software_catalogs.catalog.uuid string
offerings_data.software_catalogs.catalog.name string
offerings_data.software_catalogs.catalog.version string
offerings_data.software_catalogs.catalog.description string
offerings_data.software_catalogs.enabled_cpu_family any List of enabled CPU families: ['x86_64', 'aarch64']
offerings_data.software_catalogs.enabled_cpu_microarchitectures any List of enabled CPU microarchitectures: ['generic', 'zen3']
offerings_data.software_catalogs.package_count integer
offerings_data.software_catalogs.partition object
offerings_data.software_catalogs.partition.uuid string
offerings_data.software_catalogs.partition.partition_name string
offerings_data.software_catalogs.partition.priority_tier integer
offerings_data.software_catalogs.partition.qos string
offerings_data.partitions array of objects
offerings_data.partitions.uuid string (uuid)
offerings_data.partitions.partition_name string Name of the SLURM partition
offerings_data.partitions.cpu_bind integer Default task binding policy (SLURM cpu_bind)
offerings_data.partitions.def_cpu_per_gpu integer Default CPUs allocated per GPU
offerings_data.partitions.max_cpus_per_node integer Maximum allocated CPUs per node
offerings_data.partitions.max_cpus_per_socket integer Maximum allocated CPUs per socket
offerings_data.partitions.def_mem_per_cpu integer (int64) Default memory per CPU in MB
offerings_data.partitions.def_mem_per_gpu integer (int64) Default memory per GPU in MB
offerings_data.partitions.def_mem_per_node integer (int64) Default memory per node in MB
offerings_data.partitions.max_mem_per_cpu integer (int64) Maximum memory per CPU in MB
offerings_data.partitions.max_mem_per_node integer (int64) Maximum memory per node in MB
offerings_data.partitions.default_time integer Default time limit in minutes
offerings_data.partitions.max_time integer Maximum time limit in minutes
offerings_data.partitions.grace_time integer Preemption grace time in seconds
offerings_data.partitions.max_nodes integer Maximum nodes per job
offerings_data.partitions.min_nodes integer Minimum nodes per job
offerings_data.partitions.exclusive_topo boolean Exclusive topology access required
offerings_data.partitions.exclusive_user boolean Exclusive user access required
offerings_data.partitions.priority_tier integer Priority tier for scheduling and preemption
offerings_data.partitions.qos string Quality of Service (QOS) name
offerings_data.partitions.req_resv boolean Require reservation for job allocation
offerings_data.roles array of objects
offerings_data.roles.uuid string (uuid)
offerings_data.roles.name string
offerings_data.roles.url string (uri)
offerings_data.customer string (uri)
offerings_data.customer_uuid string (uuid)
offerings_data.customer_name string
offerings_data.project string (uri)
offerings_data.project_uuid string (uuid)
offerings_data.project_name string
offerings_data.category string (uri)
offerings_data.category_uuid string (uuid)
offerings_data.category_title string
offerings_data.attributes object (free-form)
offerings_data.options any
offerings_data.resource_options any
offerings_data.components array of objects
offerings_data.components.uuid string (uuid)
offerings_data.components.billing_type string
Enum: fixed, usage, limit, one, few
offerings_data.components.type string Unique internal name of the measured unit, for example floating_ip.
offerings_data.components.name string Display name for the measured unit, for example, Floating IP.
offerings_data.components.description string
offerings_data.components.measured_unit string Unit of measurement, for example, GB.
offerings_data.components.unit_factor integer The conversion factor from backend units to measured_unit
offerings_data.components.limit_period any
offerings_data.components.limit_amount integer
offerings_data.components.article_code string
offerings_data.components.max_value integer
offerings_data.components.min_value integer
offerings_data.components.max_available_limit integer
offerings_data.components.is_boolean boolean
offerings_data.components.default_limit integer
offerings_data.components.factor integer
offerings_data.components.is_builtin boolean
offerings_data.components.is_prepaid boolean
offerings_data.components.overage_component string (uuid)
offerings_data.components.min_prepaid_duration integer
offerings_data.components.max_prepaid_duration integer
offerings_data.plugin_options any
offerings_data.secret_options any
offerings_data.service_attributes object (free-form)
offerings_data.state any
offerings_data.vendor_details string
offerings_data.getting_started string
offerings_data.integration_guide string
offerings_data.thumbnail string (uri)
offerings_data.order_count integer
offerings_data.plans array of objects
offerings_data.plans.url string (uri)
offerings_data.plans.uuid string (uuid)
offerings_data.plans.name string
offerings_data.plans.description string
offerings_data.plans.article_code string
offerings_data.plans.max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
offerings_data.plans.archived boolean Forbids creation of new resources.
offerings_data.plans.is_active boolean
offerings_data.plans.unit_price string (decimal)
offerings_data.plans.unit string
Enum: month, quarter, half_month, day, hour, quantity
offerings_data.plans.init_price number (double)
offerings_data.plans.switch_price number (double)
offerings_data.plans.backend_id string
offerings_data.plans.organization_groups array of objects
offerings_data.plans.organization_groups.uuid string (uuid)
offerings_data.plans.organization_groups.url string (uri)
offerings_data.plans.organization_groups.name string
offerings_data.plans.organization_groups.parent_uuid string (uuid)
offerings_data.plans.organization_groups.parent_name string
offerings_data.plans.organization_groups.parent string (uri)
offerings_data.plans.organization_groups.customers_count integer
offerings_data.plans.components array of objects
offerings_data.plans.components.type string Unique internal name of the measured unit, for example floating_ip.
offerings_data.plans.components.name string Display name for the measured unit, for example, Floating IP.
offerings_data.plans.components.measured_unit string Unit of measurement, for example, GB.
offerings_data.plans.components.amount integer
offerings_data.plans.components.price string (decimal)
offerings_data.plans.components.future_price string (decimal)
offerings_data.plans.components.discount_threshold integer Minimum amount to be eligible for discount.
offerings_data.plans.components.discount_rate integer Discount rate in percentage.
offerings_data.plans.prices object (free-form)
offerings_data.plans.future_prices object (free-form)
offerings_data.plans.quotas object (free-form)
offerings_data.plans.resources_count integer
offerings_data.plans.plan_type string
offerings_data.plans.minimal_price number (double)
offerings_data.screenshots array of objects
offerings_data.screenshots.name string
offerings_data.screenshots.uuid string (uuid)
offerings_data.screenshots.description string
offerings_data.screenshots.image string (uri)
offerings_data.screenshots.thumbnail string (uri)
offerings_data.screenshots.created string (date-time)
offerings_data.type string
offerings_data.shared boolean Accessible to all customers.
offerings_data.billable boolean Purchase and usage is invoiced.
offerings_data.scope string
offerings_data.scope_uuid string (uuid)
offerings_data.scope_name string (uuid)
offerings_data.scope_state any
offerings_data.scope_error_message string
offerings_data.files array of objects
offerings_data.files.name string
offerings_data.files.created string (date-time)
offerings_data.files.file string (uri)
offerings_data.quotas array of objects
offerings_data.quotas.name string
offerings_data.quotas.usage integer
offerings_data.quotas.limit integer
offerings_data.paused_reason string
offerings_data.datacite_doi string
offerings_data.citation_count integer Number of citations of a DOI
offerings_data.latitude number (double)
offerings_data.longitude number (double)
offerings_data.country any
offerings_data.backend_id string
offerings_data.organization_groups array of objects
offerings_data.organization_groups.uuid string (uuid)
offerings_data.organization_groups.url string (uri)
offerings_data.organization_groups.name string
offerings_data.organization_groups.parent_uuid string (uuid)
offerings_data.organization_groups.parent_name string
offerings_data.organization_groups.parent string (uri)
offerings_data.organization_groups.customers_count integer
offerings_data.image string (uri)
offerings_data.total_customers integer
offerings_data.total_cost integer
offerings_data.total_cost_estimated integer
offerings_data.parent_description string
offerings_data.parent_uuid string (uuid)
offerings_data.parent_name string
offerings_data.backend_metadata any
offerings_data.has_compliance_requirements boolean
offerings_data.compliance_checklist string (uri)
offerings_data.integration_status array of objects
offerings_data.integration_status.agent_type any
offerings_data.integration_status.status string
offerings_data.integration_status.last_request_timestamp string (date-time)
offerings_data.integration_status.service_name string
offerings_data.google_calendar_is_public boolean
offerings_data.google_calendar_link string Get the Google Calendar link for an offering.
approval_limit string (decimal) The credit limit beyond which requests need to be approved by a local admin. If this is None, then no local approval is required. If this is set to 0, then all requests (including creating the project) need to be approved.
max_credit_limit string (decimal) The maximum credit limit for any projects created in this class. Any requests beyond this limit are automatically rejected. If this is None, then no maximum limit is set. If this is set to 0, then no projects can be created in this class.
allocation_units_mapping any The mapping of credits to allocation units, i.e. how many allocation units to award per credit allocated.
role_mapping any The mapping of role names from the remote portal to role information in this portal for users in projects created in this class.
role_mapping_data object (free-form) Serialize the role mapping dictionary returned by get_role_mapping()

Retrieve

1
2
3
4
http \
  GET \
  https://api.example.com/api/openportal-project-template/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.openportal_project_template import openportal_project_template_retrieve # (1)

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

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

try {
  const response = await openportalProjectTemplateRetrieve({
  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
uuid string (uuid)
name string
offering string The offering for which this template applies.
provider string (uri)
provider_data any
portal string
key string The key that is used to authenticate requests for this class.
customer string (uri)
customer_data any
shortname string
offerings array of string (uri)s
offerings_data array of objects
offerings_data.url string (uri)
offerings_data.uuid string (uuid)
offerings_data.created string (date-time)
offerings_data.name string
offerings_data.slug string
offerings_data.description string
offerings_data.full_description string
offerings_data.privacy_policy_link string (uri)
offerings_data.access_url string (uri) Publicly accessible offering access URL
offerings_data.endpoints array of objects
offerings_data.endpoints.uuid string (uuid)
offerings_data.endpoints.name string
offerings_data.endpoints.url string
offerings_data.software_catalogs array of objects
offerings_data.software_catalogs.uuid string (uuid)
offerings_data.software_catalogs.catalog object
offerings_data.software_catalogs.catalog.uuid string
offerings_data.software_catalogs.catalog.name string
offerings_data.software_catalogs.catalog.version string
offerings_data.software_catalogs.catalog.description string
offerings_data.software_catalogs.enabled_cpu_family any List of enabled CPU families: ['x86_64', 'aarch64']
offerings_data.software_catalogs.enabled_cpu_microarchitectures any List of enabled CPU microarchitectures: ['generic', 'zen3']
offerings_data.software_catalogs.package_count integer
offerings_data.software_catalogs.partition object
offerings_data.software_catalogs.partition.uuid string
offerings_data.software_catalogs.partition.partition_name string
offerings_data.software_catalogs.partition.priority_tier integer
offerings_data.software_catalogs.partition.qos string
offerings_data.partitions array of objects
offerings_data.partitions.uuid string (uuid)
offerings_data.partitions.partition_name string Name of the SLURM partition
offerings_data.partitions.cpu_bind integer Default task binding policy (SLURM cpu_bind)
offerings_data.partitions.def_cpu_per_gpu integer Default CPUs allocated per GPU
offerings_data.partitions.max_cpus_per_node integer Maximum allocated CPUs per node
offerings_data.partitions.max_cpus_per_socket integer Maximum allocated CPUs per socket
offerings_data.partitions.def_mem_per_cpu integer (int64) Default memory per CPU in MB
offerings_data.partitions.def_mem_per_gpu integer (int64) Default memory per GPU in MB
offerings_data.partitions.def_mem_per_node integer (int64) Default memory per node in MB
offerings_data.partitions.max_mem_per_cpu integer (int64) Maximum memory per CPU in MB
offerings_data.partitions.max_mem_per_node integer (int64) Maximum memory per node in MB
offerings_data.partitions.default_time integer Default time limit in minutes
offerings_data.partitions.max_time integer Maximum time limit in minutes
offerings_data.partitions.grace_time integer Preemption grace time in seconds
offerings_data.partitions.max_nodes integer Maximum nodes per job
offerings_data.partitions.min_nodes integer Minimum nodes per job
offerings_data.partitions.exclusive_topo boolean Exclusive topology access required
offerings_data.partitions.exclusive_user boolean Exclusive user access required
offerings_data.partitions.priority_tier integer Priority tier for scheduling and preemption
offerings_data.partitions.qos string Quality of Service (QOS) name
offerings_data.partitions.req_resv boolean Require reservation for job allocation
offerings_data.roles array of objects
offerings_data.roles.uuid string (uuid)
offerings_data.roles.name string
offerings_data.roles.url string (uri)
offerings_data.customer string (uri)
offerings_data.customer_uuid string (uuid)
offerings_data.customer_name string
offerings_data.project string (uri)
offerings_data.project_uuid string (uuid)
offerings_data.project_name string
offerings_data.category string (uri)
offerings_data.category_uuid string (uuid)
offerings_data.category_title string
offerings_data.attributes object (free-form)
offerings_data.options any
offerings_data.resource_options any
offerings_data.components array of objects
offerings_data.components.uuid string (uuid)
offerings_data.components.billing_type string
Enum: fixed, usage, limit, one, few
offerings_data.components.type string Unique internal name of the measured unit, for example floating_ip.
offerings_data.components.name string Display name for the measured unit, for example, Floating IP.
offerings_data.components.description string
offerings_data.components.measured_unit string Unit of measurement, for example, GB.
offerings_data.components.unit_factor integer The conversion factor from backend units to measured_unit
offerings_data.components.limit_period any
offerings_data.components.limit_amount integer
offerings_data.components.article_code string
offerings_data.components.max_value integer
offerings_data.components.min_value integer
offerings_data.components.max_available_limit integer
offerings_data.components.is_boolean boolean
offerings_data.components.default_limit integer
offerings_data.components.factor integer
offerings_data.components.is_builtin boolean
offerings_data.components.is_prepaid boolean
offerings_data.components.overage_component string (uuid)
offerings_data.components.min_prepaid_duration integer
offerings_data.components.max_prepaid_duration integer
offerings_data.plugin_options any
offerings_data.secret_options any
offerings_data.service_attributes object (free-form)
offerings_data.state any
offerings_data.vendor_details string
offerings_data.getting_started string
offerings_data.integration_guide string
offerings_data.thumbnail string (uri)
offerings_data.order_count integer
offerings_data.plans array of objects
offerings_data.plans.url string (uri)
offerings_data.plans.uuid string (uuid)
offerings_data.plans.name string
offerings_data.plans.description string
offerings_data.plans.article_code string
offerings_data.plans.max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
offerings_data.plans.archived boolean Forbids creation of new resources.
offerings_data.plans.is_active boolean
offerings_data.plans.unit_price string (decimal)
offerings_data.plans.unit string
Enum: month, quarter, half_month, day, hour, quantity
offerings_data.plans.init_price number (double)
offerings_data.plans.switch_price number (double)
offerings_data.plans.backend_id string
offerings_data.plans.organization_groups array of objects
offerings_data.plans.organization_groups.uuid string (uuid)
offerings_data.plans.organization_groups.url string (uri)
offerings_data.plans.organization_groups.name string
offerings_data.plans.organization_groups.parent_uuid string (uuid)
offerings_data.plans.organization_groups.parent_name string
offerings_data.plans.organization_groups.parent string (uri)
offerings_data.plans.organization_groups.customers_count integer
offerings_data.plans.components array of objects
offerings_data.plans.components.type string Unique internal name of the measured unit, for example floating_ip.
offerings_data.plans.components.name string Display name for the measured unit, for example, Floating IP.
offerings_data.plans.components.measured_unit string Unit of measurement, for example, GB.
offerings_data.plans.components.amount integer
offerings_data.plans.components.price string (decimal)
offerings_data.plans.components.future_price string (decimal)
offerings_data.plans.components.discount_threshold integer Minimum amount to be eligible for discount.
offerings_data.plans.components.discount_rate integer Discount rate in percentage.
offerings_data.plans.prices object (free-form)
offerings_data.plans.future_prices object (free-form)
offerings_data.plans.quotas object (free-form)
offerings_data.plans.resources_count integer
offerings_data.plans.plan_type string
offerings_data.plans.minimal_price number (double)
offerings_data.screenshots array of objects
offerings_data.screenshots.name string
offerings_data.screenshots.uuid string (uuid)
offerings_data.screenshots.description string
offerings_data.screenshots.image string (uri)
offerings_data.screenshots.thumbnail string (uri)
offerings_data.screenshots.created string (date-time)
offerings_data.type string
offerings_data.shared boolean Accessible to all customers.
offerings_data.billable boolean Purchase and usage is invoiced.
offerings_data.scope string
offerings_data.scope_uuid string (uuid)
offerings_data.scope_name string (uuid)
offerings_data.scope_state any
offerings_data.scope_error_message string
offerings_data.files array of objects
offerings_data.files.name string
offerings_data.files.created string (date-time)
offerings_data.files.file string (uri)
offerings_data.quotas array of objects
offerings_data.quotas.name string
offerings_data.quotas.usage integer
offerings_data.quotas.limit integer
offerings_data.paused_reason string
offerings_data.datacite_doi string
offerings_data.citation_count integer Number of citations of a DOI
offerings_data.latitude number (double)
offerings_data.longitude number (double)
offerings_data.country any
offerings_data.backend_id string
offerings_data.organization_groups array of objects
offerings_data.organization_groups.uuid string (uuid)
offerings_data.organization_groups.url string (uri)
offerings_data.organization_groups.name string
offerings_data.organization_groups.parent_uuid string (uuid)
offerings_data.organization_groups.parent_name string
offerings_data.organization_groups.parent string (uri)
offerings_data.organization_groups.customers_count integer
offerings_data.image string (uri)
offerings_data.total_customers integer
offerings_data.total_cost integer
offerings_data.total_cost_estimated integer
offerings_data.parent_description string
offerings_data.parent_uuid string (uuid)
offerings_data.parent_name string
offerings_data.backend_metadata any
offerings_data.has_compliance_requirements boolean
offerings_data.compliance_checklist string (uri)
offerings_data.integration_status array of objects
offerings_data.integration_status.agent_type any
offerings_data.integration_status.status string
offerings_data.integration_status.last_request_timestamp string (date-time)
offerings_data.integration_status.service_name string
offerings_data.google_calendar_is_public boolean
offerings_data.google_calendar_link string Get the Google Calendar link for an offering.
approval_limit string (decimal) The credit limit beyond which requests need to be approved by a local admin. If this is None, then no local approval is required. If this is set to 0, then all requests (including creating the project) need to be approved.
max_credit_limit string (decimal) The maximum credit limit for any projects created in this class. Any requests beyond this limit are automatically rejected. If this is None, then no maximum limit is set. If this is set to 0, then no projects can be created in this class.
allocation_units_mapping any The mapping of credits to allocation units, i.e. how many allocation units to award per credit allocated.
role_mapping any The mapping of role names from the remote portal to role information in this portal for users in projects created in this class.
role_mapping_data object (free-form) Serialize the role mapping dictionary returned by get_role_mapping()

Create ProjectTemplate object

Create ProjectTemplate object

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
http \
  POST \
  https://api.example.com/api/openportal-project-template/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openportal-project-template" \
  offering="string-value" \
  provider="https://api.example.com/api/provider/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  portal="string-value" \
  customer="https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  offerings:='[]'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.project_template_request import ProjectTemplateRequest # (1)
from waldur_api_client.api.openportal_project_template import openportal_project_template_create # (2)

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

body_data = ProjectTemplateRequest(
    name="my-awesome-openportal-project-template",
    offering="string-value",
    provider="https://api.example.com/api/provider/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    portal="string-value",
    customer="https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    offerings=[]
)
response = openportal_project_template_create.sync(
    client=client,
    body=body_data
)

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

try {
  const response = await openportalProjectTemplateCreate({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "name": "my-awesome-openportal-project-template",
    "offering": "string-value",
    "provider": "https://api.example.com/api/provider/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    "portal": "string-value",
    "customer": "https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    "offerings": []
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required Description
name string
offering string The offering for which this template applies.
provider string (uri)
portal string
key string The key that is used to authenticate requests for this class.
customer string (uri)
shortname string
offerings array of string (uri)s
approval_limit string (decimal) The credit limit beyond which requests need to be approved by a local admin. If this is None, then no local approval is required. If this is set to 0, then all requests (including creating the project) need to be approved.
max_credit_limit string (decimal) The maximum credit limit for any projects created in this class. Any requests beyond this limit are automatically rejected. If this is None, then no maximum limit is set. If this is set to 0, then no projects can be created in this class.
allocation_units_mapping any The mapping of credits to allocation units, i.e. how many allocation units to award per credit allocated.
role_mapping any The mapping of role names from the remote portal to role information in this portal for users in projects created in this class.

201 -

Field Type Description
uuid string (uuid)
name string
offering string The offering for which this template applies.
provider string (uri)
provider_data any
portal string
key string The key that is used to authenticate requests for this class.
customer string (uri)
customer_data any
shortname string
offerings array of string (uri)s
offerings_data array of objects
offerings_data.url string (uri)
offerings_data.uuid string (uuid)
offerings_data.created string (date-time)
offerings_data.name string
offerings_data.slug string
offerings_data.description string
offerings_data.full_description string
offerings_data.privacy_policy_link string (uri)
offerings_data.access_url string (uri) Publicly accessible offering access URL
offerings_data.endpoints array of objects
offerings_data.endpoints.uuid string (uuid)
offerings_data.endpoints.name string
offerings_data.endpoints.url string
offerings_data.software_catalogs array of objects
offerings_data.software_catalogs.uuid string (uuid)
offerings_data.software_catalogs.catalog object
offerings_data.software_catalogs.catalog.uuid string
offerings_data.software_catalogs.catalog.name string
offerings_data.software_catalogs.catalog.version string
offerings_data.software_catalogs.catalog.description string
offerings_data.software_catalogs.enabled_cpu_family any List of enabled CPU families: ['x86_64', 'aarch64']
offerings_data.software_catalogs.enabled_cpu_microarchitectures any List of enabled CPU microarchitectures: ['generic', 'zen3']
offerings_data.software_catalogs.package_count integer
offerings_data.software_catalogs.partition object
offerings_data.software_catalogs.partition.uuid string
offerings_data.software_catalogs.partition.partition_name string
offerings_data.software_catalogs.partition.priority_tier integer
offerings_data.software_catalogs.partition.qos string
offerings_data.partitions array of objects
offerings_data.partitions.uuid string (uuid)
offerings_data.partitions.partition_name string Name of the SLURM partition
offerings_data.partitions.cpu_bind integer Default task binding policy (SLURM cpu_bind)
offerings_data.partitions.def_cpu_per_gpu integer Default CPUs allocated per GPU
offerings_data.partitions.max_cpus_per_node integer Maximum allocated CPUs per node
offerings_data.partitions.max_cpus_per_socket integer Maximum allocated CPUs per socket
offerings_data.partitions.def_mem_per_cpu integer (int64) Default memory per CPU in MB
offerings_data.partitions.def_mem_per_gpu integer (int64) Default memory per GPU in MB
offerings_data.partitions.def_mem_per_node integer (int64) Default memory per node in MB
offerings_data.partitions.max_mem_per_cpu integer (int64) Maximum memory per CPU in MB
offerings_data.partitions.max_mem_per_node integer (int64) Maximum memory per node in MB
offerings_data.partitions.default_time integer Default time limit in minutes
offerings_data.partitions.max_time integer Maximum time limit in minutes
offerings_data.partitions.grace_time integer Preemption grace time in seconds
offerings_data.partitions.max_nodes integer Maximum nodes per job
offerings_data.partitions.min_nodes integer Minimum nodes per job
offerings_data.partitions.exclusive_topo boolean Exclusive topology access required
offerings_data.partitions.exclusive_user boolean Exclusive user access required
offerings_data.partitions.priority_tier integer Priority tier for scheduling and preemption
offerings_data.partitions.qos string Quality of Service (QOS) name
offerings_data.partitions.req_resv boolean Require reservation for job allocation
offerings_data.roles array of objects
offerings_data.roles.uuid string (uuid)
offerings_data.roles.name string
offerings_data.roles.url string (uri)
offerings_data.customer string (uri)
offerings_data.customer_uuid string (uuid)
offerings_data.customer_name string
offerings_data.project string (uri)
offerings_data.project_uuid string (uuid)
offerings_data.project_name string
offerings_data.category string (uri)
offerings_data.category_uuid string (uuid)
offerings_data.category_title string
offerings_data.attributes object (free-form)
offerings_data.options any
offerings_data.resource_options any
offerings_data.components array of objects
offerings_data.components.uuid string (uuid)
offerings_data.components.billing_type string
Enum: fixed, usage, limit, one, few
offerings_data.components.type string Unique internal name of the measured unit, for example floating_ip.
offerings_data.components.name string Display name for the measured unit, for example, Floating IP.
offerings_data.components.description string
offerings_data.components.measured_unit string Unit of measurement, for example, GB.
offerings_data.components.unit_factor integer The conversion factor from backend units to measured_unit
offerings_data.components.limit_period any
offerings_data.components.limit_amount integer
offerings_data.components.article_code string
offerings_data.components.max_value integer
offerings_data.components.min_value integer
offerings_data.components.max_available_limit integer
offerings_data.components.is_boolean boolean
offerings_data.components.default_limit integer
offerings_data.components.factor integer
offerings_data.components.is_builtin boolean
offerings_data.components.is_prepaid boolean
offerings_data.components.overage_component string (uuid)
offerings_data.components.min_prepaid_duration integer
offerings_data.components.max_prepaid_duration integer
offerings_data.plugin_options any
offerings_data.secret_options any
offerings_data.service_attributes object (free-form)
offerings_data.state any
offerings_data.vendor_details string
offerings_data.getting_started string
offerings_data.integration_guide string
offerings_data.thumbnail string (uri)
offerings_data.order_count integer
offerings_data.plans array of objects
offerings_data.plans.url string (uri)
offerings_data.plans.uuid string (uuid)
offerings_data.plans.name string
offerings_data.plans.description string
offerings_data.plans.article_code string
offerings_data.plans.max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
offerings_data.plans.archived boolean Forbids creation of new resources.
offerings_data.plans.is_active boolean
offerings_data.plans.unit_price string (decimal)
offerings_data.plans.unit string
Enum: month, quarter, half_month, day, hour, quantity
offerings_data.plans.init_price number (double)
offerings_data.plans.switch_price number (double)
offerings_data.plans.backend_id string
offerings_data.plans.organization_groups array of objects
offerings_data.plans.organization_groups.uuid string (uuid)
offerings_data.plans.organization_groups.url string (uri)
offerings_data.plans.organization_groups.name string
offerings_data.plans.organization_groups.parent_uuid string (uuid)
offerings_data.plans.organization_groups.parent_name string
offerings_data.plans.organization_groups.parent string (uri)
offerings_data.plans.organization_groups.customers_count integer
offerings_data.plans.components array of objects
offerings_data.plans.components.type string Unique internal name of the measured unit, for example floating_ip.
offerings_data.plans.components.name string Display name for the measured unit, for example, Floating IP.
offerings_data.plans.components.measured_unit string Unit of measurement, for example, GB.
offerings_data.plans.components.amount integer
offerings_data.plans.components.price string (decimal)
offerings_data.plans.components.future_price string (decimal)
offerings_data.plans.components.discount_threshold integer Minimum amount to be eligible for discount.
offerings_data.plans.components.discount_rate integer Discount rate in percentage.
offerings_data.plans.prices object (free-form)
offerings_data.plans.future_prices object (free-form)
offerings_data.plans.quotas object (free-form)
offerings_data.plans.resources_count integer
offerings_data.plans.plan_type string
offerings_data.plans.minimal_price number (double)
offerings_data.screenshots array of objects
offerings_data.screenshots.name string
offerings_data.screenshots.uuid string (uuid)
offerings_data.screenshots.description string
offerings_data.screenshots.image string (uri)
offerings_data.screenshots.thumbnail string (uri)
offerings_data.screenshots.created string (date-time)
offerings_data.type string
offerings_data.shared boolean Accessible to all customers.
offerings_data.billable boolean Purchase and usage is invoiced.
offerings_data.scope string
offerings_data.scope_uuid string (uuid)
offerings_data.scope_name string (uuid)
offerings_data.scope_state any
offerings_data.scope_error_message string
offerings_data.files array of objects
offerings_data.files.name string
offerings_data.files.created string (date-time)
offerings_data.files.file string (uri)
offerings_data.quotas array of objects
offerings_data.quotas.name string
offerings_data.quotas.usage integer
offerings_data.quotas.limit integer
offerings_data.paused_reason string
offerings_data.datacite_doi string
offerings_data.citation_count integer Number of citations of a DOI
offerings_data.latitude number (double)
offerings_data.longitude number (double)
offerings_data.country any
offerings_data.backend_id string
offerings_data.organization_groups array of objects
offerings_data.organization_groups.uuid string (uuid)
offerings_data.organization_groups.url string (uri)
offerings_data.organization_groups.name string
offerings_data.organization_groups.parent_uuid string (uuid)
offerings_data.organization_groups.parent_name string
offerings_data.organization_groups.parent string (uri)
offerings_data.organization_groups.customers_count integer
offerings_data.image string (uri)
offerings_data.total_customers integer
offerings_data.total_cost integer
offerings_data.total_cost_estimated integer
offerings_data.parent_description string
offerings_data.parent_uuid string (uuid)
offerings_data.parent_name string
offerings_data.backend_metadata any
offerings_data.has_compliance_requirements boolean
offerings_data.compliance_checklist string (uri)
offerings_data.integration_status array of objects
offerings_data.integration_status.agent_type any
offerings_data.integration_status.status string
offerings_data.integration_status.last_request_timestamp string (date-time)
offerings_data.integration_status.service_name string
offerings_data.google_calendar_is_public boolean
offerings_data.google_calendar_link string Get the Google Calendar link for an offering.
approval_limit string (decimal) The credit limit beyond which requests need to be approved by a local admin. If this is None, then no local approval is required. If this is set to 0, then all requests (including creating the project) need to be approved.
max_credit_limit string (decimal) The maximum credit limit for any projects created in this class. Any requests beyond this limit are automatically rejected. If this is None, then no maximum limit is set. If this is set to 0, then no projects can be created in this class.
allocation_units_mapping any The mapping of credits to allocation units, i.e. how many allocation units to award per credit allocated.
role_mapping any The mapping of role names from the remote portal to role information in this portal for users in projects created in this class.
role_mapping_data object (free-form) Serialize the role mapping dictionary returned by get_role_mapping()

Update ProjectTemplate object (full update)

Update ProjectTemplate object (full update)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
http \
  PUT \
  https://api.example.com/api/openportal-project-template/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  name="my-awesome-openportal-project-template" \
  offering="string-value" \
  provider="https://api.example.com/api/provider/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  portal="string-value" \
  customer="https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  offerings:='[]'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.project_template_request import ProjectTemplateRequest # (1)
from waldur_api_client.api.openportal_project_template import openportal_project_template_update # (2)

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

body_data = ProjectTemplateRequest(
    name="my-awesome-openportal-project-template",
    offering="string-value",
    provider="https://api.example.com/api/provider/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    portal="string-value",
    customer="https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    offerings=[]
)
response = openportal_project_template_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: ProjectTemplateRequest
  2. API Source: openportal_project_template_update
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import { openportalProjectTemplateUpdate } from 'waldur-js-client';

try {
  const response = await openportalProjectTemplateUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "name": "my-awesome-openportal-project-template",
    "offering": "string-value",
    "provider": "https://api.example.com/api/provider/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    "portal": "string-value",
    "customer": "https://api.example.com/api/customer/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    "offerings": []
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
name string
offering string The offering for which this template applies.
provider string (uri)
portal string
key string The key that is used to authenticate requests for this class.
customer string (uri)
shortname string
offerings array of string (uri)s
approval_limit string (decimal) The credit limit beyond which requests need to be approved by a local admin. If this is None, then no local approval is required. If this is set to 0, then all requests (including creating the project) need to be approved.
max_credit_limit string (decimal) The maximum credit limit for any projects created in this class. Any requests beyond this limit are automatically rejected. If this is None, then no maximum limit is set. If this is set to 0, then no projects can be created in this class.
allocation_units_mapping any The mapping of credits to allocation units, i.e. how many allocation units to award per credit allocated.
role_mapping any The mapping of role names from the remote portal to role information in this portal for users in projects created in this class.

200 -

Field Type Description
uuid string (uuid)
name string
offering string The offering for which this template applies.
provider string (uri)
provider_data any
portal string
key string The key that is used to authenticate requests for this class.
customer string (uri)
customer_data any
shortname string
offerings array of string (uri)s
offerings_data array of objects
offerings_data.url string (uri)
offerings_data.uuid string (uuid)
offerings_data.created string (date-time)
offerings_data.name string
offerings_data.slug string
offerings_data.description string
offerings_data.full_description string
offerings_data.privacy_policy_link string (uri)
offerings_data.access_url string (uri) Publicly accessible offering access URL
offerings_data.endpoints array of objects
offerings_data.endpoints.uuid string (uuid)
offerings_data.endpoints.name string
offerings_data.endpoints.url string
offerings_data.software_catalogs array of objects
offerings_data.software_catalogs.uuid string (uuid)
offerings_data.software_catalogs.catalog object
offerings_data.software_catalogs.catalog.uuid string
offerings_data.software_catalogs.catalog.name string
offerings_data.software_catalogs.catalog.version string
offerings_data.software_catalogs.catalog.description string
offerings_data.software_catalogs.enabled_cpu_family any List of enabled CPU families: ['x86_64', 'aarch64']
offerings_data.software_catalogs.enabled_cpu_microarchitectures any List of enabled CPU microarchitectures: ['generic', 'zen3']
offerings_data.software_catalogs.package_count integer
offerings_data.software_catalogs.partition object
offerings_data.software_catalogs.partition.uuid string
offerings_data.software_catalogs.partition.partition_name string
offerings_data.software_catalogs.partition.priority_tier integer
offerings_data.software_catalogs.partition.qos string
offerings_data.partitions array of objects
offerings_data.partitions.uuid string (uuid)
offerings_data.partitions.partition_name string Name of the SLURM partition
offerings_data.partitions.cpu_bind integer Default task binding policy (SLURM cpu_bind)
offerings_data.partitions.def_cpu_per_gpu integer Default CPUs allocated per GPU
offerings_data.partitions.max_cpus_per_node integer Maximum allocated CPUs per node
offerings_data.partitions.max_cpus_per_socket integer Maximum allocated CPUs per socket
offerings_data.partitions.def_mem_per_cpu integer (int64) Default memory per CPU in MB
offerings_data.partitions.def_mem_per_gpu integer (int64) Default memory per GPU in MB
offerings_data.partitions.def_mem_per_node integer (int64) Default memory per node in MB
offerings_data.partitions.max_mem_per_cpu integer (int64) Maximum memory per CPU in MB
offerings_data.partitions.max_mem_per_node integer (int64) Maximum memory per node in MB
offerings_data.partitions.default_time integer Default time limit in minutes
offerings_data.partitions.max_time integer Maximum time limit in minutes
offerings_data.partitions.grace_time integer Preemption grace time in seconds
offerings_data.partitions.max_nodes integer Maximum nodes per job
offerings_data.partitions.min_nodes integer Minimum nodes per job
offerings_data.partitions.exclusive_topo boolean Exclusive topology access required
offerings_data.partitions.exclusive_user boolean Exclusive user access required
offerings_data.partitions.priority_tier integer Priority tier for scheduling and preemption
offerings_data.partitions.qos string Quality of Service (QOS) name
offerings_data.partitions.req_resv boolean Require reservation for job allocation
offerings_data.roles array of objects
offerings_data.roles.uuid string (uuid)
offerings_data.roles.name string
offerings_data.roles.url string (uri)
offerings_data.customer string (uri)
offerings_data.customer_uuid string (uuid)
offerings_data.customer_name string
offerings_data.project string (uri)
offerings_data.project_uuid string (uuid)
offerings_data.project_name string
offerings_data.category string (uri)
offerings_data.category_uuid string (uuid)
offerings_data.category_title string
offerings_data.attributes object (free-form)
offerings_data.options any
offerings_data.resource_options any
offerings_data.components array of objects
offerings_data.components.uuid string (uuid)
offerings_data.components.billing_type string
Enum: fixed, usage, limit, one, few
offerings_data.components.type string Unique internal name of the measured unit, for example floating_ip.
offerings_data.components.name string Display name for the measured unit, for example, Floating IP.
offerings_data.components.description string
offerings_data.components.measured_unit string Unit of measurement, for example, GB.
offerings_data.components.unit_factor integer The conversion factor from backend units to measured_unit
offerings_data.components.limit_period any
offerings_data.components.limit_amount integer
offerings_data.components.article_code string
offerings_data.components.max_value integer
offerings_data.components.min_value integer
offerings_data.components.max_available_limit integer
offerings_data.components.is_boolean boolean
offerings_data.components.default_limit integer
offerings_data.components.factor integer
offerings_data.components.is_builtin boolean
offerings_data.components.is_prepaid boolean
offerings_data.components.overage_component string (uuid)
offerings_data.components.min_prepaid_duration integer
offerings_data.components.max_prepaid_duration integer
offerings_data.plugin_options any
offerings_data.secret_options any
offerings_data.service_attributes object (free-form)
offerings_data.state any
offerings_data.vendor_details string
offerings_data.getting_started string
offerings_data.integration_guide string
offerings_data.thumbnail string (uri)
offerings_data.order_count integer
offerings_data.plans array of objects
offerings_data.plans.url string (uri)
offerings_data.plans.uuid string (uuid)
offerings_data.plans.name string
offerings_data.plans.description string
offerings_data.plans.article_code string
offerings_data.plans.max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
offerings_data.plans.archived boolean Forbids creation of new resources.
offerings_data.plans.is_active boolean
offerings_data.plans.unit_price string (decimal)
offerings_data.plans.unit string
Enum: month, quarter, half_month, day, hour, quantity
offerings_data.plans.init_price number (double)
offerings_data.plans.switch_price number (double)
offerings_data.plans.backend_id string
offerings_data.plans.organization_groups array of objects
offerings_data.plans.organization_groups.uuid string (uuid)
offerings_data.plans.organization_groups.url string (uri)
offerings_data.plans.organization_groups.name string
offerings_data.plans.organization_groups.parent_uuid string (uuid)
offerings_data.plans.organization_groups.parent_name string
offerings_data.plans.organization_groups.parent string (uri)
offerings_data.plans.organization_groups.customers_count integer
offerings_data.plans.components array of objects
offerings_data.plans.components.type string Unique internal name of the measured unit, for example floating_ip.
offerings_data.plans.components.name string Display name for the measured unit, for example, Floating IP.
offerings_data.plans.components.measured_unit string Unit of measurement, for example, GB.
offerings_data.plans.components.amount integer
offerings_data.plans.components.price string (decimal)
offerings_data.plans.components.future_price string (decimal)
offerings_data.plans.components.discount_threshold integer Minimum amount to be eligible for discount.
offerings_data.plans.components.discount_rate integer Discount rate in percentage.
offerings_data.plans.prices object (free-form)
offerings_data.plans.future_prices object (free-form)
offerings_data.plans.quotas object (free-form)
offerings_data.plans.resources_count integer
offerings_data.plans.plan_type string
offerings_data.plans.minimal_price number (double)
offerings_data.screenshots array of objects
offerings_data.screenshots.name string
offerings_data.screenshots.uuid string (uuid)
offerings_data.screenshots.description string
offerings_data.screenshots.image string (uri)
offerings_data.screenshots.thumbnail string (uri)
offerings_data.screenshots.created string (date-time)
offerings_data.type string
offerings_data.shared boolean Accessible to all customers.
offerings_data.billable boolean Purchase and usage is invoiced.
offerings_data.scope string
offerings_data.scope_uuid string (uuid)
offerings_data.scope_name string (uuid)
offerings_data.scope_state any
offerings_data.scope_error_message string
offerings_data.files array of objects
offerings_data.files.name string
offerings_data.files.created string (date-time)
offerings_data.files.file string (uri)
offerings_data.quotas array of objects
offerings_data.quotas.name string
offerings_data.quotas.usage integer
offerings_data.quotas.limit integer
offerings_data.paused_reason string
offerings_data.datacite_doi string
offerings_data.citation_count integer Number of citations of a DOI
offerings_data.latitude number (double)
offerings_data.longitude number (double)
offerings_data.country any
offerings_data.backend_id string
offerings_data.organization_groups array of objects
offerings_data.organization_groups.uuid string (uuid)
offerings_data.organization_groups.url string (uri)
offerings_data.organization_groups.name string
offerings_data.organization_groups.parent_uuid string (uuid)
offerings_data.organization_groups.parent_name string
offerings_data.organization_groups.parent string (uri)
offerings_data.organization_groups.customers_count integer
offerings_data.image string (uri)
offerings_data.total_customers integer
offerings_data.total_cost integer
offerings_data.total_cost_estimated integer
offerings_data.parent_description string
offerings_data.parent_uuid string (uuid)
offerings_data.parent_name string
offerings_data.backend_metadata any
offerings_data.has_compliance_requirements boolean
offerings_data.compliance_checklist string (uri)
offerings_data.integration_status array of objects
offerings_data.integration_status.agent_type any
offerings_data.integration_status.status string
offerings_data.integration_status.last_request_timestamp string (date-time)
offerings_data.integration_status.service_name string
offerings_data.google_calendar_is_public boolean
offerings_data.google_calendar_link string Get the Google Calendar link for an offering.
approval_limit string (decimal) The credit limit beyond which requests need to be approved by a local admin. If this is None, then no local approval is required. If this is set to 0, then all requests (including creating the project) need to be approved.
max_credit_limit string (decimal) The maximum credit limit for any projects created in this class. Any requests beyond this limit are automatically rejected. If this is None, then no maximum limit is set. If this is set to 0, then no projects can be created in this class.
allocation_units_mapping any The mapping of credits to allocation units, i.e. how many allocation units to award per credit allocated.
role_mapping any The mapping of role names from the remote portal to role information in this portal for users in projects created in this class.
role_mapping_data object (free-form) Serialize the role mapping dictionary returned by get_role_mapping()

Partially update ProjectTemplate object

Partially update ProjectTemplate object

1
2
3
4
http \
  PATCH \
  https://api.example.com/api/openportal-project-template/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_project_template_request import PatchedProjectTemplateRequest # (1)
from waldur_api_client.api.openportal_project_template import openportal_project_template_partial_update # (2)

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

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

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

try {
  const response = await openportalProjectTemplatePartialUpdate({
  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
offering string The offering for which this template applies.
provider string (uri)
portal string
key string The key that is used to authenticate requests for this class.
customer string (uri)
shortname string
offerings array of string (uri)s
approval_limit string (decimal) The credit limit beyond which requests need to be approved by a local admin. If this is None, then no local approval is required. If this is set to 0, then all requests (including creating the project) need to be approved.
max_credit_limit string (decimal) The maximum credit limit for any projects created in this class. Any requests beyond this limit are automatically rejected. If this is None, then no maximum limit is set. If this is set to 0, then no projects can be created in this class.
allocation_units_mapping any The mapping of credits to allocation units, i.e. how many allocation units to award per credit allocated.
role_mapping any The mapping of role names from the remote portal to role information in this portal for users in projects created in this class.

200 -

Field Type Description
uuid string (uuid)
name string
offering string The offering for which this template applies.
provider string (uri)
provider_data any
portal string
key string The key that is used to authenticate requests for this class.
customer string (uri)
customer_data any
shortname string
offerings array of string (uri)s
offerings_data array of objects
offerings_data.url string (uri)
offerings_data.uuid string (uuid)
offerings_data.created string (date-time)
offerings_data.name string
offerings_data.slug string
offerings_data.description string
offerings_data.full_description string
offerings_data.privacy_policy_link string (uri)
offerings_data.access_url string (uri) Publicly accessible offering access URL
offerings_data.endpoints array of objects
offerings_data.endpoints.uuid string (uuid)
offerings_data.endpoints.name string
offerings_data.endpoints.url string
offerings_data.software_catalogs array of objects
offerings_data.software_catalogs.uuid string (uuid)
offerings_data.software_catalogs.catalog object
offerings_data.software_catalogs.catalog.uuid string
offerings_data.software_catalogs.catalog.name string
offerings_data.software_catalogs.catalog.version string
offerings_data.software_catalogs.catalog.description string
offerings_data.software_catalogs.enabled_cpu_family any List of enabled CPU families: ['x86_64', 'aarch64']
offerings_data.software_catalogs.enabled_cpu_microarchitectures any List of enabled CPU microarchitectures: ['generic', 'zen3']
offerings_data.software_catalogs.package_count integer
offerings_data.software_catalogs.partition object
offerings_data.software_catalogs.partition.uuid string
offerings_data.software_catalogs.partition.partition_name string
offerings_data.software_catalogs.partition.priority_tier integer
offerings_data.software_catalogs.partition.qos string
offerings_data.partitions array of objects
offerings_data.partitions.uuid string (uuid)
offerings_data.partitions.partition_name string Name of the SLURM partition
offerings_data.partitions.cpu_bind integer Default task binding policy (SLURM cpu_bind)
offerings_data.partitions.def_cpu_per_gpu integer Default CPUs allocated per GPU
offerings_data.partitions.max_cpus_per_node integer Maximum allocated CPUs per node
offerings_data.partitions.max_cpus_per_socket integer Maximum allocated CPUs per socket
offerings_data.partitions.def_mem_per_cpu integer (int64) Default memory per CPU in MB
offerings_data.partitions.def_mem_per_gpu integer (int64) Default memory per GPU in MB
offerings_data.partitions.def_mem_per_node integer (int64) Default memory per node in MB
offerings_data.partitions.max_mem_per_cpu integer (int64) Maximum memory per CPU in MB
offerings_data.partitions.max_mem_per_node integer (int64) Maximum memory per node in MB
offerings_data.partitions.default_time integer Default time limit in minutes
offerings_data.partitions.max_time integer Maximum time limit in minutes
offerings_data.partitions.grace_time integer Preemption grace time in seconds
offerings_data.partitions.max_nodes integer Maximum nodes per job
offerings_data.partitions.min_nodes integer Minimum nodes per job
offerings_data.partitions.exclusive_topo boolean Exclusive topology access required
offerings_data.partitions.exclusive_user boolean Exclusive user access required
offerings_data.partitions.priority_tier integer Priority tier for scheduling and preemption
offerings_data.partitions.qos string Quality of Service (QOS) name
offerings_data.partitions.req_resv boolean Require reservation for job allocation
offerings_data.roles array of objects
offerings_data.roles.uuid string (uuid)
offerings_data.roles.name string
offerings_data.roles.url string (uri)
offerings_data.customer string (uri)
offerings_data.customer_uuid string (uuid)
offerings_data.customer_name string
offerings_data.project string (uri)
offerings_data.project_uuid string (uuid)
offerings_data.project_name string
offerings_data.category string (uri)
offerings_data.category_uuid string (uuid)
offerings_data.category_title string
offerings_data.attributes object (free-form)
offerings_data.options any
offerings_data.resource_options any
offerings_data.components array of objects
offerings_data.components.uuid string (uuid)
offerings_data.components.billing_type string
Enum: fixed, usage, limit, one, few
offerings_data.components.type string Unique internal name of the measured unit, for example floating_ip.
offerings_data.components.name string Display name for the measured unit, for example, Floating IP.
offerings_data.components.description string
offerings_data.components.measured_unit string Unit of measurement, for example, GB.
offerings_data.components.unit_factor integer The conversion factor from backend units to measured_unit
offerings_data.components.limit_period any
offerings_data.components.limit_amount integer
offerings_data.components.article_code string
offerings_data.components.max_value integer
offerings_data.components.min_value integer
offerings_data.components.max_available_limit integer
offerings_data.components.is_boolean boolean
offerings_data.components.default_limit integer
offerings_data.components.factor integer
offerings_data.components.is_builtin boolean
offerings_data.components.is_prepaid boolean
offerings_data.components.overage_component string (uuid)
offerings_data.components.min_prepaid_duration integer
offerings_data.components.max_prepaid_duration integer
offerings_data.plugin_options any
offerings_data.secret_options any
offerings_data.service_attributes object (free-form)
offerings_data.state any
offerings_data.vendor_details string
offerings_data.getting_started string
offerings_data.integration_guide string
offerings_data.thumbnail string (uri)
offerings_data.order_count integer
offerings_data.plans array of objects
offerings_data.plans.url string (uri)
offerings_data.plans.uuid string (uuid)
offerings_data.plans.name string
offerings_data.plans.description string
offerings_data.plans.article_code string
offerings_data.plans.max_amount integer Maximum number of plans that could be active. Plan is disabled when maximum amount is reached.
offerings_data.plans.archived boolean Forbids creation of new resources.
offerings_data.plans.is_active boolean
offerings_data.plans.unit_price string (decimal)
offerings_data.plans.unit string
Enum: month, quarter, half_month, day, hour, quantity
offerings_data.plans.init_price number (double)
offerings_data.plans.switch_price number (double)
offerings_data.plans.backend_id string
offerings_data.plans.organization_groups array of objects
offerings_data.plans.organization_groups.uuid string (uuid)
offerings_data.plans.organization_groups.url string (uri)
offerings_data.plans.organization_groups.name string
offerings_data.plans.organization_groups.parent_uuid string (uuid)
offerings_data.plans.organization_groups.parent_name string
offerings_data.plans.organization_groups.parent string (uri)
offerings_data.plans.organization_groups.customers_count integer
offerings_data.plans.components array of objects
offerings_data.plans.components.type string Unique internal name of the measured unit, for example floating_ip.
offerings_data.plans.components.name string Display name for the measured unit, for example, Floating IP.
offerings_data.plans.components.measured_unit string Unit of measurement, for example, GB.
offerings_data.plans.components.amount integer
offerings_data.plans.components.price string (decimal)
offerings_data.plans.components.future_price string (decimal)
offerings_data.plans.components.discount_threshold integer Minimum amount to be eligible for discount.
offerings_data.plans.components.discount_rate integer Discount rate in percentage.
offerings_data.plans.prices object (free-form)
offerings_data.plans.future_prices object (free-form)
offerings_data.plans.quotas object (free-form)
offerings_data.plans.resources_count integer
offerings_data.plans.plan_type string
offerings_data.plans.minimal_price number (double)
offerings_data.screenshots array of objects
offerings_data.screenshots.name string
offerings_data.screenshots.uuid string (uuid)
offerings_data.screenshots.description string
offerings_data.screenshots.image string (uri)
offerings_data.screenshots.thumbnail string (uri)
offerings_data.screenshots.created string (date-time)
offerings_data.type string
offerings_data.shared boolean Accessible to all customers.
offerings_data.billable boolean Purchase and usage is invoiced.
offerings_data.scope string
offerings_data.scope_uuid string (uuid)
offerings_data.scope_name string (uuid)
offerings_data.scope_state any
offerings_data.scope_error_message string
offerings_data.files array of objects
offerings_data.files.name string
offerings_data.files.created string (date-time)
offerings_data.files.file string (uri)
offerings_data.quotas array of objects
offerings_data.quotas.name string
offerings_data.quotas.usage integer
offerings_data.quotas.limit integer
offerings_data.paused_reason string
offerings_data.datacite_doi string
offerings_data.citation_count integer Number of citations of a DOI
offerings_data.latitude number (double)
offerings_data.longitude number (double)
offerings_data.country any
offerings_data.backend_id string
offerings_data.organization_groups array of objects
offerings_data.organization_groups.uuid string (uuid)
offerings_data.organization_groups.url string (uri)
offerings_data.organization_groups.name string
offerings_data.organization_groups.parent_uuid string (uuid)
offerings_data.organization_groups.parent_name string
offerings_data.organization_groups.parent string (uri)
offerings_data.organization_groups.customers_count integer
offerings_data.image string (uri)
offerings_data.total_customers integer
offerings_data.total_cost integer
offerings_data.total_cost_estimated integer
offerings_data.parent_description string
offerings_data.parent_uuid string (uuid)
offerings_data.parent_name string
offerings_data.backend_metadata any
offerings_data.has_compliance_requirements boolean
offerings_data.compliance_checklist string (uri)
offerings_data.integration_status array of objects
offerings_data.integration_status.agent_type any
offerings_data.integration_status.status string
offerings_data.integration_status.last_request_timestamp string (date-time)
offerings_data.integration_status.service_name string
offerings_data.google_calendar_is_public boolean
offerings_data.google_calendar_link string Get the Google Calendar link for an offering.
approval_limit string (decimal) The credit limit beyond which requests need to be approved by a local admin. If this is None, then no local approval is required. If this is set to 0, then all requests (including creating the project) need to be approved.
max_credit_limit string (decimal) The maximum credit limit for any projects created in this class. Any requests beyond this limit are automatically rejected. If this is None, then no maximum limit is set. If this is set to 0, then no projects can be created in this class.
allocation_units_mapping any The mapping of credits to allocation units, i.e. how many allocation units to award per credit allocated.
role_mapping any The mapping of role names from the remote portal to role information in this portal for users in projects created in this class.
role_mapping_data object (free-form) Serialize the role mapping dictionary returned by get_role_mapping()

Delete

1
2
3
4
http \
  DELETE \
  https://api.example.com/api/openportal-project-template/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.openportal_project_template import openportal_project_template_destroy # (1)

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

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

try {
  const response = await openportalProjectTemplateDestroy({
  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


Other Actions

Delete ProjectTemplate object

Delete ProjectTemplate object

1
2
3
4
http \
  DELETE \
  https://api.example.com/api/openportal-project-template/a1b2c3d4-e5f6-7890-abcd-ef1234567890/delete/ \
  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.openportal_project_template import openportal_project_template_delete_destroy # (1)

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

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

try {
  const response = await openportalProjectTemplateDeleteDestroy({
  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