|
| 1 | +from products.warehouse_sources.backend.temporal.data_imports.sources.common.canonical_descriptions import ( |
| 2 | + CanonicalDescriptions, |
| 3 | +) |
| 4 | + |
| 5 | +_API_DOCS = "https://rest.runpod.io/v1/docs" |
| 6 | + |
| 7 | +CANONICAL_DESCRIPTIONS: CanonicalDescriptions = { |
| 8 | + "pods": { |
| 9 | + "description": "GPU and CPU Pods in your RunPod account, including on-demand instances and Serverless workers.", |
| 10 | + "docs_url": _API_DOCS, |
| 11 | + "columns": { |
| 12 | + "id": "Unique identifier for the Pod.", |
| 13 | + "name": "User-defined name for the Pod. Does not need to be unique.", |
| 14 | + "desiredStatus": "The current expected status of the Pod.", |
| 15 | + "image": "The image tag for the container run on the Pod.", |
| 16 | + "gpuTypeId": "The GPU type attached to the Pod.", |
| 17 | + "costPerHr": "The cost in RunPod credits per hour of running the Pod, before Savings Plans.", |
| 18 | + "adjustedCostPerHr": "The effective cost per hour of running the Pod, adjusted by active Savings Plans.", |
| 19 | + "machineId": "Unique identifier of the host machine the Pod is running on.", |
| 20 | + "endpointId": "If the Pod is a Serverless worker, the identifier of the associated endpoint.", |
| 21 | + "templateId": "If the Pod was created from a template, the identifier of that template.", |
| 22 | + "networkVolumeId": "If a network volume is attached, the identifier of that network volume.", |
| 23 | + "vcpuCount": "The number of virtual CPUs attached to the Pod.", |
| 24 | + "memoryInGb": "The amount of RAM, in gigabytes, attached to the Pod.", |
| 25 | + "containerDiskInGb": "Disk space, in gigabytes, allocated on the container disk (wiped on restart).", |
| 26 | + "volumeInGb": "Disk space, in gigabytes, allocated on the Pod volume (persisted across restarts).", |
| 27 | + "interruptible": "True if the Pod is rented as interruptible (lower cost, can be stopped at any time).", |
| 28 | + "publicIp": "The public IP address of the Pod, once initialized.", |
| 29 | + "lastStartedAt": "UTC timestamp when the Pod was last started.", |
| 30 | + "lastStatusChange": "Description of the last lifecycle event on the Pod.", |
| 31 | + "locked": "True if the Pod is locked, disabling stop and reset.", |
| 32 | + }, |
| 33 | + }, |
| 34 | + "endpoints": { |
| 35 | + "description": "Serverless endpoints in your RunPod account, including autoscaling configuration.", |
| 36 | + "docs_url": _API_DOCS, |
| 37 | + "columns": { |
| 38 | + "id": "Unique identifier for the Serverless endpoint.", |
| 39 | + "name": "User-defined name for the endpoint. Does not need to be unique.", |
| 40 | + "createdAt": "UTC timestamp when the endpoint was created.", |
| 41 | + "computeType": "The type of compute used by workers on the endpoint.", |
| 42 | + "gpuTypeIds": "RunPod GPU types which can be attached to the endpoint.", |
| 43 | + "gpuCount": "The number of GPUs attached to each worker.", |
| 44 | + "dataCenterIds": "RunPod data center IDs where workers can be located.", |
| 45 | + "templateId": "Identifier of the template used to create the endpoint.", |
| 46 | + "networkVolumeId": "Identifier of the network volume attached to the endpoint.", |
| 47 | + "workersMin": "The minimum number of workers kept running at the same time.", |
| 48 | + "workersMax": "The maximum number of workers that can run at the same time.", |
| 49 | + "idleTimeout": "Seconds a worker can run without a job before being scaled down.", |
| 50 | + "scalerType": "The method used to scale up workers (QUEUE_DELAY or REQUEST_COUNT).", |
| 51 | + "scalerValue": "The threshold value used by the configured scaler type.", |
| 52 | + "executionTimeoutMs": "Maximum milliseconds a request can run before the worker is stopped.", |
| 53 | + "version": "The latest version of the endpoint, updated on template or env changes.", |
| 54 | + "userId": "Identifier of the RunPod user who created the endpoint.", |
| 55 | + }, |
| 56 | + }, |
| 57 | + "templates": { |
| 58 | + "description": "Pod and Serverless templates in your RunPod account.", |
| 59 | + "docs_url": _API_DOCS, |
| 60 | + "columns": { |
| 61 | + "id": "Unique identifier for the template.", |
| 62 | + "name": "User-defined name for the template. Must be unique.", |
| 63 | + "imageName": "The image tag for the container run on Pods or workers created from the template.", |
| 64 | + "category": "The template category (NVIDIA, AMD, or CPU).", |
| 65 | + "isServerless": "True if instances created from the template are Serverless workers, false for Pods.", |
| 66 | + "isPublic": "True if the template is public and usable by any RunPod user.", |
| 67 | + "isRunpod": "True if the template is an official template managed by RunPod.", |
| 68 | + "containerDiskInGb": "Disk space, in gigabytes, allocated on the container disk (wiped on restart).", |
| 69 | + "volumeInGb": "Disk space, in gigabytes, allocated on the local volume (persisted across restarts).", |
| 70 | + "volumeMountPath": "Absolute path where the volume is mounted in the filesystem.", |
| 71 | + "ports": "Ports exposed on Pods or workers, formatted as [port]/[protocol].", |
| 72 | + "earned": "RunPod credits earned by the template creator from all instances created from it.", |
| 73 | + }, |
| 74 | + }, |
| 75 | + "network_volumes": { |
| 76 | + "description": "Network volumes in your RunPod account, attachable to Pods and Serverless endpoints.", |
| 77 | + "docs_url": _API_DOCS, |
| 78 | + "columns": { |
| 79 | + "id": "Unique identifier for the network volume.", |
| 80 | + "name": "User-defined name for the network volume. Does not need to be unique.", |
| 81 | + "size": "The amount of disk space, in gigabytes, allocated to the network volume.", |
| 82 | + "dataCenterId": "The RunPod data center ID where the network volume is located.", |
| 83 | + }, |
| 84 | + }, |
| 85 | + "billing_pods": { |
| 86 | + "description": "Daily billing history for Pods, one record per Pod per day bucket.", |
| 87 | + "docs_url": _API_DOCS, |
| 88 | + "columns": { |
| 89 | + "id": "Surrogate key derived from the bucket start and Pod ID.", |
| 90 | + "time": "The start of the day bucket the billing record applies to.", |
| 91 | + "podId": "The Pod the billing record applies to.", |
| 92 | + "amount": "The amount charged for the bucket, in USD.", |
| 93 | + "timeBilledMs": "The total time billed for the bucket, in milliseconds.", |
| 94 | + "diskSpaceBilledGb": "The amount of disk space billed for the bucket, in gigabytes.", |
| 95 | + }, |
| 96 | + }, |
| 97 | + "billing_endpoints": { |
| 98 | + "description": "Daily billing history for Serverless endpoints, one record per endpoint per day bucket.", |
| 99 | + "docs_url": _API_DOCS, |
| 100 | + "columns": { |
| 101 | + "id": "Surrogate key derived from the bucket start and endpoint ID.", |
| 102 | + "time": "The start of the day bucket the billing record applies to.", |
| 103 | + "endpointId": "The Serverless endpoint the billing record applies to.", |
| 104 | + "amount": "The amount charged for the bucket, in USD.", |
| 105 | + "timeBilledMs": "The total time billed for the bucket, in milliseconds.", |
| 106 | + "diskSpaceBilledGb": "The amount of disk space billed for the bucket, in gigabytes.", |
| 107 | + }, |
| 108 | + }, |
| 109 | + "billing_network_volumes": { |
| 110 | + "description": "Daily billing history for network volume storage, aggregated account-wide per day bucket.", |
| 111 | + "docs_url": _API_DOCS, |
| 112 | + "columns": { |
| 113 | + "id": "Surrogate key derived from the bucket start.", |
| 114 | + "time": "The start of the day bucket the billing record applies to.", |
| 115 | + "amount": "The amount charged for the bucket, in USD.", |
| 116 | + "diskSpaceBilledGb": "The amount of disk space billed for the bucket, in gigabytes.", |
| 117 | + "highPerformanceStorageAmount": "The amount charged for high performance storage for the bucket, in USD.", |
| 118 | + "highPerformanceStorageDiskSpaceBilledGb": "High performance storage disk space billed for the bucket, in gigabytes.", |
| 119 | + }, |
| 120 | + }, |
| 121 | +} |
0 commit comments