forked from diegoecab/oci-deal-accelerator
- New tools/oci_bom_gen.py: generates .xlsx BOM from YAML spec with
Oracle Redwood styling, Excel formulas, and Oracle disclaimer.
Supports standard BOM (--output) and AppCA import format (--appca)
- New tools/refresh_sku_catalog.py: refreshes SKU catalog prices from
Oracle's public pricing API (apexapps.oracle.com)
- New kb/pricing/oci-sku-catalog.yaml: ~160 OCI SKUs across 14
categories, validated against Oracle API
- New templates/bom-spec.yaml: input spec template for BOM generation
- Add SA TOOLS section to SKILL.md (options 13-14)
- Register BOM generator in oci_output.py
51 lines
2.7 KiB
YAML
51 lines
2.7 KiB
YAML
# ──────────────────────────────────────────────────────────────────
|
|
# OCI Bill of Materials (BOM) — Spec Template
|
|
# ──────────────────────────────────────────────────────────────────
|
|
# The AI generates this YAML based on the customer's request,
|
|
# selecting only the relevant SKUs from kb/pricing/oci-sku-catalog.yaml.
|
|
# The BOM generator tool (tools/oci_bom_gen.py) renders it to .xlsx.
|
|
#
|
|
# Usage:
|
|
# python tools/oci_bom_gen.py --spec this-file.yaml --output bom.xlsx
|
|
|
|
bom:
|
|
# ── Header ──────────────────────────────────────────────────────
|
|
customer_name: ""
|
|
project_name: ""
|
|
prepared_by: ""
|
|
date: "" # ISO format: 2026-03-27
|
|
reference_label: "" # e.g., "ACME-BOM-001"
|
|
currency: USD # Primary currency
|
|
# realm: "OC1 - Commercial" # Optional: OC1 / OC2 / OC3 / OC9
|
|
# service_type: "Pay as You Go" # Optional: PAYG / UCM / Annual Flex
|
|
|
|
# ── Optional currency conversion ────────────────────────────────
|
|
# Enable to add converted columns (e.g., USD → BRL with tax)
|
|
conversion:
|
|
enabled: false
|
|
target_currency: BRL
|
|
exchange_rate: 5.75 # 1 USD = X target currency
|
|
tax_rate: 0.0 # e.g., 0.1385 for 13.85% ISS+PIS+COFINS
|
|
|
|
# ── Line items (only requested services) ────────────────────────
|
|
# Each item must reference a SKU from oci-sku-catalog.yaml.
|
|
# Only include services the customer actually needs.
|
|
line_items:
|
|
- sku: "B97384" # Must match oci-sku-catalog.yaml
|
|
qty: 4 # Number of instances/units
|
|
# hours_units: 730 # Override catalog default if needed
|
|
months: 12 # Contract duration
|
|
discount: 0.0 # 0.0 to 1.0 (e.g., 0.30 = 30%)
|
|
# custom_label: "" # Optional label
|
|
# custom_note: "" # Optional note
|
|
|
|
- sku: "B97385"
|
|
qty: 64 # 64 GB memory
|
|
months: 12
|
|
discount: 0.0
|
|
|
|
# ── Notes (optional) ────────────────────────────────────────────
|
|
notes:
|
|
- "Pricing based on Ashburn region (OC1)"
|
|
- "Discounts subject to Oracle approval"
|