{ "name": "1. Provisioning Meter Types", "nodes": [ { "id": "c0d50910-0ed3-11ef-a415-f705033d8568", "type": "readers/counter", "schemaVersion": 2, "name": "Init", "params": { "max": 1 }, "x": 500, "y": 150 }, { "id": "3e5b2bc0-0ed5-11ef-a415-f705033d8568", "type": "transforms/http", "schemaVersion": 11, "name": "Meter Type API", "params": { "authentication": "password", "authType": "oAuth2", "body": "${payload.meterType}", "cacheSeconds": 300, "errorMode": "defer", "method": "POST", "oAuth2Authentication": { "accessTokenURL": "https://api.digitalroute.io/authentication/v1/oauth/token", "audience": "https://api.digitalroute.io/", "clientAuthentication": "sendInBody", "headerPrefix": "Bearer" }, "retries": 1, "shouldRetry": false, "uri": "https://api.digitalroute.io/usage-metering/v1/meter-types", "useCache": false, "useMockData": true, "useResponseHeaderKey": true }, "x": 900, "y": 150 }, { "id": "c5faa1c0-0ed3-11ef-a415-f705033d8568", "type": "transforms/script", "schemaVersion": 1, "name": "Prepare Meter Types", "params": { "transform": "/*\nL1_Llama3_Requests\n\nL1_Gemini_Pro_Requests\n\nL1_Claude3_Sonnet_Requests\n\nL2_GPT4o_Requests\n\nL2_Gemini_Flash_Requests\n\nL2_Claude3_Opus_Requests\n*/\n\nconst meterTypes = [\n {\n name: \"L1_Llama3_Requests\",\n description: \"L1 API requests using the Llama3 LLM\",\n unit: \"API request\",\n category: \"L1_API_Requests\",\n aggregation: {\n type: \"sum\",\n },\n resetSchedule: {\n day: \"1\",\n hour: \"0\",\n minute: \"0\",\n month: \"*\",\n weekday: \"*\",\n },\n timezone: \"Etc/UTC\"\n },\n {\n name: \"L1_Gemini_Pro_Requests\",\n description: \"L1 API requests using the Gemini Pro LLM\",\n unit: \"API request\",\n category: \"L1_API_Requests\",\n aggregation: {\n type: \"sum\",\n },\n resetSchedule: {\n day: \"1\",\n hour: \"0\",\n minute: \"0\",\n month: \"*\",\n weekday: \"*\",\n },\n timezone: \"Etc/UTC\"\n },\n {\n name: \"L1_Claude3_Sonnet_Requests\",\n description: \"L1 API requests using the Claude3 Sonnet LLM\",\n unit: \"API request\",\n category: \"L1_API_Requests\",\n aggregation: {\n type: \"sum\",\n },\n resetSchedule: {\n day: \"1\",\n hour: \"0\",\n minute: \"0\",\n month: \"*\",\n weekday: \"*\",\n },\n timezone: \"Etc/UTC\"\n },\n {\n name: \"L2_GPT4o_Requests\",\n description: \"L2 API requests using the GPT4o LLM\",\n unit: \"API request\",\n category: \"L2_API_Requests\",\n aggregation: {\n type: \"sum\",\n },\n resetSchedule: {\n day: \"1\",\n hour: \"0\",\n minute: \"0\",\n month: \"*\",\n weekday: \"*\",\n },\n timezone: \"Etc/UTC\"\n },\n {\n name: \"L2_Gemini_Flash_Requests\",\n description: \"L2 API requests using the Gemini Flash LLM\",\n unit: \"API request\",\n category: \"L2_API_Requests\",\n aggregation: {\n type: \"sum\",\n },\n resetSchedule: {\n day: \"1\",\n hour: \"0\",\n minute: \"0\",\n month: \"*\",\n weekday: \"*\",\n },\n timezone: \"Etc/UTC\"\n },\n {\n name: \"L2_Claude3_Opus_Requests\",\n description: \"L2 API requests using the Claude3 Opus LLM\",\n unit: \"API request\",\n category: \"L2_API_Requests\",\n aggregation: {\n type: \"sum\",\n },\n resetSchedule: {\n day: \"1\",\n hour: \"0\",\n minute: \"0\",\n month: \"*\",\n weekday: \"*\",\n },\n timezone: \"Etc/UTC\"\n },\n];\n\nfor (const meterType of meterTypes) {\n await push({ meterType });\n}\n" }, "x": 700, "y": 150 }, { "id": "607fb5e0-0ed5-11ef-a415-f705033d8568", "type": "writers/log", "schemaVersion": 1, "name": "Log", "params": {}, "x": 1100, "y": 150 } ], "edges": [ { "id": "408efbb0-0ed5-11ef-a415-f705033d8568", "from": "c5faa1c0-0ed3-11ef-a415-f705033d8568", "to": "3e5b2bc0-0ed5-11ef-a415-f705033d8568", "config": {} }, { "id": "62c07e20-0ed5-11ef-a415-f705033d8568", "from": "3e5b2bc0-0ed5-11ef-a415-f705033d8568", "to": "607fb5e0-0ed5-11ef-a415-f705033d8568", "config": {} }, { "id": "c899ddb0-0ed3-11ef-a415-f705033d8568", "from": "c0d50910-0ed3-11ef-a415-f705033d8568", "to": "c5faa1c0-0ed3-11ef-a415-f705033d8568", "config": {} } ] }