Commit aa90e53
authored
* feat(gcp): add Cloud DNS catalog pricing (RC3-023c, #78)
Adds GCP Cloud DNS pricing (managed zone monthly fee, DNS query volume)
sourced from the live Cloud Billing Catalog (service FA26-5236-B8B5):
$0.20/$0.10/$0.03 per zone-month across the 1-25/26-10,000/10,001+
tiers, and $0.40/$0.20 per million queries below/above 1B queries per
month. Both SKUs are global (region-invariant). Public, private,
forwarding, and peering zone types share a single rate ladder per the
live pricing page, so zone_type is validated but does not affect rate
selection. Routing-policy queries, health checks, DNS Armor, DNSSEC,
and Response Policies have no catalog SKU under this service and are
out of scope for this pass.
* fix(gcp): address code-review findings for Cloud DNS pricing (#78)
Fix a wire-format bug where DNS zone/query tier breakdowns reported
counts under a GB-specific "gbs" JSON field (renamed to "quantity",
shared with External IP egress breakdowns which were already
GB-denominated); wire DNS zone_count/queries_per_month through to
monthly_estimate in get_price the same way storage specs already are;
extract a shared SKU tieredRates unwrap helper used by KMS/BigQuery/AI
and DNS pricing; extract shared fallback-resolution, price-builder,
and tiered-estimate helpers to remove duplication between the zone and
query pricing paths; relax zone_type from a hard-rejecting enum to an
informational field since it never affects price; add a defensive
GLOBAL-scope filter and duplicate-match warning when matching Cloud
DNS SKUs by description; and consolidate five duplicated DecisionMatrix
catalog-hint entries into one.
1 parent 19ae750 commit aa90e53
11 files changed
Lines changed: 1931 additions & 90 deletions
File tree
- opencloudcosts-go/internal
- models
- providers/gcp
- tools
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| |||
77 | 78 | | |
78 | 79 | | |
79 | 80 | | |
| 81 | + | |
80 | 82 | | |
81 | 83 | | |
82 | 84 | | |
| |||
667 | 669 | | |
668 | 670 | | |
669 | 671 | | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
670 | 733 | | |
671 | 734 | | |
672 | 735 | | |
| |||
697 | 760 | | |
698 | 761 | | |
699 | 762 | | |
700 | | - | |
| 763 | + | |
701 | 764 | | |
702 | 765 | | |
703 | 766 | | |
| |||
782 | 845 | | |
783 | 846 | | |
784 | 847 | | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
785 | 855 | | |
786 | 856 | | |
787 | 857 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
857 | 857 | | |
858 | 858 | | |
859 | 859 | | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
860 | 915 | | |
861 | 916 | | |
862 | 917 | | |
| |||
1365 | 1420 | | |
1366 | 1421 | | |
1367 | 1422 | | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
| 1432 | + | |
| 1433 | + | |
| 1434 | + | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
| 1440 | + | |
| 1441 | + | |
| 1442 | + | |
| 1443 | + | |
| 1444 | + | |
| 1445 | + | |
| 1446 | + | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
1368 | 1489 | | |
1369 | 1490 | | |
1370 | 1491 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
375 | 376 | | |
376 | 377 | | |
377 | 378 | | |
378 | | - | |
379 | | - | |
380 | | - | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
381 | 395 | | |
382 | 396 | | |
383 | | - | |
| 397 | + | |
384 | 398 | | |
385 | 399 | | |
386 | 400 | | |
387 | | - | |
| 401 | + | |
388 | 402 | | |
389 | 403 | | |
390 | 404 | | |
391 | | - | |
| 405 | + | |
392 | 406 | | |
393 | 407 | | |
| 408 | + | |
| 409 | + | |
394 | 410 | | |
395 | 411 | | |
396 | 412 | | |
397 | 413 | | |
398 | 414 | | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | 415 | | |
404 | 416 | | |
405 | 417 | | |
406 | 418 | | |
| 419 | + | |
407 | 420 | | |
408 | 421 | | |
409 | | - | |
410 | | - | |
411 | | - | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
412 | 437 | | |
413 | 438 | | |
414 | 439 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
396 | 396 | | |
397 | 397 | | |
398 | 398 | | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
424 | 402 | | |
425 | | - | |
426 | | - | |
427 | | - | |
428 | 403 | | |
429 | 404 | | |
430 | 405 | | |
| |||
0 commit comments