> This page is for Self-Hosted, version v3.0 (default).
> For other versions, use one of these documentation indexes:
> - v3.0 (default): https://docs.nvidia.com/run-ai/self-hosted/v3.0/llms.txt
> - v2.26: https://docs.nvidia.com/run-ai/self-hosted/v2.26/llms.txt
> - v2.25: https://docs.nvidia.com/run-ai/self-hosted/v2.25/llms.txt
> - v2.24: https://docs.nvidia.com/run-ai/self-hosted/v2.24/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/run-ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/run-ai/_mcp/server.

# Get NVIDIA NIM service policy.

GET http://localhost:8080/api/v2/policy/nim-services

Retrieve the details of NVIDIA NIM service policy for a given organizational unit.

Reference: https://docs.nvidia.com/run-ai/self-hosted/reference/rest-api/endpoints/policies/policy/get-nim-service-policy

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication

## Request

### Query parameters

- `scope` (enum, required) — The scope that the policy relates to.
  - Allowed values: `tenant`, `cluster`, `department`, `project`
- `departmentId` (string, optional) — Filter using the department id.
- `projectId` (string, optional) — project id to filter by
- `clusterId` (string, optional) — Filter using the Universally Unique Identifier (UUID) of the cluster.

## Response

### 200

Request completed successfully.

- `meta` (PolicyMeta, optional)
- `policy` (NimServicePolicyDefaultsAndRules, optional)
- `effective` (NimServicePolicyDefaultsAndRules, optional)
- `effectiveUpdatedAt` (datetime, optional) — The time at which an event occurred. e.g. the time an effective policy has been updated

## Errors

### 400 Bad Request Error

Bad request.

- `code` (integer, required)
- `message` (string, required)
- `details` (string, optional)

### 401 Unauthorized Error

Unauthorized

- `code` (integer, required)
- `message` (string, required)
- `details` (string, optional)

### 403 Forbidden Error

Forbidden

- `code` (integer, required)
- `message` (string, required)
- `details` (string, optional)

### 404 Not Found Error

The specified resource was not found

- `code` (integer, required)
- `message` (string, required)
- `details` (string, optional)

### 503 Service Unavailable Error

unexpected error

- `code` (integer, required)
- `message` (string, required)
- `details` (string, optional)

## Types

### PolicyMeta

- `id` (string, required) — The unique id of the policy.
- `createdBy` (string, required) — The user who created the policy.
- `createdAt` (datetime, required) — The time at which the policy wes created
- `updatedBy` (string, required) — The user who updated the policy.
- `updatedAt` (datetime, required) — The time at which the policy has been updated
- `scope` (enum, required)
  - Allowed values: `system`, `tenant`, `cluster`, `department`, `project`
- `name` (string, required) — A chosen name for the policy.
- `tenantId` (integer, optional) — The id of the tenant.
- `clusterId` (string, optional) — The id of the cluster.
- `projectId` (integer, optional) — The id of the project.
- `departmentId` (string, optional) — The id of the department.

### NimServicePolicyDefaultsAndRules

- `defaults` (NimServiceDefaults, optional, nullable)
- `rules` (NimServiceRules, optional, nullable)
- `status` (PolicyValidationStatus, optional)

### NimServiceDefaults

- `annotations` (AnnotationsDefaults, optional)
- `autoscaling` (NimServiceDefaultsAutoscaling, optional, nullable)
- `category` (string, optional) — Specify the workload category assigned to the workload. Categories are used to classify and monitor different types of workloads within the NVIDIA Run:ai platform.
- `compute` (NimServiceDefaultsCompute, optional, nullable)
- `environmentVariables` (EnvironmentVariablesDefaults, optional)
- `image` (string, optional) — Docker image name. For more information, see [Images](https://kubernetes.io/docs/concepts/containers/images). The image name is mandatory for creating a workload.
- `imagePullPolicy` (enum, optional) — Image pull policy. Defaults to `Always` if `:latest` tag is specified, otherwise it is `IfNotPresent`.
  - Allowed values: `Always`, `Never`, `IfNotPresent`
- `imagePullSecrets` (ImagePullSecretsDefaults, optional)
- `labels` (LabelsDefaults, optional)
- `modelStore` (NimServiceDefaultsModelStore, optional, nullable)
- `multiNode` (NimServiceMultiNode, optional) — Defines whether the NIM service runs as a multi-node deployment. If workers is set to 1 or more, the service runs in multi-node.
- `ngcAuthSecret` (string, optional) — The name of a Kubernetes secret containing the NGC access credentials. The secret must contain a key named NGC_API_KEY with the API key as the value.
- `nodePools` (list of string, optional) — A prioritized list of node pools for the scheduler to run the workload on. The scheduler will always try to use the first node pool before moving to the next one if the first is not available.
- `preemptibility` (enum, optional) — Specifies whether the workload can be preempted by higher-priority workloads. Valid values are preemptible, semi-preemptible and non-preemptible. If explicitly set, this value takes precedence. If not set, the system derives the preemptibility from the priorityClassName field, ensuring backward compatibility. Each workload type has a default preemptibility. To view the default preemptibility for each workload type, use the GET /workload-types endpoint.
  - Allowed values: `preemptible`, `semi-preemptible`, `non-preemptible`
- `priorityClass` (string, optional) — Specifies the priority class for the workload, which determines its scheduling behavior. Valid values are: very-low, low, medium-low, medium, medium-high, high, and very-high. Each workload type has a default priority. To view the default priority for each workload type, use the GET /workload-types endpoint. Once you change the priority from the default value defined for that workload type, the preemptibility field is not automatically updated. Make sure to set the desired preemptibility value.
- `probes` (Probes, optional) — Probes are used to determine if the container is healthy and ready to accept traffic.
- `replicas` (integer, optional, default: 1) — The number of replicas to deploy.
- `security` (NimServiceDefaultsSecurity, optional, nullable)
- `servingPort` (NimServiceServingPort, optional) — A port for accessing the inference service. Authorization fields (authorizationType, authorizedUsers, authorizedGroups) are supported for cluster version 2.25 and above.
- `tolerations` (TolerationsDefaults, optional)

### NimServiceRules

- `annotations` (InstancesRules, optional)
- `autoscaling` (NimServiceRulesAutoscaling, optional, nullable)
- `category` (StringRules, optional)
- `compute` (NimServiceRulesCompute, optional, nullable)
- `environmentVariables` (InstancesRules, optional)
- `image` (StringRules, optional)
- `imagePullPolicy` (ImagePullPolicyRules, optional)
- `imagePullSecrets` (ImagePullSecretsRules, optional)
- `labels` (InstancesRules, optional)
- `modelStore` (NimServiceRulesModelStore, optional, nullable)
- `multiNode` (NimServiceMultiNodeRules, optional)
- `ngcAuthSecret` (StringRules, optional)
- `nodePools` (ArrayRules, optional)
- `preemptibility` (PreemptibilityRules, optional)
- `priorityClass` (StringRules, optional)
- `probes` (ProbesRules, optional)
- `replicas` (IntegerRules, optional)
- `security` (NimServiceRulesSecurity, optional, nullable)
- `servingPort` (NimServiceServingPortRules, optional) — A port for accessing the inference service
- `tolerations` (TolerationsRules, optional)

### PolicyValidationStatus

- `validation` (PolicyValidationStatusValidation, optional, nullable)

### AnnotationsDefaults

- `instances` (list of Annotation, optional) — Set of annotations to populate into the container running the workload.

### NimServiceDefaultsAutoscaling

- `maxReplicas` (integer, optional) — The maximum number of replicas for autoscaling. Defaults to minReplicas. Must be no less than minReplicas.
- `metric` (string, optional) — The metric to use for autoscaling (mandatory).
- `metricThreshold` (integer, optional) — The threshold to use with the specified metric for autoscaling (mandatory).
- `minReplicas` (integer, optional) — The minimum number of replicas for autoscaling. Defaults to 1.
- `scaleWindowSeconds` (integer, optional) — The time window for autoscaling decisions, in seconds. Defaults to 300 seconds.

### NimServiceDefaultsCompute

- `cpuCoreLimit` (double, optional) — Limitations on the number of CPUs consumed by the workload (0.5, 1, .etc). The system guarantees that this workload will not be able to consume more than this amount of CPUs.
- `cpuCoreRequest` (double, optional) — CPU units to allocate for the created workload (0.5, 1, .etc). The workload will receive at least this amount of CPU. Note that the workload will not be scheduled unless the system can guarantee this amount of CPUs to the workload.
- `cpuMemoryLimit` (string, optional) — Limitations on the CPU memory to allocate for this workload (1G, 20M, .etc). The system guarantees that this workload will not be able to consume more than this amount of memory. The workload will receive an error when trying to allocate more memory than this limit.
- `cpuMemoryRequest` (string, optional) — The amount of CPU memory to allocate for this workload (1G, 20M, .etc). The workload will receive at least this amount of memory. Note that the workload will not be scheduled unless the system can guarantee this amount of memory to the workload
- `gpuDevicesRequest` (integer, optional) — Requested number of GPU devices. Currently if more than one device is requested, it is not possible to provide values for gpuMemory or gpuPortion.
- `gpuMemoryLimit` (string, optional) — Limitation on the memory consumed by the workload, per GPU device. The system guarantees The gpuMemoryLimit must be no less than gpuMemoryRequest.
- `gpuMemoryRequest` (string, optional) — Required if and only if gpuRequestType is memory. States the GPU memory to allocate for the created workload, per GPU device. Note that the workload will not be scheduled unless the system can guarantee this amount of GPU memory to the workload.
- `gpuPortionLimit` (double, optional) — Limitations on the portion consumed by the workload, per GPU device. The system guarantees The gpuPotionLimit must be no less than the gpuPortionRequest.
- `gpuPortionRequest` (double, optional) — Required if and only if gpuRequestType is portion. States the portion of the GPU to allocate for the created workload, per GPU device, between 0 and 1. The default is no allocated GPUs.
- `gpuRequestType` (enum, optional) — Sets the unit type for GPU resources requests. Stated in terms of portion or memory. Sets the unit type for other GPU request fields. If `gpuDevicesRequest > 1`, only `portion` is supported. If `gpuDeviceRequest = 1`, the request type can be stated as `portion` or `memory`.
  - Allowed values: `portion`, `memory`

### EnvironmentVariablesDefaults

- `instances` (list of EnvironmentVariable, optional) — Set of environment variables to populate into the container running the workload.

### ImagePullSecretsDefaults

- `instances` (list of ImagePullSecret, optional) — A list of references to Kubernetes secrets in the same namespace used for pulling container images.

### LabelsDefaults

- `instances` (list of Label, optional) — Set of labels to populate into the container running the workload.

### NimServiceDefaultsModelStore

- `nimCache` (NimCache, optional) — The specification of a NIM cache volume.
- `pvc` (NimServicePvcFields, optional)

### NimServiceMultiNode

Defines whether the NIM service runs as a multi-node deployment. If workers is set to 1 or more, the service runs in multi-node.

- `workers` (integer, optional) — Specifies the number of worker nodes to use when running the NIM service in multi-node.

### Probes

Probes are used to determine if the container is healthy and ready to accept traffic.

- `readiness` (Probe, optional)

### NimServiceDefaultsSecurity

- `runAsGid` (long, optional) — The group id to run the entrypoint of the container which executes the workspace. Default to the value specified in the environment asset `runAsGid` field (optional). Use only when the source uid/gid of the environment asset is not `fromTheImage`, and `overrideUidGidInWorkspace` is enabled.
- `runAsUid` (long, optional) — The user id to run the entrypoint of the container which executes the workspace. Default to the value specified in the environment asset `runAsUid` field (optional). Use only when the source uid/gid of the environment asset is not `fromTheImage`, and `overrideUidGidInWorkspace` is enabled.

### NimServiceServingPort

A port for accessing the inference service. Authorization fields (authorizationType, authorizedUsers, authorizedGroups) are supported for cluster version 2.25 and above.

- `serviceType` (enum, optional, default: ClusterIP) — The type of Kubernetes service to create for the inference deployment. Options include 'ClusterIP' (default), 'NodePort', 'LoadBalancer', and 'ExternalName'.
  - Allowed values: `ClusterIP`, `NodePort`, `LoadBalancer`, `ExternalName`
- `port` (integer, optional) — The port that the container running the inference service exposes (mandatory).
- `grpcPort` (integer, optional) — The GRPC port that the container running the inference service exposes.
- `metricsPort` (integer, optional) — The port where metrics are exposed, required only if it's different than the main port.
- `exposeExternally` (boolean, optional, default: true) — Indicates whether the inference serving endpoint should be accessible outside the cluster. If set to true, the endpoint will be exposed externally. To enable external access, your administrator must configure the cluster as described in the [inference requirements](/run-ai/self-hosted/documentation/installation-and-configuration/system-requirements/networking-setup#standard-inference-wildcard-certificate). section.
- `exposedUrl` (string, optional) — The custom URL to use for the serving port. If empty (default), an autogenerated URL will be used.
- `exposedProtocol` (enum, optional) — The protocol to use for the exposed URL. If grpcPort is set, this defaults to grpc. Otherwise, it defaults to http.
  - Allowed values: `http`, `grpc`
- `authorizationType` (enum, optional) — Specifies who can send requests to the serving endpoint: Possible values: - `public`: No authorization is required. (Default) - `authenticatedUsers`: Any NVIDIA Run:ai authenticated user and service account can send requests. - `authorizedUsers`: Only users listed in the authorizedUsers field can send requests. - `authorizedGroups`: Only members of user groups listed in the authorizedGroups field can send requests.
  - Allowed values: `public`, `authenticatedUsers`, `authorizedUsers`, `authorizedGroups`
- `authorizedUsers` (list of string, optional) — A list of users and service accounts allowed to send requests to the serving endpoint. `Note:` Cannot be used together with authorizedGroups.
- `authorizedGroups` (list of string, optional) — A list of user groups allowed to send requests to the serving endpoint. `Note:` Cannot be used together with authorizedUsers.

### TolerationsDefaults

- `attributes` (Toleration, optional) — Toleration details.
- `instances` (list of Toleration, optional) — Set of tolerations to apply to the workload.

### InstancesRules

- `instances` (ItemRules, optional)

### NimServiceRulesAutoscaling

- `maxReplicas` (IntegerRules, optional)
- `metric` (StringRules, optional)
- `metricThreshold` (IntegerRules, optional)
- `minReplicas` (IntegerRules, optional)
- `scaleWindowSeconds` (IntegerRules, optional)

### StringRules

- `blocked` (boolean, optional, nullable) — Blocks the field to prevent workloads from specifying any value for it.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable, default to true
- `options` (list of StringOption, optional, nullable) — Set of options that the value of the field must be chosen from.
- `required` (boolean, optional, nullable) — Whether the field is mandatory, default to false.
- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.

### NimServiceRulesCompute

- `cpuCoreLimit` (NumberRules, optional)
- `cpuCoreRequest` (NumberRules, optional)
- `cpuMemoryLimit` (QuantityRules, optional)
- `cpuMemoryRequest` (QuantityRules, optional)
- `gpuDevicesRequest` (IntegerRules, optional)
- `gpuMemoryLimit` (QuantityRules, optional)
- `gpuMemoryRequest` (QuantityRules, optional)
- `gpuPortionLimit` (NumberRules, optional)
- `gpuPortionRequest` (NumberRules, optional)
- `gpuRequestType` (GpuRequestRules, optional)

### ImagePullPolicyRules

- `blocked` (boolean, optional, nullable) — Blocks the field to prevent workloads from specifying any value for it.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable, default to true
- `options` (list of ImagePullPolicyOptionsOptionsItems, optional, nullable) — Limit the permitted values for imagePullPolicy to a given set of values.
- `required` (boolean, optional, nullable) — Whether the field is mandatory, default to false.
- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.

### ImagePullSecretsRules

- `attributes` (ImagePullSecretsRulesAttributes, optional) — Rules for the attributes of imagePullSecrets
- `instances` (ItemRules, optional)

### NimServiceRulesModelStore

- `nimCache` (NimCacheRules, optional)
- `pvc` (PvcRules, optional)

### NimServiceMultiNodeRules

- `workers` (IntegerRules, optional)

### ArrayRules

- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.
- `required` (boolean, optional, nullable) — Whether this array is mandatory. Mandatory array must include at least one item. default to false.
- `options` (list of StringOption, optional) — Set of options that the value of each item of the array must be chosen from.
- `canEdit` (boolean, optional, nullable) — Whether the value of the array, as a whole, is editable. default to false.

### PreemptibilityRules

- `blocked` (boolean, optional, nullable) — Blocks the field to prevent workloads from specifying any value for it.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable, default to true
- `options` (list of PreemptibilityOptionsOptionsItems, optional, nullable) — Limit the permitted values for preemptibility to a given set of values.
- `required` (boolean, optional, nullable) — Whether the field is mandatory, default to false.
- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.

### ProbesRules

- `readiness` (ProbeRules, optional)

### IntegerRules

- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.
- `required` (boolean, optional, nullable) — Whether the field is mandatory. default to false.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable. default to true
- `min` (integer, optional, nullable) — The minimum value that the field can be assigned to.
- `max` (integer, optional, nullable) — The maximum value that the field can be assigned to.
- `step` (integer, optional, nullable) — The minimal difference between two values the field can be assigned to. For example, min=2, max=10, step=2 implies that the values the field can hold are 2, 4, 6, 8 and 10.
- `defaultFrom` (DefaultFromRule, optional)

### NimServiceRulesSecurity

- `runAsGid` (IntegerRulesOptional, optional)
- `runAsUid` (IntegerRulesOptional, optional)

### NimServiceServingPortRules

A port for accessing the inference service

- `serviceType` (ServingPortServiceTypeRules, optional)
- `port` (IntegerRules, optional)
- `grpcPort` (IntegerRules, optional)
- `metricsPort` (IntegerRules, optional)
- `exposeExternally` (BooleanRules, optional)
- `exposedUrl` (StringRules, optional)
- `exposedProtocol` (ServingPortExposedProtocolRules, optional)
- `authorizationType` (NimServiceServingPortAuthorizationTypeRules, optional)
- `authorizedUsers` (ArrayRules, optional)
- `authorizedGroups` (ArrayRules, optional)

### TolerationsRules

- `attributes` (TolerationRules, optional) — Toleration details.
- `instances` (ItemRules, optional)

### PolicyValidationStatusValidation

- `errorMessage` (string, optional) — In case validation failed, holds the error message explaining the issue

### Annotation

Annotation details to be populated into the container.

- `name` (string, optional, nullable) — The name of the annotation (mandatory)
- `value` (string, optional, nullable) — The value of the annotation.
- `exclude` (boolean, optional, nullable, default: false) — Use 'true' in case the annotation is defined in defaults of the policy, and you wish to exclude it from the workload.

### EnvironmentVariable

Details of an environment variable which is populated into the container.

- `name` (string, optional, nullable) — The name of the environment variable. (mandatory)
- `value` (string, optional, nullable) — The value of the environment variable. (mutually exclusive with secret, userCredential, configMap and podFieldRef)
- `secret` (EnvironmentVariableSecret, optional) — Details of the secret and key use to populate the environment variable
- `configMap` (EnvironmentVariableConfigMap, optional) — Details of the configMap and key use to populate the environment variable
- `podFieldRef` (EnvironmentVariablePodFieldReference, optional) — Details of the field-reference and key use to populate the environment variable
- `userCredential` (EnvironmentVariableUserCredential, optional) — Defines a reference to a user-created credential and a specific key within that credential whose value will populate the environment variable. User credentials can only be accessed by the user who created them.
- `exclude` (boolean, optional, nullable) — Use 'true' in case the environment variable is defined in defaults of the policy, and you wish to exclude it from the workload.
- `description` (string, optional, nullable) — Description of the environment variable.

### ImagePullSecret

A reference to a secret in the same namespace used to pull container images.

- `name` (string, optional) — The name of the Kubernetes secret containing the image pull credentials.
- `userCredential` (boolean, optional, nullable) — Indicates whether the secret is a user credential. Set to true if the secret was created by the user and is only accessible by them.
- `exclude` (boolean, optional, nullable, default: false) — Use 'true' in case the secret is defined in defaults of the policy, and you wish to exclude it from the workload.

### Label

Label details to be populated into the container.

- `name` (string, optional, nullable) — The name of the label (mandatory)
- `value` (string, optional, nullable) — The value of the label.
- `exclude` (boolean, optional, nullable) — Use 'true' in case the label is defined in defaults of the policy, and you wish to exclude it from the workload.

### NimCache

The specification of a NIM cache volume.

- `name` (string, optional, nullable) — The NIMCache resource name (mandatory).
- `profile` (string, optional, nullable) — The NIM profile to use (optional).

### NimServicePvcFields

- `existingPvc` (boolean, optional, nullable, default: false) — Verify existing PVC. PVC is assumed to exist when set to `true`. If set to `false`, the PVC will be created, if it does not exist.
- `claimName` (string, optional, nullable) — Name for the PVC. Allow referencing it across workloads. If not provided, a name based on the workload name and scope will be auto-generated.
- `readOnly` (boolean, optional, nullable, default: false) — Permit only read access to PVC.
- `claimInfo` (ClaimInfo, optional) — Claim information for the newly created PVC. The information should not be provided when attempting to use existing PVC.

### Probe

- `initialDelaySeconds` (integer, optional, nullable) — Number of seconds after the container has started before liveness or readiness probes are initiated.
- `periodSeconds` (integer, optional, nullable) — How often (in seconds) to perform the probe.
- `timeoutSeconds` (integer, optional, nullable) — Number of seconds after which the probe times out.
- `successThreshold` (integer, optional, nullable) — Minimum consecutive successes for the probe to be considered successful after having failed.
- `failureThreshold` (integer, optional, nullable) — When a probe fails, the number of times to try before giving up.
- `handler` (ProbeHandler, optional) — The action taken to determine the health of the container. (mandatory)

### Toleration

Toleration details.

- `name` (string, optional, nullable) — The name of the toleration.
- `operator` (enum, optional) — A key's relationship to the value. Equal uses key and value. Exists is equivalent to wildcard for value, so that a workload can tolerate all taints of a particular category. (mandatory)
  - Allowed values: `Equal`, `Exists`
- `key` (string, optional, nullable) — The taint key that the toleration applies to. (mandatory)
- `value` (string, optional, nullable) — The taint value the toleration matches to. Mandatory if operator is Exists, forbidden otherwise.
- `effect` (enum, optional) — The taint effect to match. (mandatory)
  - Allowed values: `NoSchedule`, `NoExecute`, `PreferNoSchedule`, `Any`
- `seconds` (integer, optional, nullable) — The period of time the toleration tolerates the taint. Valid only if effect is NoExecute. taint.
- `exclude` (boolean, optional, nullable) — Use 'true' in case the label is defined in defaults of the policy, and you wish to exclude it from the workload.

### ItemRules

- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.
- `canAdd` (boolean, optional, nullable) — Whether it is permitted to add items. Default to true.
- `locked` (list of string, optional) — Set of keys for items that are "locked", i.e. cannot be removed or deleted.

### StringOption

One of the values that the field can be assigned to, when options police is applied on the field.

- `value` (string, required) — The value that the field should hold
- `displayed` (string, optional, nullable) — Textual description of the value. to be used by user interface applications.

### SourceOfRule

This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.

- `scope` (enum, required)
  - Allowed values: `system`, `tenant`, `cluster`, `department`, `project`
- `projectId` (integer, optional) — The id of the project.
- `departmentId` (string, optional) — The id of the department.
- `clusterId` (string, optional) — The id of the cluster.
- `isFallback` (boolean, optional) — source of this rule is the fallback policy

### NumberRules

- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.
- `required` (boolean, optional, nullable) — Whether the field is mandatory. default to false.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable. default to true
- `min` (double, optional, nullable) — The minimum value that the field can be assigned to.
- `max` (double, optional, nullable) — The maximum value that the field can be assigned to.
- `step` (double, optional, nullable) — The minimal difference between two values the field can be assigned to. For example, min=2, max=3, step=0.25 implies that the values the field can hold are 2, 2.25, 2.5 and 3.
- `defaultFrom` (DefaultFromRule, optional)

### QuantityRules

- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.
- `required` (boolean, optional, nullable) — Whether the field is mandatory, default to false.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable, default to true
- `min` (string, optional, nullable) — The minimum value that the field can be assigned to.
- `max` (string, optional, nullable) — The maximum value that the field can be assigned to.
- `defaultFrom` (DefaultFromRule, optional)

### GpuRequestRules

- `blocked` (boolean, optional, nullable) — Blocks the field to prevent workloads from specifying any value for it.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable, default to true
- `options` (list of GpuRequestOptionsOptionsItems, optional, nullable) — Limit the permitted values for gpuRequest to a given set of values.
- `required` (boolean, optional, nullable) — Whether the field is mandatory, default to false.
- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.

### ImagePullPolicyOptionsOptionsItems

- `value` (enum, required) — Image pull policy. Defaults to `Always` if `:latest` tag is specified, otherwise it is `IfNotPresent`.
  - Allowed values: `Always`, `Never`, `IfNotPresent`
- `displayed` (string, optional, nullable) — Textual description of the value

### ImagePullSecretsRulesAttributes

Rules for the attributes of imagePullSecrets

- `name` (StringRules, optional)
- `userCredentials` (BooleanRules, optional)

### NimCacheRules

- `name` (StringRules, optional)
- `profile` (StringRules, optional)

### PvcRules

- `claimName` (StringRules, optional)
- `path` (StringRules, optional)
- `readOnly` (BooleanRules, optional)
- `claimInfo` (ClaimInfoRules, optional)

### PreemptibilityOptionsOptionsItems

- `value` (enum, required) — Specifies whether the workload can be preempted by higher-priority workloads. Valid values are preemptible, semi-preemptible and non-preemptible. If explicitly set, this value takes precedence. If not set, the system derives the preemptibility from the priorityClassName field, ensuring backward compatibility. Each workload type has a default preemptibility. To view the default preemptibility for each workload type, use the GET /workload-types endpoint.
  - Allowed values: `preemptible`, `semi-preemptible`, `non-preemptible`
- `displayed` (string, optional, nullable) — Textual description of the value

### ProbeRules

- `initialDelaySeconds` (IntegerRules, optional)
- `periodSeconds` (IntegerRules, optional)
- `timeoutSeconds` (IntegerRules, optional)
- `successThreshold` (IntegerRules, optional)
- `failureThreshold` (IntegerRules, optional)
- `handler` (ProbeHandlerRules, optional)

### DefaultFromRule

- `field` (string, optional, nullable) — The default of this field is taken from another field, with optional factor. The specified field must belong to the same workload section (compute, security, etc). For itemized field, the value of the field will be taken from the same instance.
- `factor` (double, optional, nullable, default: 1) — Multiple the value of the fromField by this factor to get the value for this field For example, if factor is 2 and defaultFrom field has value of 8, the calculated default will be determined to be 16.

### IntegerRulesOptional

- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable. default to true
- `min` (integer, optional, nullable) — The minimum value that the field can be assigned to.
- `max` (integer, optional, nullable) — The maximum value that the field can be assigned to.
- `step` (integer, optional, nullable) — The minimal difference between two values the field can be assigned to. For example, min=2, max=10, step=2 implies that the values the field can hold are 2, 4, 6, 8 and 10.
- `defaultFrom` (DefaultFromRule, optional)

### ServingPortServiceTypeRules

- `blocked` (boolean, optional, nullable) — Blocks the field to prevent workloads from specifying any value for it.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable, default to true
- `options` (list of ServingPortServiceTypeOptionsOptionsItems, optional, nullable)
- `required` (boolean, optional, nullable) — Whether the field is mandatory, default to false.
- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.

### BooleanRules

- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.
- `required` (boolean, optional, nullable) — Whether the field is mandatory. default to false.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable. default to true

### ServingPortExposedProtocolRules

- `blocked` (boolean, optional, nullable) — Blocks the field to prevent workloads from specifying any value for it.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable, default to true
- `options` (list of ServingPortExposedProtocolOptionsOptionsItems, optional, nullable)
- `required` (boolean, optional, nullable) — Whether the field is mandatory, default to false.
- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.

### NimServiceServingPortAuthorizationTypeRules

- `blocked` (boolean, optional, nullable) — Blocks the field to prevent workloads from specifying any value for it.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable, default to true
- `options` (list of NimServiceServingPortAuthorizationTypeOptionsOptionsItems, optional, nullable)
- `required` (boolean, optional, nullable) — Whether the field is mandatory, default to false.
- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.

### TolerationRules

Toleration details.

- `operator` (TolerationOperatorRules, optional)
- `key` (StringRules, optional)
- `value` (StringRules, optional)
- `effect` (TolerationEffectRules, optional)
- `seconds` (IntegerRules, optional)
- `exclude` (BooleanRules, optional)

### EnvironmentVariableSecret

Details of the secret and key use to populate the environment variable

- `name` (string, optional, nullable) — The name of the secret resource. (mandatory)
- `key` (string, optional, nullable) — The key in the secret resource. (mandatory)

### EnvironmentVariableConfigMap

Details of the configMap and key use to populate the environment variable

- `name` (string, optional, nullable) — The name of the config-map resource. (mandatory)
- `key` (string, optional, nullable) — The key in the config-map resource. (mandatory)

### EnvironmentVariablePodFieldReference

Details of the field-reference and key use to populate the environment variable

- `path` (string, optional, nullable) — The field path resource. (mandatory)

### EnvironmentVariableUserCredential

Defines a reference to a user-created credential and a specific key within that credential whose value will populate the environment variable. User credentials can only be accessed by the user who created them.

- `name` (string, optional, nullable) — The name of the user credential. (mandatory)
- `key` (string, optional, nullable) — The key in the user credential resource. (mandatory)

### ClaimInfo

Claim information for the newly created PVC. The information should not be provided when attempting to use existing PVC.

- `size` (string, optional) — Requested size for the PVC. Mandatory when existingPvc is false. Recommended sizes: TB/GB/MB/TIB/GIB/MIB
- `storageClass` (string, optional, nullable) — Storage class name to associate with the PVC. This parameter may be omitted if there is a single storage class in the system, or you are using the default storage class. For more information, see [Storage class](https://kubernetes.io/docs/concepts/storage/storage-classes).
- `accessModes` (PvcAccessModes, optional) — Default access mode(s) applied to newly created PVCs unless explicitly overridden.
- `volumeMode` (enum, optional) — Default volume mode for the PVC. Choose between Filesystem (default) or Block.
  - Allowed values: `Filesystem`, `Block`
- `addedAttrValues` (list of PvcAddedAttrValue, optional) — an optional array of key-values pairs that are written as annotations on the created PVC. the allowed attributes are determined according to the storage class configuration (see k8s-objects-tracker for further info).

### ProbeHandler

The action taken to determine the health of the container. (mandatory)

- `httpGet` (ProbeHandlerHttpGet, optional) — An action based on HTTP Get requests.

### GpuRequestOptionsOptionsItems

- `value` (enum, required) — Sets the unit type for GPU resources requests. Stated in terms of portion or memory. Sets the unit type for other GPU request fields. If `gpuDevicesRequest > 1`, only `portion` is supported. If `gpuDeviceRequest = 1`, the request type can be stated as `portion` or `memory`.
  - Allowed values: `portion`, `memory`
- `displayed` (string, optional, nullable) — Textual description of the value

### ClaimInfoRules

- `size` (StringRules, optional)
- `storageClass` (StringRules, optional)
- `accessModes` (PvcAccessModesRules, optional) — Rules for access mode(s) for a newly created PVC.

### ProbeHandlerRules

- `httpGet` (ProbeHandlerRulesHttpGet, optional)

### ServingPortServiceTypeOptionsOptionsItems

- `value` (enum, required, default: ClusterIP) — The type of Kubernetes service to create for the inference deployment. Options include 'ClusterIP' (default), 'NodePort', 'LoadBalancer', and 'ExternalName'.
  - Allowed values: `ClusterIP`, `NodePort`, `LoadBalancer`, `ExternalName`
- `displayed` (string, optional, nullable) — Textual description of the value

### ServingPortExposedProtocolOptionsOptionsItems

- `value` (enum, required) — The protocol to use for the exposed URL. If grpcPort is set, this defaults to grpc. Otherwise, it defaults to http.
  - Allowed values: `http`, `grpc`
- `displayed` (string, optional, nullable) — Textual description of the value

### NimServiceServingPortAuthorizationTypeOptionsOptionsItems

- `value` (enum, required) — Specifies who can send requests to the serving endpoint: Possible values: - `public`: No authorization is required. (Default) - `authenticatedUsers`: Any NVIDIA Run:ai authenticated user and service account can send requests. - `authorizedUsers`: Only users listed in the authorizedUsers field can send requests. - `authorizedGroups`: Only members of user groups listed in the authorizedGroups field can send requests.
  - Allowed values: `public`, `authenticatedUsers`, `authorizedUsers`, `authorizedGroups`
- `displayed` (string, optional, nullable) — Textual description of the value

### TolerationOperatorRules

- `blocked` (boolean, optional, nullable) — Blocks the field to prevent workloads from specifying any value for it.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable, default to true
- `options` (list of TolerationOperatorOptionsOptionsItems, optional, nullable) — Limit the permitted values for imagePullPolicy to a given set of values.
- `required` (boolean, optional, nullable) — Whether the field is mandatory, default to false.
- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.

### TolerationEffectRules

- `blocked` (boolean, optional, nullable) — Blocks the field to prevent workloads from specifying any value for it.
- `canEdit` (boolean, optional, nullable) — Whether the value of the field is editable, default to true
- `options` (list of TolerationEffectOptionsOptionsItems, optional, nullable) — Limit the permitted values for imagePullPolicy to a given set of values.
- `required` (boolean, optional, nullable) — Whether the field is mandatory, default to false.
- `sourceOfRule` (SourceOfRule, optional) — This field is used by the system along with effective rules, in order to specify the org unit from which this effective rule has been derived. It should be left empty when sending apply policy requests.

### PvcAccessModes

Default access mode(s) applied to newly created PVCs unless explicitly overridden.

- `readWriteOnce` (boolean, optional, nullable, default: true) — Mount the volume as read/write by a single node.
- `readOnlyMany` (boolean, optional, nullable, default: false) — Mount the volume as read-only by many nodes.
- `readWriteMany` (boolean, optional, nullable, default: false) — Mount the volume as read/write by many nodes.

### PvcAddedAttrValue

- `key` (string, required)
- `value` (string, optional)

### ProbeHandlerHttpGet

An action based on HTTP Get requests.

- `path` (string, optional, nullable) — Path to access on the HTTP server, defaults to /.
- `port` (integer, optional, nullable) — Number of the port to access on the container.
- `host` (string, optional, nullable) — Host name to connect to, defaults to the pod IP.
- `scheme` (enum, optional) — Scheme to use for connecting to the host, defaults to HTTP.
  - Allowed values: `HTTP`, `HTTPS`

### PvcAccessModesRules

Rules for access mode(s) for a newly created PVC.

- `readWriteOnce` (BooleanRules, optional)
- `readOnlyMany` (BooleanRules, optional)
- `readWriteMany` (BooleanRules, optional)

### ProbeHandlerRulesHttpGet

- `path` (StringRules, optional)
- `port` (IntegerRules, optional)
- `host` (StringRules, optional)
- `scheme` (StringRules, optional)

### TolerationOperatorOptionsOptionsItems

- `value` (enum, required) — A key's relationship to the value. Equal uses key and value. Exists is equivalent to wildcard for value, so that a workload can tolerate all taints of a particular category. (mandatory)
  - Allowed values: `Equal`, `Exists`
- `displayed` (string, optional, nullable) — Textual description of the value

### TolerationEffectOptionsOptionsItems

- `value` (enum, required) — The taint effect to match. (mandatory)
  - Allowed values: `NoSchedule`, `NoExecute`, `PreferNoSchedule`, `Any`
- `displayed` (string, optional, nullable) — Textual description of the value

## Examples

**Response**

```json
{
  "meta": {
    "id": "string",
    "createdBy": "string",
    "createdAt": "2024-01-15T09:30:00Z",
    "updatedBy": "string",
    "updatedAt": "2024-01-15T09:30:00Z",
    "scope": "system",
    "name": "my-policy",
    "tenantId": 1001,
    "clusterId": "71f69d83-ba66-4822-adf5-55ce55efd210",
    "projectId": 1,
    "departmentId": "2"
  },
  "policy": {
    "defaults": {
      "annotations": {
        "instances": [
          {
            "name": "billing",
            "value": "my-billing-unit",
            "exclude": false
          }
        ]
      },
      "autoscaling": {
        "maxReplicas": 1,
        "metric": "http_requests_total",
        "metricThreshold": 1,
        "minReplicas": 1,
        "scaleWindowSeconds": 1
      },
      "category": "string",
      "compute": {
        "cpuCoreLimit": 2,
        "cpuCoreRequest": 0.5,
        "cpuMemoryLimit": "30M",
        "cpuMemoryRequest": "20M",
        "gpuDevicesRequest": 1,
        "gpuMemoryLimit": "10M",
        "gpuMemoryRequest": "10M",
        "gpuPortionLimit": 0.5,
        "gpuPortionRequest": 0.5,
        "gpuRequestType": "portion"
      },
      "environmentVariables": {
        "instances": [
          {
            "name": "HOME",
            "value": "/home/my-folder",
            "secret": {
              "name": "postgress_secret",
              "key": "POSTGRES_PASSWORD"
            },
            "configMap": {
              "name": "my-config-map",
              "key": "MY_POSTGRES_SCHEMA"
            },
            "podFieldRef": {
              "path": "metadata.name"
            },
            "userCredential": {
              "name": "my_postgres_user_and_password",
              "key": "POSTGRES_PASSWORD"
            },
            "exclude": false,
            "description": "Home directory of the user."
          }
        ]
      },
      "image": "python:3.8",
      "imagePullPolicy": "Always",
      "imagePullSecrets": {
        "instances": [
          {
            "name": "string",
            "userCredential": true,
            "exclude": false
          }
        ]
      },
      "labels": {
        "instances": [
          {
            "name": "stage",
            "value": "initial-research",
            "exclude": false
          }
        ]
      },
      "modelStore": {
        "nimCache": {
          "name": "nim-cache-a",
          "profile": "tensorrt_llm-b200-fp8-tp2-pp1-latency-2901:10de-2"
        },
        "pvc": {
          "existingPvc": false,
          "claimName": "my-claim",
          "readOnly": false,
          "claimInfo": {
            "size": "1G",
            "storageClass": "my-storage-class",
            "accessModes": {
              "readWriteOnce": true,
              "readOnlyMany": false,
              "readWriteMany": false
            },
            "volumeMode": "Filesystem",
            "addedAttrValues": [
              {
                "key": "dnsname",
                "value": "my.dns.com"
              }
            ]
          }
        }
      },
      "multiNode": {
        "workers": 3
      },
      "ngcAuthSecret": "string",
      "nodePools": [
        "my-node-pool-a",
        "my-node-pool-b"
      ],
      "preemptibility": "preemptible",
      "priorityClass": "string",
      "probes": {
        "readiness": {
          "initialDelaySeconds": 1,
          "periodSeconds": 1,
          "timeoutSeconds": 1,
          "successThreshold": 1,
          "failureThreshold": 1,
          "handler": {
            "httpGet": {
              "path": "/",
              "port": 1,
              "host": "example.com",
              "scheme": "HTTP"
            }
          }
        }
      },
      "replicas": 2,
      "security": {
        "runAsGid": 30,
        "runAsUid": 500
      },
      "servingPort": {
        "serviceType": "ClusterIP",
        "port": 8000,
        "grpcPort": 8001,
        "metricsPort": 8002,
        "exposeExternally": true,
        "exposedUrl": "string",
        "exposedProtocol": "http",
        "authorizationType": "public",
        "authorizedUsers": [
          "user.a@example.com",
          "user.b@example.com"
        ],
        "authorizedGroups": [
          "group-a",
          "group-b"
        ]
      },
      "tolerations": {
        "attributes": {
          "name": "string",
          "operator": "Equal",
          "key": "string",
          "value": "string",
          "effect": "NoSchedule",
          "seconds": 1,
          "exclude": false
        },
        "instances": [
          {
            "name": "string",
            "operator": "Equal",
            "key": "string",
            "value": "string",
            "effect": "NoSchedule",
            "seconds": 1,
            "exclude": false
          }
        ]
      }
    },
    "rules": {
      "annotations": {
        "instances": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canAdd": true,
          "locked": [
            "HOME",
            "USER"
          ]
        }
      },
      "autoscaling": {
        "maxReplicas": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "metric": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "string",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        },
        "metricThreshold": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "minReplicas": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "scaleWindowSeconds": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        }
      },
      "category": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "string",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "compute": {
        "cpuCoreLimit": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1.1,
          "max": 1.1,
          "step": 1.1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "cpuCoreRequest": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1.1,
          "max": 1.1,
          "step": 1.1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "cpuMemoryLimit": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": "string",
          "max": "string",
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "cpuMemoryRequest": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": "string",
          "max": "string",
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuDevicesRequest": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuMemoryLimit": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": "string",
          "max": "string",
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuMemoryRequest": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": "string",
          "max": "string",
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuPortionLimit": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1.1,
          "max": 1.1,
          "step": 1.1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuPortionRequest": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1.1,
          "max": 1.1,
          "step": 1.1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuRequestType": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "portion",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        }
      },
      "environmentVariables": {
        "instances": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canAdd": true,
          "locked": [
            "HOME",
            "USER"
          ]
        }
      },
      "image": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "string",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "imagePullPolicy": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "Always",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "imagePullSecrets": {
        "attributes": {
          "name": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "userCredentials": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true
          }
        },
        "instances": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canAdd": true,
          "locked": [
            "HOME",
            "USER"
          ]
        }
      },
      "labels": {
        "instances": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canAdd": true,
          "locked": [
            "HOME",
            "USER"
          ]
        }
      },
      "modelStore": {
        "nimCache": {
          "name": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "profile": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          }
        },
        "pvc": {
          "claimName": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "path": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "readOnly": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true
          },
          "claimInfo": {
            "size": {
              "blocked": true,
              "canEdit": true,
              "options": [
                {
                  "value": "string",
                  "displayed": "string"
                }
              ],
              "required": true,
              "sourceOfRule": {
                "scope": "project",
                "projectId": 3
              }
            },
            "storageClass": {
              "blocked": true,
              "canEdit": true,
              "options": [
                {
                  "value": "string",
                  "displayed": "string"
                }
              ],
              "required": true,
              "sourceOfRule": {
                "scope": "project",
                "projectId": 3
              }
            },
            "accessModes": {
              "readWriteOnce": {
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                },
                "required": true,
                "canEdit": true
              },
              "readOnlyMany": {
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                },
                "required": true,
                "canEdit": true
              },
              "readWriteMany": {
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                },
                "required": true,
                "canEdit": true
              }
            }
          }
        }
      },
      "multiNode": {
        "workers": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        }
      },
      "ngcAuthSecret": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "string",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "nodePools": {
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        },
        "required": true,
        "options": [
          {
            "value": "string",
            "displayed": "string"
          }
        ],
        "canEdit": true
      },
      "preemptibility": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "preemptible",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "priorityClass": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "string",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "probes": {
        "readiness": {
          "initialDelaySeconds": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "periodSeconds": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "timeoutSeconds": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "successThreshold": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "failureThreshold": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "handler": {
            "httpGet": {
              "path": {
                "blocked": true,
                "canEdit": true,
                "options": [
                  {
                    "value": "string",
                    "displayed": "string"
                  }
                ],
                "required": true,
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                }
              },
              "port": {
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                },
                "required": true,
                "canEdit": true,
                "min": 1,
                "max": 1,
                "step": 1,
                "defaultFrom": {
                  "field": "string",
                  "factor": 1
                }
              },
              "host": {
                "blocked": true,
                "canEdit": true,
                "options": [
                  {
                    "value": "string",
                    "displayed": "string"
                  }
                ],
                "required": true,
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                }
              },
              "scheme": {
                "blocked": true,
                "canEdit": true,
                "options": [
                  {
                    "value": "string",
                    "displayed": "string"
                  }
                ],
                "required": true,
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                }
              }
            }
          }
        }
      },
      "replicas": {
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        },
        "required": true,
        "canEdit": true,
        "min": 1,
        "max": 1,
        "step": 1,
        "defaultFrom": {
          "field": "string",
          "factor": 1
        }
      },
      "security": {
        "runAsGid": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "runAsUid": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        }
      },
      "servingPort": {
        "serviceType": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "ClusterIP",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        },
        "port": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "grpcPort": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "metricsPort": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "exposeExternally": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true
        },
        "exposedUrl": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "string",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        },
        "exposedProtocol": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "http",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        },
        "authorizationType": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "public",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        },
        "authorizedUsers": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "options": [
            {
              "value": "string",
              "displayed": "string"
            }
          ],
          "canEdit": true
        },
        "authorizedGroups": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "options": [
            {
              "value": "string",
              "displayed": "string"
            }
          ],
          "canEdit": true
        }
      },
      "tolerations": {
        "attributes": {
          "operator": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "Equal",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "key": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "value": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "effect": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "NoSchedule",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "seconds": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "exclude": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true
          }
        },
        "instances": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canAdd": true,
          "locked": [
            "HOME",
            "USER"
          ]
        }
      }
    },
    "status": {
      "validation": {
        "errorMessage": "string"
      }
    }
  },
  "effective": {
    "defaults": {
      "annotations": {
        "instances": [
          {
            "name": "billing",
            "value": "my-billing-unit",
            "exclude": false
          }
        ]
      },
      "autoscaling": {
        "maxReplicas": 1,
        "metric": "http_requests_total",
        "metricThreshold": 1,
        "minReplicas": 1,
        "scaleWindowSeconds": 1
      },
      "category": "string",
      "compute": {
        "cpuCoreLimit": 2,
        "cpuCoreRequest": 0.5,
        "cpuMemoryLimit": "30M",
        "cpuMemoryRequest": "20M",
        "gpuDevicesRequest": 1,
        "gpuMemoryLimit": "10M",
        "gpuMemoryRequest": "10M",
        "gpuPortionLimit": 0.5,
        "gpuPortionRequest": 0.5,
        "gpuRequestType": "portion"
      },
      "environmentVariables": {
        "instances": [
          {
            "name": "HOME",
            "value": "/home/my-folder",
            "secret": {
              "name": "postgress_secret",
              "key": "POSTGRES_PASSWORD"
            },
            "configMap": {
              "name": "my-config-map",
              "key": "MY_POSTGRES_SCHEMA"
            },
            "podFieldRef": {
              "path": "metadata.name"
            },
            "userCredential": {
              "name": "my_postgres_user_and_password",
              "key": "POSTGRES_PASSWORD"
            },
            "exclude": false,
            "description": "Home directory of the user."
          }
        ]
      },
      "image": "python:3.8",
      "imagePullPolicy": "Always",
      "imagePullSecrets": {
        "instances": [
          {
            "name": "string",
            "userCredential": true,
            "exclude": false
          }
        ]
      },
      "labels": {
        "instances": [
          {
            "name": "stage",
            "value": "initial-research",
            "exclude": false
          }
        ]
      },
      "modelStore": {
        "nimCache": {
          "name": "nim-cache-a",
          "profile": "tensorrt_llm-b200-fp8-tp2-pp1-latency-2901:10de-2"
        },
        "pvc": {
          "existingPvc": false,
          "claimName": "my-claim",
          "readOnly": false,
          "claimInfo": {
            "size": "1G",
            "storageClass": "my-storage-class",
            "accessModes": {
              "readWriteOnce": true,
              "readOnlyMany": false,
              "readWriteMany": false
            },
            "volumeMode": "Filesystem",
            "addedAttrValues": [
              {
                "key": "dnsname",
                "value": "my.dns.com"
              }
            ]
          }
        }
      },
      "multiNode": {
        "workers": 3
      },
      "ngcAuthSecret": "string",
      "nodePools": [
        "my-node-pool-a",
        "my-node-pool-b"
      ],
      "preemptibility": "preemptible",
      "priorityClass": "string",
      "probes": {
        "readiness": {
          "initialDelaySeconds": 1,
          "periodSeconds": 1,
          "timeoutSeconds": 1,
          "successThreshold": 1,
          "failureThreshold": 1,
          "handler": {
            "httpGet": {
              "path": "/",
              "port": 1,
              "host": "example.com",
              "scheme": "HTTP"
            }
          }
        }
      },
      "replicas": 2,
      "security": {
        "runAsGid": 30,
        "runAsUid": 500
      },
      "servingPort": {
        "serviceType": "ClusterIP",
        "port": 8000,
        "grpcPort": 8001,
        "metricsPort": 8002,
        "exposeExternally": true,
        "exposedUrl": "string",
        "exposedProtocol": "http",
        "authorizationType": "public",
        "authorizedUsers": [
          "user.a@example.com",
          "user.b@example.com"
        ],
        "authorizedGroups": [
          "group-a",
          "group-b"
        ]
      },
      "tolerations": {
        "attributes": {
          "name": "string",
          "operator": "Equal",
          "key": "string",
          "value": "string",
          "effect": "NoSchedule",
          "seconds": 1,
          "exclude": false
        },
        "instances": [
          {
            "name": "string",
            "operator": "Equal",
            "key": "string",
            "value": "string",
            "effect": "NoSchedule",
            "seconds": 1,
            "exclude": false
          }
        ]
      }
    },
    "rules": {
      "annotations": {
        "instances": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canAdd": true,
          "locked": [
            "HOME",
            "USER"
          ]
        }
      },
      "autoscaling": {
        "maxReplicas": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "metric": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "string",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        },
        "metricThreshold": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "minReplicas": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "scaleWindowSeconds": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        }
      },
      "category": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "string",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "compute": {
        "cpuCoreLimit": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1.1,
          "max": 1.1,
          "step": 1.1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "cpuCoreRequest": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1.1,
          "max": 1.1,
          "step": 1.1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "cpuMemoryLimit": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": "string",
          "max": "string",
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "cpuMemoryRequest": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": "string",
          "max": "string",
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuDevicesRequest": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuMemoryLimit": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": "string",
          "max": "string",
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuMemoryRequest": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": "string",
          "max": "string",
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuPortionLimit": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1.1,
          "max": 1.1,
          "step": 1.1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuPortionRequest": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1.1,
          "max": 1.1,
          "step": 1.1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "gpuRequestType": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "portion",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        }
      },
      "environmentVariables": {
        "instances": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canAdd": true,
          "locked": [
            "HOME",
            "USER"
          ]
        }
      },
      "image": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "string",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "imagePullPolicy": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "Always",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "imagePullSecrets": {
        "attributes": {
          "name": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "userCredentials": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true
          }
        },
        "instances": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canAdd": true,
          "locked": [
            "HOME",
            "USER"
          ]
        }
      },
      "labels": {
        "instances": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canAdd": true,
          "locked": [
            "HOME",
            "USER"
          ]
        }
      },
      "modelStore": {
        "nimCache": {
          "name": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "profile": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          }
        },
        "pvc": {
          "claimName": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "path": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "readOnly": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true
          },
          "claimInfo": {
            "size": {
              "blocked": true,
              "canEdit": true,
              "options": [
                {
                  "value": "string",
                  "displayed": "string"
                }
              ],
              "required": true,
              "sourceOfRule": {
                "scope": "project",
                "projectId": 3
              }
            },
            "storageClass": {
              "blocked": true,
              "canEdit": true,
              "options": [
                {
                  "value": "string",
                  "displayed": "string"
                }
              ],
              "required": true,
              "sourceOfRule": {
                "scope": "project",
                "projectId": 3
              }
            },
            "accessModes": {
              "readWriteOnce": {
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                },
                "required": true,
                "canEdit": true
              },
              "readOnlyMany": {
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                },
                "required": true,
                "canEdit": true
              },
              "readWriteMany": {
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                },
                "required": true,
                "canEdit": true
              }
            }
          }
        }
      },
      "multiNode": {
        "workers": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        }
      },
      "ngcAuthSecret": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "string",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "nodePools": {
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        },
        "required": true,
        "options": [
          {
            "value": "string",
            "displayed": "string"
          }
        ],
        "canEdit": true
      },
      "preemptibility": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "preemptible",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "priorityClass": {
        "blocked": true,
        "canEdit": true,
        "options": [
          {
            "value": "string",
            "displayed": "string"
          }
        ],
        "required": true,
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        }
      },
      "probes": {
        "readiness": {
          "initialDelaySeconds": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "periodSeconds": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "timeoutSeconds": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "successThreshold": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "failureThreshold": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "handler": {
            "httpGet": {
              "path": {
                "blocked": true,
                "canEdit": true,
                "options": [
                  {
                    "value": "string",
                    "displayed": "string"
                  }
                ],
                "required": true,
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                }
              },
              "port": {
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                },
                "required": true,
                "canEdit": true,
                "min": 1,
                "max": 1,
                "step": 1,
                "defaultFrom": {
                  "field": "string",
                  "factor": 1
                }
              },
              "host": {
                "blocked": true,
                "canEdit": true,
                "options": [
                  {
                    "value": "string",
                    "displayed": "string"
                  }
                ],
                "required": true,
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                }
              },
              "scheme": {
                "blocked": true,
                "canEdit": true,
                "options": [
                  {
                    "value": "string",
                    "displayed": "string"
                  }
                ],
                "required": true,
                "sourceOfRule": {
                  "scope": "project",
                  "projectId": 3
                }
              }
            }
          }
        }
      },
      "replicas": {
        "sourceOfRule": {
          "scope": "project",
          "projectId": 3
        },
        "required": true,
        "canEdit": true,
        "min": 1,
        "max": 1,
        "step": 1,
        "defaultFrom": {
          "field": "string",
          "factor": 1
        }
      },
      "security": {
        "runAsGid": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "runAsUid": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        }
      },
      "servingPort": {
        "serviceType": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "ClusterIP",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        },
        "port": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "grpcPort": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "metricsPort": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true,
          "min": 1,
          "max": 1,
          "step": 1,
          "defaultFrom": {
            "field": "string",
            "factor": 1
          }
        },
        "exposeExternally": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "canEdit": true
        },
        "exposedUrl": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "string",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        },
        "exposedProtocol": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "http",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        },
        "authorizationType": {
          "blocked": true,
          "canEdit": true,
          "options": [
            {
              "value": "public",
              "displayed": "string"
            }
          ],
          "required": true,
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          }
        },
        "authorizedUsers": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "options": [
            {
              "value": "string",
              "displayed": "string"
            }
          ],
          "canEdit": true
        },
        "authorizedGroups": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "required": true,
          "options": [
            {
              "value": "string",
              "displayed": "string"
            }
          ],
          "canEdit": true
        }
      },
      "tolerations": {
        "attributes": {
          "operator": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "Equal",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "key": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "value": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "string",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "effect": {
            "blocked": true,
            "canEdit": true,
            "options": [
              {
                "value": "NoSchedule",
                "displayed": "string"
              }
            ],
            "required": true,
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            }
          },
          "seconds": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true,
            "min": 1,
            "max": 1,
            "step": 1,
            "defaultFrom": {
              "field": "string",
              "factor": 1
            }
          },
          "exclude": {
            "sourceOfRule": {
              "scope": "project",
              "projectId": 3
            },
            "required": true,
            "canEdit": true
          }
        },
        "instances": {
          "sourceOfRule": {
            "scope": "project",
            "projectId": 3
          },
          "canAdd": true,
          "locked": [
            "HOME",
            "USER"
          ]
        }
      }
    },
    "status": {
      "validation": {
        "errorMessage": "string"
      }
    }
  },
  "effectiveUpdatedAt": "2024-01-15T09:30:00Z"
}
```

**SDK Code**

```python
import requests

url = "http://localhost:8080/api/v2/policy/nim-services"

querystring = {"scope":"tenant"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript
const url = 'http://localhost:8080/api/v2/policy/nim-services?scope=tenant';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "http://localhost:8080/api/v2/policy/nim-services?scope=tenant"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("http://localhost:8080/api/v2/policy/nim-services?scope=tenant")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("http://localhost:8080/api/v2/policy/nim-services?scope=tenant")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'http://localhost:8080/api/v2/policy/nim-services?scope=tenant', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("http://localhost:8080/api/v2/policy/nim-services?scope=tenant");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:8080/api/v2/policy/nim-services?scope=tenant")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```