@cloudfleet/sdk 0.0.1-ef41cb3 → 0.0.1-f0a0ca4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -286,7 +286,7 @@ export const ClusterCreateInputSchema = {
286
286
  pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
287
287
  description: 'Version of the kubernetes cluster.',
288
288
  default: '1.x.x-cfke.x',
289
- example: '1.29.x-cfke.x'
289
+ example: '1.33.x-cfke.x'
290
290
  }
291
291
  },
292
292
  required: ['name', 'tier'],
@@ -323,7 +323,7 @@ MIIC0DCCAbigAwIBAgI...`
323
323
  kubernetes: {
324
324
  type: 'string',
325
325
  description: 'Kubernetes version of the cluster.',
326
- example: '1.29.3'
326
+ example: '1.33.7'
327
327
  },
328
328
  tailscale: {
329
329
  type: 'string',
@@ -401,7 +401,7 @@ export const ClusterSchema = {
401
401
  pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
402
402
  description: 'Version of the kubernetes cluster.',
403
403
  default: '1.x.x-cfke.x',
404
- example: '1.29.x-cfke.x'
404
+ example: '1.33.x-cfke.x'
405
405
  },
406
406
  id: {
407
407
  type: 'string',
@@ -438,7 +438,7 @@ MIIC0DCCAbigAwIBAgI...`
438
438
  version_current: {
439
439
  type: 'string',
440
440
  description: 'Current version of the cluster.',
441
- example: '1.29.3-cfke.52'
441
+ example: '1.33.7-cfke.264'
442
442
  },
443
443
  created_at: {
444
444
  type: 'string',
@@ -480,7 +480,7 @@ export const ClusterUpdateInputSchema = {
480
480
  type: 'string',
481
481
  pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
482
482
  description: 'Version of the kubernetes cluster.',
483
- example: '1.29.x-cfke.x'
483
+ example: '1.33.x-cfke.x'
484
484
  }
485
485
  },
486
486
  required: ['tier'],
@@ -787,87 +787,143 @@ export const InvoiceSchema = {
787
787
  required: ['created', 'period_start', 'period_end'],
788
788
  additionalProperties: false
789
789
  };
790
- export const MarketplaceListingSchema = {
790
+ export const MarketplaceListingFilesSchema = {
791
791
  type: 'object',
792
792
  properties: {
793
- id: {
794
- type: 'string',
795
- maxLength: 63,
796
- minLength: 1,
797
- pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
798
- description: 'Id of the chart listing',
799
- example: 'portworx-enterprise-disaster-recovery-baremetal'
800
- },
801
- name: {
802
- type: 'string',
803
- description: 'Name of the chart listing',
804
- example: 'Portworx Enterprise + Disaster Recovery - Baremetal'
805
- },
806
- developer: {
793
+ chartYaml: {
807
794
  type: 'string',
808
- description: 'Author of the chart listing',
809
- example: 'Portworx'
795
+ description: 'Raw Chart.yaml content from the Helm chart',
796
+ example: `apiVersion: v2
797
+ name: nginx-ingress
798
+ version: 1.18.2-cfke.45
799
+ appVersion: 1.9.4`
810
800
  },
811
- description: {
801
+ valuesYaml: {
812
802
  type: 'string',
813
- description: 'Short description of the chart listing',
814
- example: 'Run Kubernetes with unmatched scalability, availability, and self-service access to any storage'
803
+ description: 'Raw values.yaml content from the Helm chart',
804
+ example: `replicaCount: 1
805
+ image:
806
+ repository: nginx
807
+ tag: latest`
815
808
  },
816
- logoUrl: {
809
+ valuesSchemaJson: {
817
810
  type: 'string',
818
- description: 'Logo of the chart listing',
819
- example: 'https://portworx.com/wp-content/themes/portworx/assets/images/header/portworx-logo.png'
820
- },
821
- longDescription: {
811
+ description: 'JSON schema for values.yaml as a string',
812
+ example: '{"type":"object","properties":{"replicaCount":{"type":"number"}}}'
813
+ }
814
+ },
815
+ additionalProperties: false
816
+ };
817
+ export const MarketplaceListingSchema = {
818
+ type: 'object',
819
+ properties: {
820
+ name: {
822
821
  type: 'string',
823
- description: 'Long description of the chart listing',
824
- example: 'Portworx-Enterprise is the complete multi-cloud ready Kubernetes storage platform for running mission-critical apps in production....'
822
+ description: 'Name of the chart',
823
+ example: 'nginx-ingress'
825
824
  },
826
- categories: {
825
+ versions: {
827
826
  type: 'array',
828
827
  items: {
829
828
  type: 'string',
830
- example: 'AI & Machine Learning'
829
+ pattern: '^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
830
+ description: 'Specific version of the chart',
831
+ example: '1.18.2-cfke.45'
831
832
  },
832
- description: 'Tags of the chart'
833
+ description: 'Available versions of the chart'
833
834
  },
834
835
  version_channels: {
835
836
  type: 'array',
836
837
  items: {
837
838
  type: 'string',
838
839
  pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
839
- description: 'Version of the chart.',
840
- example: '2.x.x-cfke.x'
841
- }
840
+ description: 'Version channel pattern',
841
+ example: '1.18.x-cfke.x'
842
+ },
843
+ description: 'Version channels for the chart'
842
844
  },
843
- value_schemas: {
844
- type: 'array',
845
- items: {
846
- type: 'object',
847
- properties: {
848
- version: {
849
- type: 'string',
850
- pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
851
- description: 'Version of the chart.',
852
- example: '2.1.1-cfke.123'
845
+ latestVersion: {
846
+ type: 'string',
847
+ description: 'Latest version of the chart',
848
+ example: '1.18.2-cfke.45'
849
+ },
850
+ metadata: {
851
+ type: 'object',
852
+ properties: {
853
+ name: {
854
+ type: 'string',
855
+ description: 'Chart name from metadata',
856
+ example: 'nginx-ingress'
857
+ },
858
+ version: {
859
+ type: 'string',
860
+ description: 'Chart version from metadata',
861
+ example: '1.18.2-cfke.45'
862
+ },
863
+ description: {
864
+ type: 'string',
865
+ description: 'Chart description',
866
+ example: 'NGINX Ingress Controller for Kubernetes'
867
+ },
868
+ appVersion: {
869
+ type: 'string',
870
+ description: 'Application version',
871
+ example: '1.9.4'
872
+ },
873
+ apiVersion: {
874
+ type: 'string',
875
+ description: 'Helm API version',
876
+ example: 'v2'
877
+ },
878
+ keywords: {
879
+ type: 'array',
880
+ items: {
881
+ type: 'string'
853
882
  },
854
- schema: {
855
- type: 'string',
856
- description: 'Schema of the chart values. JSON Schema as string'
883
+ description: 'Chart keywords',
884
+ example: ['ingress', 'nginx', 'load-balancer']
885
+ },
886
+ home: {
887
+ type: 'string',
888
+ description: 'Chart home URL',
889
+ example: 'https://kubernetes.github.io/ingress-nginx/'
890
+ },
891
+ sources: {
892
+ type: 'array',
893
+ items: {
894
+ type: 'string'
857
895
  },
858
- placeholder: {
859
- type: 'string',
860
- description: 'Schema of the chart values',
861
- example: `foo: 1
862
- bar: example`
863
- }
896
+ description: 'Chart source URLs',
897
+ example: ['https://github.com/kubernetes/ingress-nginx']
864
898
  },
865
- required: ['version', 'schema', 'placeholder'],
866
- additionalProperties: false
867
- }
899
+ maintainers: {
900
+ type: 'array',
901
+ items: {
902
+ type: 'object',
903
+ properties: {
904
+ name: {
905
+ type: 'string',
906
+ description: 'Maintainer name',
907
+ example: 'NGINX Team'
908
+ },
909
+ email: {
910
+ type: 'string',
911
+ description: 'Maintainer email',
912
+ example: 'support@nginx.org'
913
+ }
914
+ },
915
+ required: ['name'],
916
+ additionalProperties: false
917
+ },
918
+ description: 'Chart maintainers'
919
+ }
920
+ },
921
+ required: ['name', 'version'],
922
+ additionalProperties: false,
923
+ description: 'Chart metadata'
868
924
  }
869
925
  },
870
- required: ['id', 'name', 'developer', 'description', 'logoUrl', 'longDescription', 'categories', 'version_channels', 'value_schemas'],
926
+ required: ['name', 'versions', 'version_channels', 'latestVersion'],
871
927
  additionalProperties: false
872
928
  };
873
929
  export const OrganizationCreateInputSchema = {
@@ -985,12 +1041,12 @@ export const OrganizationSchema = {
985
1041
  id: {
986
1042
  type: 'string',
987
1043
  description: 'Id of the control plane version. Used in API calls.',
988
- example: '1.29.x-cfke.x'
1044
+ example: '1.33.x-cfke.x'
989
1045
  },
990
1046
  label: {
991
1047
  type: 'string',
992
1048
  description: 'Label of the control plane version. Used in frontent UI.',
993
- example: '1.29.x (Always latest 1.29 patch version)'
1049
+ example: '1.33.x (Always latest 1.33 patch version)'
994
1050
  }
995
1051
  },
996
1052
  required: ['id', 'label'],
@@ -1066,6 +1122,261 @@ export const PaymentMethodSchema = {
1066
1122
  required: ['id', 'setup', 'type', 'last4', 'exp_month', 'exp_year', 'brand'],
1067
1123
  additionalProperties: false
1068
1124
  };
1125
+ export const PlatformQuotaSchema = {
1126
+ type: 'object',
1127
+ properties: {
1128
+ basic_clusters_max: {
1129
+ type: 'integer',
1130
+ minimum: 0,
1131
+ description: 'Maximum number of Basic clusters that can be created.',
1132
+ example: 999
1133
+ },
1134
+ basic_clusters_available: {
1135
+ type: 'integer',
1136
+ description: 'Available number of Basic clusters that can be created.',
1137
+ example: 999
1138
+ },
1139
+ pro_clusters_max: {
1140
+ type: 'integer',
1141
+ minimum: 0,
1142
+ description: 'Maximum number of Pro clusters that can be created.',
1143
+ example: 999
1144
+ },
1145
+ pro_clusters_available: {
1146
+ type: 'integer',
1147
+ description: 'Available number of Pro clusters that can be created.',
1148
+ example: 999
1149
+ },
1150
+ fleets_max: {
1151
+ type: 'integer',
1152
+ minimum: 0,
1153
+ description: 'Maximum number of fleets that can be created per cluster.',
1154
+ example: 999
1155
+ },
1156
+ cluster_tiers: {
1157
+ type: 'array',
1158
+ items: {
1159
+ type: 'string',
1160
+ example: 'basic'
1161
+ },
1162
+ minItems: 0,
1163
+ description: 'List of Cloudfleet cluster tiers available for the organization.'
1164
+ },
1165
+ regions: {
1166
+ type: 'array',
1167
+ items: {
1168
+ type: 'string',
1169
+ example: 'northamerica-central-1'
1170
+ },
1171
+ minItems: 1,
1172
+ description: 'List of Cloudfleet control plane regions available for the organization.'
1173
+ },
1174
+ versions: {
1175
+ type: 'array',
1176
+ items: {
1177
+ type: 'object',
1178
+ properties: {
1179
+ id: {
1180
+ type: 'string',
1181
+ description: 'Id of the control plane version. Used in API calls.',
1182
+ example: '1.33.x-cfke.x'
1183
+ },
1184
+ label: {
1185
+ type: 'string',
1186
+ description: 'Label of the control plane version. Used in frontent UI.',
1187
+ example: '1.33.x (Always latest 1.33 patch version)'
1188
+ }
1189
+ },
1190
+ required: ['id', 'label'],
1191
+ additionalProperties: false
1192
+ },
1193
+ minItems: 1,
1194
+ description: 'List of CFKE control plane versions available for the organization.'
1195
+ }
1196
+ },
1197
+ required: ['basic_clusters_max', 'basic_clusters_available', 'pro_clusters_max', 'pro_clusters_available', 'fleets_max', 'cluster_tiers', 'regions', 'versions'],
1198
+ additionalProperties: false
1199
+ };
1200
+ export const RegistryRepositorySchema = {
1201
+ type: 'object',
1202
+ properties: {
1203
+ name: {
1204
+ type: 'string',
1205
+ description: 'Repository name.',
1206
+ example: 'my-app'
1207
+ },
1208
+ region: {
1209
+ type: 'string',
1210
+ description: 'Registry region.',
1211
+ example: 'northamerica'
1212
+ },
1213
+ uri: {
1214
+ type: 'string',
1215
+ description: 'Full URI of the repository.',
1216
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/v2/my-app'
1217
+ }
1218
+ },
1219
+ required: ['name', 'region', 'uri'],
1220
+ additionalProperties: false
1221
+ };
1222
+ export const RegistryRepositoryWithTagsSchema = {
1223
+ type: 'object',
1224
+ properties: {
1225
+ name: {
1226
+ type: 'string',
1227
+ description: 'Repository name.',
1228
+ example: 'my-app'
1229
+ },
1230
+ region: {
1231
+ type: 'string',
1232
+ description: 'Registry region.',
1233
+ example: 'northamerica'
1234
+ },
1235
+ uri: {
1236
+ type: 'string',
1237
+ description: 'Full URI of the repository.',
1238
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/v2/my-app'
1239
+ },
1240
+ tags: {
1241
+ type: 'array',
1242
+ items: {
1243
+ type: 'object',
1244
+ properties: {
1245
+ name: {
1246
+ type: 'string',
1247
+ description: 'Tag name.',
1248
+ example: 'latest'
1249
+ },
1250
+ size: {
1251
+ type: 'number',
1252
+ format: 'float',
1253
+ description: 'Size of the tag in bytes.',
1254
+ example: 123456789
1255
+ },
1256
+ mediaType: {
1257
+ type: 'string',
1258
+ description: 'Media type of the manifest.',
1259
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1260
+ }
1261
+ },
1262
+ required: ['name', 'size'],
1263
+ additionalProperties: false
1264
+ },
1265
+ description: 'Array of tags in the repository.'
1266
+ },
1267
+ totalSize: {
1268
+ type: 'number',
1269
+ format: 'float',
1270
+ description: 'Total size of all tags in the repository in bytes.',
1271
+ example: 987654321
1272
+ }
1273
+ },
1274
+ required: ['name', 'region', 'uri', 'tags', 'totalSize'],
1275
+ additionalProperties: false
1276
+ };
1277
+ export const RegistryTagSchema = {
1278
+ type: 'object',
1279
+ properties: {
1280
+ name: {
1281
+ type: 'string',
1282
+ description: 'Tag name.',
1283
+ example: 'latest'
1284
+ },
1285
+ mediaType: {
1286
+ type: 'string',
1287
+ description: 'Media type of the manifest.',
1288
+ example: 'application/vnd.docker.distribution.manifest.v2+json'
1289
+ },
1290
+ config: {
1291
+ type: 'object',
1292
+ properties: {
1293
+ size: {
1294
+ type: 'number',
1295
+ format: 'float',
1296
+ description: 'Size of the config in bytes.',
1297
+ example: 1234
1298
+ }
1299
+ },
1300
+ required: ['size'],
1301
+ additionalProperties: false,
1302
+ description: 'Manifest config metadata.'
1303
+ },
1304
+ layers: {
1305
+ type: 'array',
1306
+ items: {
1307
+ type: 'object',
1308
+ properties: {
1309
+ size: {
1310
+ type: 'number',
1311
+ format: 'float',
1312
+ description: 'Size of the layer in bytes.',
1313
+ example: 5678
1314
+ }
1315
+ },
1316
+ required: ['size'],
1317
+ additionalProperties: false
1318
+ },
1319
+ description: 'Array of layer metadata.'
1320
+ },
1321
+ manifests: {
1322
+ type: 'array',
1323
+ items: {
1324
+ type: 'object',
1325
+ properties: {
1326
+ digest: {
1327
+ type: 'string',
1328
+ description: 'Digest of the manifest.',
1329
+ example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
1330
+ },
1331
+ platform: {
1332
+ type: 'object',
1333
+ properties: {
1334
+ architecture: {
1335
+ type: 'string',
1336
+ description: 'Architecture of the platform.',
1337
+ example: 'amd64'
1338
+ },
1339
+ os: {
1340
+ type: 'string',
1341
+ description: 'Operating system of the platform.',
1342
+ example: 'linux'
1343
+ }
1344
+ },
1345
+ required: ['architecture', 'os'],
1346
+ additionalProperties: false,
1347
+ description: 'Platform information for the manifest.'
1348
+ }
1349
+ },
1350
+ required: ['digest'],
1351
+ additionalProperties: false
1352
+ },
1353
+ description: 'Array of manifests for multi-arch images.'
1354
+ },
1355
+ size: {
1356
+ type: 'number',
1357
+ format: 'float',
1358
+ description: 'Total size of the tag in bytes.',
1359
+ example: 123456789
1360
+ },
1361
+ region: {
1362
+ type: 'string',
1363
+ description: 'Registry region.',
1364
+ example: 'northamerica'
1365
+ },
1366
+ repository: {
1367
+ type: 'string',
1368
+ description: 'Repository name.',
1369
+ example: 'my-app'
1370
+ },
1371
+ uri: {
1372
+ type: 'string',
1373
+ description: 'Full URI of the tag.',
1374
+ example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app:latest'
1375
+ }
1376
+ },
1377
+ required: ['name', 'size', 'region', 'repository', 'uri'],
1378
+ additionalProperties: false
1379
+ };
1069
1380
  export const TokenCreateInputSchema = {
1070
1381
  type: 'object',
1071
1382
  properties: {
@@ -1144,6 +1455,101 @@ export const TokenUpdateInputSchema = {
1144
1455
  },
1145
1456
  additionalProperties: false
1146
1457
  };
1458
+ export const UsageFacetsSchema = {
1459
+ type: 'object',
1460
+ properties: {
1461
+ cluster_id: {
1462
+ type: 'array',
1463
+ items: {
1464
+ type: 'string'
1465
+ },
1466
+ description: 'List of unique cluster IDs',
1467
+ example: ['6b5439b1-923a-4f2b-a371-d554e5ea23fa']
1468
+ },
1469
+ product: {
1470
+ type: 'array',
1471
+ items: {
1472
+ type: 'string'
1473
+ },
1474
+ description: 'List of unique products',
1475
+ example: ['cfke_controlplane', 'cfke_connected_nodes']
1476
+ }
1477
+ },
1478
+ additionalProperties: false
1479
+ };
1480
+ export const UsageResponseSchema = {
1481
+ type: 'object',
1482
+ properties: {
1483
+ data: {
1484
+ type: 'array',
1485
+ items: {
1486
+ type: 'object',
1487
+ properties: {
1488
+ hour: {
1489
+ type: 'string',
1490
+ description: 'Hour of the usage',
1491
+ example: '2019-01-01T00:00:00.000Z'
1492
+ },
1493
+ cluster_id: {
1494
+ type: 'string',
1495
+ description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1496
+ example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1497
+ },
1498
+ product: {
1499
+ type: 'string',
1500
+ description: 'The product the usage is associated with',
1501
+ example: 'cfke_controlplane'
1502
+ },
1503
+ value: {
1504
+ type: 'number',
1505
+ format: 'float',
1506
+ description: 'Consumption',
1507
+ example: 4
1508
+ },
1509
+ price: {
1510
+ type: 'number',
1511
+ format: 'float',
1512
+ description: 'Price per unit',
1513
+ example: 0.01
1514
+ },
1515
+ total: {
1516
+ type: 'number',
1517
+ format: 'float',
1518
+ description: 'Total cost'
1519
+ }
1520
+ },
1521
+ required: ['hour', 'cluster_id', 'product', 'value', 'price', 'total'],
1522
+ additionalProperties: false
1523
+ },
1524
+ description: 'Usage data'
1525
+ },
1526
+ facets: {
1527
+ type: 'object',
1528
+ properties: {
1529
+ cluster_id: {
1530
+ type: 'array',
1531
+ items: {
1532
+ type: 'string'
1533
+ },
1534
+ description: 'List of unique cluster IDs',
1535
+ example: ['6b5439b1-923a-4f2b-a371-d554e5ea23fa']
1536
+ },
1537
+ product: {
1538
+ type: 'array',
1539
+ items: {
1540
+ type: 'string'
1541
+ },
1542
+ description: 'List of unique products',
1543
+ example: ['cfke_controlplane', 'cfke_connected_nodes']
1544
+ }
1545
+ },
1546
+ additionalProperties: false,
1547
+ description: 'Facets for filtering'
1548
+ }
1549
+ },
1550
+ required: ['data', 'facets'],
1551
+ additionalProperties: false
1552
+ };
1147
1553
  export const UsageSchema = {
1148
1554
  type: 'object',
1149
1555
  properties: {
@@ -1154,90 +1560,33 @@ export const UsageSchema = {
1154
1560
  },
1155
1561
  cluster_id: {
1156
1562
  type: 'string',
1157
- format: 'uuid',
1158
1563
  description: 'Unique identifier of the kubernetes cluster. UUID v4 string in canonical form',
1159
1564
  example: '6b5439b1-923a-4f2b-a371-d554e5ea23fa'
1160
1565
  },
1161
- cluster_tier: {
1162
- type: 'string',
1163
- description: 'Tier of the cluster.',
1164
- example: 'pro',
1165
- enum: ['basic', 'pro', '']
1166
- },
1167
1566
  product: {
1168
1567
  type: 'string',
1169
1568
  description: 'The product the usage is associated with',
1170
- example: 'cfke_controlplane',
1171
- enum: ['cfke_controlplane', 'cfke_connected_nodes', 'infra_compute', 'infra_storage', 'infra_loadbalancing', 'infra_traffic', 'cfcr_storage']
1172
- },
1173
- node_name: {
1174
- type: 'string',
1175
- description: 'Name of the Kubernetes node',
1176
- example: 'flexible-moth-956037384'
1177
- },
1178
- sku: {
1179
- type: 'string',
1180
- description: 'SKU of the Kubernetes node',
1181
- example: 'GCP-NORTHAMERICA-NORTHEAST1-A-G1-SMALL-SPOT'
1569
+ example: 'cfke_controlplane'
1182
1570
  },
1183
- cpu: {
1184
- anyOf: [
1185
- {
1186
- type: 'number',
1187
- format: 'float',
1188
- description: 'CPU core count of the node',
1189
- example: 4
1190
- },
1191
- {
1192
- type: 'string',
1193
- enum: ['']
1194
- }
1195
- ]
1571
+ value: {
1572
+ type: 'number',
1573
+ format: 'float',
1574
+ description: 'Consumption',
1575
+ example: 4
1196
1576
  },
1197
1577
  price: {
1198
- anyOf: [
1199
- {
1200
- type: 'number',
1201
- format: 'float',
1202
- description: 'Price',
1203
- example: 4
1204
- },
1205
- {
1206
- type: 'string',
1207
- enum: ['']
1208
- }
1209
- ]
1210
- },
1211
- value: {
1212
- anyOf: [
1213
- {
1214
- type: 'number',
1215
- format: 'float',
1216
- description: 'Value',
1217
- example: 4
1218
- },
1219
- {
1220
- type: 'string',
1221
- enum: ['']
1222
- }
1223
- ]
1578
+ type: 'number',
1579
+ format: 'float',
1580
+ description: 'Price per unit',
1581
+ example: 0.01
1224
1582
  },
1225
1583
  total: {
1226
- anyOf: [
1227
- {
1228
- type: 'number',
1229
- format: 'float',
1230
- description: 'Total',
1231
- example: 4
1232
- },
1233
- {
1234
- type: 'string',
1235
- enum: ['']
1236
- }
1237
- ]
1584
+ type: 'number',
1585
+ format: 'float',
1586
+ description: 'Total cost'
1238
1587
  }
1239
1588
  },
1240
- required: ['cluster_id', 'cluster_tier', 'product', 'node_name', 'sku', 'cpu', 'price', 'value', 'total'],
1589
+ required: ['hour', 'cluster_id', 'product', 'value', 'price', 'total'],
1241
1590
  additionalProperties: false
1242
1591
  };
1243
1592
  export const UserCreateInputSchema = {