Browse Source

Merge pull request #2367 from anders-swanson/oracle-cloud-infrastructure-provider

Oracle Cloud Infrastructure (OCI) Provider
Ajay Tripathy 2 years ago
parent
commit
9b43b49356

+ 1 - 0
Dockerfile

@@ -38,5 +38,6 @@ ADD --chmod=644 ./configs/azure.json /models/azure.json
 ADD --chmod=644 ./configs/aws.json /models/aws.json
 ADD --chmod=644 ./configs/gcp.json /models/gcp.json
 ADD --chmod=644 ./configs/alibaba.json /models/alibaba.json
+ADD --chmod=644 ./configs/oracle.json /models/oracle.json
 USER 1001
 ENTRYPOINT ["/go/bin/app"]

+ 1 - 0
Dockerfile.cross

@@ -11,6 +11,7 @@ ADD --chmod=644 ./configs/azure.json /models/azure.json
 ADD --chmod=644 ./configs/aws.json /models/aws.json
 ADD --chmod=644 ./configs/gcp.json /models/gcp.json
 ADD --chmod=644 ./configs/alibaba.json /models/alibaba.json
+ADD --chmod=644 ./configs/oracle.json /models/oracle.json
 
 COPY ${binarypath} /go/bin/app
 

+ 9 - 0
configs/oracle.json

@@ -0,0 +1,9 @@
+{
+  "provider":"Oracle",
+  "CPU": "0.015",
+  "RAM": "0.002",
+  "GPU": "2.00",
+  "storage": "0.00005479452",
+  "defaultLBPrice": "0.0113",
+  "internetNetworkEgress": "0.0085"
+}

+ 5 - 0
core/pkg/opencost/assetprops.go

@@ -184,6 +184,9 @@ const CustomProvider = "custom"
 // ScalewayProvider describes the provider Scaleway
 const ScalewayProvider = "Scaleway"
 
+// OracleProvider describes the provider Oracle
+const OracleProvider = "Oracle"
+
 // NilProvider describes unknown provider
 const NilProvider = "-"
 
@@ -202,6 +205,8 @@ func ParseProvider(str string) string {
 		return AzureProvider
 	case "scaleway", "scw", "kapsule":
 		return ScalewayProvider
+	case "oci", "oracle":
+		return OracleProvider
 	default:
 		return NilProvider
 	}

+ 72 - 0
pkg/cloud/oracle/key.go

@@ -0,0 +1,72 @@
+package oracle
+
+import (
+	"fmt"
+
+	"github.com/opencost/opencost/core/pkg/util"
+)
+
+type oracleKey struct {
+	gpuCount     int
+	gpuType      string
+	providerID   string
+	instanceType string
+	labels       map[string]string
+}
+
+func (k *oracleKey) ID() string {
+	return k.providerID
+}
+
+// Features are the OCI node features: compute, memory, and optionally gpu.
+func (k *oracleKey) Features() string {
+	arch, ok := util.GetArchType(k.labels)
+	if !ok {
+		arch = "amd64"
+	}
+	return fmt.Sprintf("%s,%t,%s", k.instanceType, k.isVirtualNode(), arch)
+}
+
+func (k *oracleKey) GPUType() string {
+	return k.gpuType
+}
+
+func (k *oracleKey) GPUCount() int {
+	return k.gpuCount
+}
+
+func (k *oracleKey) isVirtualNode() bool {
+	_, ok := k.labels[virtualNodeLabel]
+	return ok
+}
+
+const driverOCI = "oracle.com/oci"
+const driverOCIBV = "blockvolume.csi.oraclecloud.com"
+
+// ociStorageDrivers are the known storage drivers for OCI.
+var ociStorageDrivers = map[string]bool{
+	driverOCI:   true,
+	driverOCIBV: true,
+}
+
+type oraclePVKey struct {
+	storageClass string
+	driver       string
+	providerID   string
+	parameters   map[string]string
+}
+
+func (p *oraclePVKey) Features() string {
+	if ociStorageDrivers[p.driver] {
+		return blockVolumePartNumber
+	}
+	return ""
+}
+
+func (p *oraclePVKey) GetStorageClass() string {
+	return p.storageClass
+}
+
+func (p *oraclePVKey) ID() string {
+	return p.providerID
+}

+ 338 - 0
pkg/cloud/oracle/partnumbers/shape_part_numbers.json

@@ -0,0 +1,338 @@
+{
+  "": {
+    "OCPU": "B88516",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "BM.DenseIO.E4.128": {
+    "OCPU": "B93121",
+    "Memory": "B93122",
+    "GPU": "",
+    "Disk": "B93123"
+  },
+  "BM.DenseIO.E5.128": {
+    "OCPU": "B98202",
+    "Memory": "B98203",
+    "GPU": "",
+    "Disk": "B98204"
+  },
+  "BM.DenseIO2.52": {
+    "OCPU": "B88515",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "BM.GPU.A10.4": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B95909",
+    "Disk": ""
+  },
+  "BM.GPU.A100-v2.8": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B95907",
+    "Disk": ""
+  },
+  "BM.GPU.H100.8": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B98415",
+    "Disk": ""
+  },
+  "BM.GPU2.2": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B88517",
+    "Disk": ""
+  },
+  "BM.GPU3.8": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B89734",
+    "Disk": ""
+  },
+  "BM.GPU4.8": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B92740",
+    "Disk": ""
+  },
+  "BM.HPC2.36": {
+    "OCPU": "B90398",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "BM.Optimized3.36": {
+    "OCPU": "B93311",
+    "Memory": "B93312",
+    "GPU": "",
+    "Disk": ""
+  },
+  "BM.Standard.A1.160": {
+    "OCPU": "B93297",
+    "Memory": "B93298",
+    "GPU": "",
+    "Disk": ""
+  },
+  "BM.Standard.E3.128": {
+    "OCPU": "B92306",
+    "Memory": "B92307",
+    "GPU": "",
+    "Disk": ""
+  },
+  "BM.Standard.E4.128": {
+    "OCPU": "B93113",
+    "Memory": "B93114",
+    "GPU": "",
+    "Disk": ""
+  },
+  "BM.Standard.E5.192": {
+    "OCPU": "B97384",
+    "Memory": "B97385",
+    "GPU": "",
+    "Disk": ""
+  },
+  "BM.Standard2.52": {
+    "OCPU": "B88513",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "BM.Standard3.64": {
+    "OCPU": "B94176",
+    "Memory": "B94177",
+    "GPU": "",
+    "Disk": ""
+  },
+  "CI.Standard.A1.Flex": {
+    "OCPU": "B93297",
+    "Memory": "B93298",
+    "GPU": "",
+    "Disk": ""
+  },
+  "CI.Standard.E3.Flex": {
+    "OCPU": "B92306",
+    "Memory": "B92307",
+    "GPU": "",
+    "Disk": ""
+  },
+  "CI.Standard.E4.Flex": {
+    "OCPU": "B93113",
+    "Memory": "B93114",
+    "GPU": "",
+    "Disk": ""
+  },
+  "DVH.DenseIO2.52": {
+    "OCPU": "B88515",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "DVH.Optimized3.36": {
+    "OCPU": "B93311",
+    "Memory": "B93312",
+    "GPU": "",
+    "Disk": ""
+  },
+  "DVH.Standard.E2.64": {
+    "OCPU": "B90425",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "DVH.Standard.E3.128": {
+    "OCPU": "B92306",
+    "Memory": "B92307",
+    "GPU": "",
+    "Disk": ""
+  },
+  "DVH.Standard.E4.128": {
+    "OCPU": "B93113",
+    "Memory": "B93114",
+    "GPU": "",
+    "Disk": ""
+  },
+  "DVH.Standard2.52": {
+    "OCPU": "B88513",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "DVH.Standard3.64": {
+    "OCPU": "B94176",
+    "Memory": "B94177",
+    "GPU": "",
+    "Disk": ""
+  },
+  "Pod.Standard.A1.Flex": {
+    "OCPU": "B93297",
+    "Memory": "B93298",
+    "GPU": "",
+    "Disk": ""
+  },
+  "Pod.Standard.E3.Flex": {
+    "OCPU": "B92306",
+    "Memory": "B92307",
+    "GPU": "",
+    "Disk": ""
+  },
+  "Pod.Standard.E4.Flex": {
+    "OCPU": "B93113",
+    "Memory": "B93114",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.DenseIO.E4.Flex": {
+    "OCPU": "B93121",
+    "Memory": "B93122",
+    "GPU": "",
+    "Disk": "B93123"
+  },
+  "VM.DenseIO.E5.Flex": {
+    "OCPU": "B98202",
+    "Memory": "B98203",
+    "GPU": "",
+    "Disk": "B98204"
+  },
+  "VM.DenseIO1.16": {
+    "OCPU": "B88516",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.DenseIO1.4": {
+    "OCPU": "B88516",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.DenseIO1.8": {
+    "OCPU": "B88516",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.DenseIO2.16": {
+    "OCPU": "B88516",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.DenseIO2.24": {
+    "OCPU": "B88516",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.GPU.A10.1": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B95909",
+    "Disk": ""
+  },
+  "VM.GPU.A10.2": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B95909",
+    "Disk": ""
+  },
+  "VM.GPU2.1": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B88518",
+    "Disk": ""
+  },
+  "VM.GPU3.1": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B89734",
+    "Disk": ""
+  },
+  "VM.GPU3.2": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B89734",
+    "Disk": ""
+  },
+  "VM.GPU3.4": {
+    "OCPU": "",
+    "Memory": "",
+    "GPU": "B89734",
+    "Disk": ""
+  },
+  "VM.Optimized3.Flex": {
+    "OCPU": "B93311",
+    "Memory": "B93312",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.Standard.A1.Flex": {
+    "OCPU": "B93297",
+    "Memory": "B93298",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.Standard.E3.Flex": {
+    "OCPU": "B92306",
+    "Memory": "B92307",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.Standard.E4.Flex": {
+    "OCPU": "B93113",
+    "Memory": "B93114",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.Standard.E5.Flex": {
+    "OCPU": "B97384",
+    "Memory": "B97385",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.Standard2.1": {
+    "OCPU": "B88514",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.Standard2.16": {
+    "OCPU": "B88514",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.Standard2.2": {
+    "OCPU": "B88514",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.Standard2.24": {
+    "OCPU": "B88514",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.Standard2.4": {
+    "OCPU": "B88514",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.Standard2.8": {
+    "OCPU": "B88514",
+    "Memory": "",
+    "GPU": "",
+    "Disk": ""
+  },
+  "VM.Standard3.Flex": {
+    "OCPU": "B94176",
+    "Memory": "B94177",
+    "GPU": "",
+    "Disk": ""
+  }
+}

+ 110 - 0
pkg/cloud/oracle/product.go

@@ -0,0 +1,110 @@
+package oracle
+
+import (
+	"embed"
+	"encoding/json"
+	"log"
+	"strconv"
+	"strings"
+)
+
+const blockVolumePartNumber = "B91961"
+const loadBalancerPartNumber = "B93030"
+
+// egressT1PartNumber for egress to NA, EU, and UK
+const egress1PartNumber = "B88327"
+
+// egressT2PartNumber for egress to APAC, and SA
+const egress2PartNumber = "B93455"
+
+// egressT3PartNumber for egress to ME, and AF
+const egress3PartNumber = "B93456"
+const enhancedClusterPartNumber = "B96545"
+const virualNodePartNumber = "B96109"
+
+// Compiled from cost estimator data at https://www.oracle.com/cloud/costestimator.html
+// The shapes.json endpoint can be queried for a snapshot of this data.
+// Note that this endpoint is subject to change and should not be queried directly.
+//
+//go:embed partnumbers
+var partNumbers embed.FS
+
+func init() {
+	shapeInfo, err := partNumbers.ReadFile("partnumbers/shape_part_numbers.json")
+	if err != nil {
+		log.Fatalln("unable to read OCI Shape part numbers", err)
+	}
+	instanceProducts = map[string]Product{}
+	if err := json.Unmarshal(shapeInfo, &instanceProducts); err != nil {
+		log.Fatalln("unable to unmarshal OCI Shape part numbers", err)
+	}
+}
+
+type Product struct {
+	// OCPU product name
+	OCPU string
+	// Memory product name
+	Memory string
+	// GPU product name
+	GPU  string
+	Disk string
+}
+
+type DefaultPricing struct {
+	OCPU    string
+	Memory  string
+	GPU     string
+	Storage string
+	LB      string
+	Egress  string
+}
+
+type instanceProduct map[string]Product
+
+// instanceProducts maps instance types to associated part numbers.
+var instanceProducts instanceProduct
+
+func (i instanceProduct) get(shape string) Product {
+	if product, ok := i[shape]; ok {
+		return product
+	}
+	// If no product mapping exists, provide a default product
+	return Product{}
+}
+
+func (d DefaultPricing) TotalInstanceCost() (float64, error) {
+	var totalCost float64
+	addValue := func(val string) error {
+		if val != "" {
+			f, err := strconv.ParseFloat(val, 64)
+			if err != nil {
+				return err
+			}
+			totalCost += f
+		}
+		return nil
+	}
+	if err := addValue(d.OCPU); err != nil {
+		return totalCost, err
+	}
+	if err := addValue(d.Memory); err != nil {
+		return totalCost, err
+	}
+	if err := addValue(d.GPU); err != nil {
+		return totalCost, err
+	}
+	return totalCost, nil
+}
+func egressRegionPartNumber(region string) string {
+	split := strings.Split(region, "-")
+	switch split[0] {
+	case "us", "ca", "eu", "uk", "mx":
+		return egress1PartNumber
+	case "ap", "sa":
+		return egress2PartNumber
+	case "me", "af", "il":
+		return egress3PartNumber
+	default:
+		return ""
+	}
+}

+ 310 - 0
pkg/cloud/oracle/provider.go

@@ -0,0 +1,310 @@
+package oracle
+
+import (
+	"fmt"
+	"io"
+	"strconv"
+	"sync"
+	"time"
+
+	"github.com/opencost/opencost/core/pkg/log"
+	"github.com/opencost/opencost/core/pkg/opencost"
+	"github.com/opencost/opencost/core/pkg/util"
+	"github.com/opencost/opencost/core/pkg/util/json"
+	"github.com/opencost/opencost/pkg/cloud/models"
+	"github.com/opencost/opencost/pkg/cloud/utils"
+	"github.com/opencost/opencost/pkg/clustercache"
+	"github.com/opencost/opencost/pkg/env"
+	v1 "k8s.io/api/core/v1"
+)
+
+const nodePoolIdAnnotation = "oci.oraclecloud.com/node-pool-id"
+const virtualPoolIdAnnotation = "oci.oraclecloud.com/virtual-node-pool-id"
+const virtualNodeLabel = "node-role.kubernetes.io/virtual-node"
+const managementPlatformOKE = "oke"
+const currencyCodeUSD = "USD"
+
+type Oracle struct {
+	Config                  models.ProviderConfig
+	Clientset               clustercache.ClusterCache
+	ClusterRegion           string
+	ClusterAccountID        string
+	DownloadPricingDataLock sync.RWMutex
+	OSEnvLock               sync.Mutex
+	RateCardStore           *RateCardStore
+	ServiceAccountChecks    *models.ServiceAccountChecks
+	DefaultPricing          DefaultPricing
+}
+
+func (o *Oracle) ClusterInfo() (map[string]string, error) {
+	c, err := o.GetConfig()
+	if err != nil {
+		return nil, err
+	}
+	m := make(map[string]string)
+	m["name"] = "Oracle Cluster #1"
+	if clusterName := o.getClusterName(c); clusterName != "" {
+		m["name"] = clusterName
+	}
+	m["provider"] = opencost.OracleProvider
+	m["account"] = o.ClusterAccountID
+	m["region"] = o.ClusterRegion
+	m["remoteReadEnabled"] = strconv.FormatBool(env.IsRemoteEnabled())
+	m["id"] = env.GetClusterID()
+	return m, nil
+}
+
+func (o *Oracle) NodePricing(key models.Key) (*models.Node, models.PricingMetadata, error) {
+	if err := o.ensurePricingData(); err != nil {
+		return nil, models.PricingMetadata{}, err
+	}
+	o.DownloadPricingDataLock.RLock()
+	defer o.DownloadPricingDataLock.RUnlock()
+	return o.RateCardStore.ForKey(key, o.DefaultPricing)
+}
+
+func (o *Oracle) PVPricing(pvk models.PVKey) (*models.PV, error) {
+	if err := o.ensurePricingData(); err != nil {
+		return nil, err
+	}
+	o.DownloadPricingDataLock.RLock()
+	defer o.DownloadPricingDataLock.RUnlock()
+	return o.RateCardStore.ForPVK(pvk, o.DefaultPricing)
+}
+
+func (o *Oracle) NetworkPricing() (*models.Network, error) {
+	if err := o.ensurePricingData(); err != nil {
+		return nil, err
+	}
+	o.DownloadPricingDataLock.RLock()
+	defer o.DownloadPricingDataLock.RUnlock()
+	return o.RateCardStore.ForEgressRegion(o.ClusterRegion, o.DefaultPricing)
+}
+
+func (o *Oracle) LoadBalancerPricing() (*models.LoadBalancer, error) {
+	if err := o.ensurePricingData(); err != nil {
+		return nil, err
+	}
+	o.DownloadPricingDataLock.RLock()
+	defer o.DownloadPricingDataLock.RUnlock()
+	return o.RateCardStore.ForLB(o.DefaultPricing)
+}
+
+func (o *Oracle) AllNodePricing() (interface{}, error) {
+	if err := o.ensurePricingData(); err != nil {
+		return nil, err
+	}
+	o.DownloadPricingDataLock.RLock()
+	defer o.DownloadPricingDataLock.RUnlock()
+	return o.RateCardStore.Store(), nil
+}
+
+// DownloadPricingData refreshes the RateCardStore pricing data.
+func (o *Oracle) DownloadPricingData() error {
+	o.DownloadPricingDataLock.Lock()
+	defer o.DownloadPricingDataLock.Unlock()
+	cfg, err := o.GetConfig()
+	if err != nil {
+		return err
+	}
+	if o.RateCardStore == nil {
+		url := env.GetOCIPricingURL()
+		o.RateCardStore = NewRateCardStore(url, cfg.CurrencyCode)
+	}
+	if _, err := o.RateCardStore.Refresh(); err != nil {
+		return err
+	}
+	o.DefaultPricing = DefaultPricing{
+		OCPU:    cfg.CPU,
+		Memory:  cfg.RAM,
+		GPU:     cfg.GPU,
+		Storage: cfg.Storage,
+		Egress:  cfg.InternetNetworkEgress,
+		LB:      cfg.DefaultLBPrice,
+	}
+	return nil
+}
+
+func (o *Oracle) GetKey(labels map[string]string, n *v1.Node) models.Key {
+	var gpuCount int
+	var gpuType string
+	if gpuc, ok := n.Status.Capacity["nvidia.com/gpu"]; ok {
+		gpuCount = int(gpuc.Value())
+		gpuType = "nvidia.com/gpu"
+	}
+	instanceType, _ := util.GetInstanceType(labels)
+	return &oracleKey{
+		providerID:   n.Spec.ProviderID,
+		instanceType: instanceType,
+		labels:       labels,
+		gpuCount:     gpuCount,
+		gpuType:      gpuType,
+	}
+}
+
+func (o *Oracle) GetPVKey(pv *v1.PersistentVolume, parameters map[string]string, _ string) models.PVKey {
+	var providerID string
+	var driver string
+	if pv.Spec.CSI != nil {
+		providerID = pv.Spec.CSI.VolumeHandle
+		driver = pv.Spec.CSI.Driver
+	}
+	return &oraclePVKey{
+		storageClass: pv.Spec.StorageClassName,
+		providerID:   providerID,
+		driver:       driver,
+		parameters:   parameters,
+	}
+}
+
+func (o *Oracle) UpdateConfig(r io.Reader, _ string) (*models.CustomPricing, error) {
+	return o.Config.Update(func(pricing *models.CustomPricing) error {
+		a := make(map[string]interface{})
+		err := json.NewDecoder(r).Decode(&a)
+		if err != nil {
+			return err
+		}
+		for k, v := range a {
+			kUpper := utils.ToTitle.String(k)
+			vstr, ok := v.(string)
+			if ok {
+				err := models.SetCustomPricingField(pricing, kUpper, vstr)
+				if err != nil {
+					return fmt.Errorf("error setting custom pricing field: %w", err)
+				}
+			} else {
+				return fmt.Errorf("type error while updating config for %s", kUpper)
+			}
+		}
+
+		if env.IsRemoteEnabled() {
+			err := utils.UpdateClusterMeta(env.GetClusterID(), o.getClusterName(pricing))
+			if err != nil {
+				return err
+			}
+		}
+		return nil
+	})
+}
+
+func (o *Oracle) UpdateConfigFromConfigMap(m map[string]string) (*models.CustomPricing, error) {
+	return o.Config.UpdateFromMap(m)
+}
+
+func (o *Oracle) GetConfig() (*models.CustomPricing, error) {
+	c, err := o.Config.GetCustomPricingData()
+	if err != nil {
+		return nil, err
+	}
+	if c.Discount == "" {
+		c.Discount = "0%"
+	}
+	if c.NegotiatedDiscount == "" {
+		c.NegotiatedDiscount = "0%"
+	}
+	if c.CurrencyCode == "" {
+		c.CurrencyCode = currencyCodeUSD
+	}
+	return c, nil
+}
+
+func (o *Oracle) GetManagementPlatform() (string, error) {
+	nodes := o.Clientset.GetAllNodes()
+	for _, node := range nodes {
+		if _, ok := node.GetObjectMeta().GetAnnotations()[nodePoolIdAnnotation]; ok {
+			return managementPlatformOKE, nil
+		}
+		if _, ok := node.GetObjectMeta().GetAnnotations()[virtualPoolIdAnnotation]; ok {
+			return managementPlatformOKE, nil
+		}
+	}
+	return "", nil
+}
+
+func (o *Oracle) PricingSourceStatus() map[string]*models.PricingSource {
+	listPricing := "List Pricing"
+	return map[string]*models.PricingSource{
+		listPricing: {
+			Name:      listPricing,
+			Enabled:   true,
+			Available: true,
+		},
+	}
+}
+
+func (o *Oracle) ClusterManagementPricing() (string, float64, error) {
+	if err := o.ensurePricingData(); err != nil {
+		return "", 0.0, err
+	}
+	managementPlatform, _ := o.GetManagementPlatform()
+	if managementPlatform != managementPlatformOKE {
+		return "", 0.0, nil // Self-managed cluster.
+	}
+	o.DownloadPricingDataLock.Lock()
+	defer o.DownloadPricingDataLock.Unlock()
+	// TODO: Support lookup of cluster type, as BASIC_CLUSTER types are free.
+	return managementPlatformOKE, o.RateCardStore.ForManagedCluster("ENHANCED_CLUSTER"), nil
+}
+
+func (o *Oracle) CombinedDiscountForNode(instanceType string, isPreemptible bool, defaultDiscount, negotiatedDiscount float64) float64 {
+	return 1.0 - ((1.0 - defaultDiscount) * (1.0 - negotiatedDiscount))
+}
+
+func (o *Oracle) Regions() []string {
+	regionOverrides := env.GetRegionOverrideList()
+	if len(regionOverrides) > 0 {
+		log.Debugf("Overriding Oracle regions with configured region list: %+v", regionOverrides)
+		return regionOverrides
+	}
+	return oracleRegions
+}
+
+func (o *Oracle) PricingSourceSummary() interface{} {
+	if err := o.ensurePricingData(); err != nil {
+		return err
+	}
+	o.DownloadPricingDataLock.Lock()
+	defer o.DownloadPricingDataLock.Unlock()
+	return o.RateCardStore.Store()
+}
+
+func (o *Oracle) getClusterName(cfg *models.CustomPricing) string {
+	if cfg.ClusterName != "" {
+		return cfg.ClusterName
+	}
+	for _, node := range o.Clientset.GetAllNodes() {
+		if clusterName, ok := node.Labels["name"]; ok {
+			return clusterName
+		}
+	}
+	return ""
+}
+
+func (o *Oracle) ensurePricingData() error {
+	if o.RateCardStore == nil {
+		return o.DownloadPricingData()
+	}
+	return nil
+}
+
+func (o *Oracle) GetAddresses() ([]byte, error) {
+	return nil, nil
+}
+
+func (o *Oracle) GetDisks() ([]byte, error) {
+	return nil, nil
+}
+
+func (o *Oracle) GetOrphanedResources() ([]models.OrphanedResource, error) {
+	return nil, nil
+}
+
+func (o *Oracle) GetLocalStorageQuery(duration time.Duration, duration2 time.Duration, b bool, b2 bool) string {
+	return ""
+}
+
+func (o *Oracle) ApplyReservedInstancePricing(m map[string]*models.Node) {}
+
+func (o *Oracle) ServiceAccountStatus() *models.ServiceAccountStatus {
+	return o.ServiceAccountChecks.GetStatus()
+}

+ 89 - 0
pkg/cloud/oracle/provider_test.go

@@ -0,0 +1,89 @@
+package oracle
+
+import (
+	"fmt"
+	"strconv"
+	"strings"
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+	v1 "k8s.io/api/core/v1"
+	"k8s.io/apimachinery/pkg/api/resource"
+)
+
+func TestGetKey(t *testing.T) {
+	var testCases = map[string]struct {
+		isVirtual bool
+		gpus      int
+	}{
+		"virtual-node": {
+			true,
+			0,
+		},
+		"gpu": {
+			false,
+			3,
+		},
+		"node": {
+			false,
+			0,
+		},
+	}
+	for instanceType, testCase := range testCases {
+		t.Run(instanceType, func(t *testing.T) {
+			labels := map[string]string{
+				v1.LabelInstanceType: instanceType,
+			}
+			if testCase.isVirtual {
+				labels[virtualNodeLabel] = ""
+			}
+			key := (&Oracle{}).GetKey(labels, testNode(testCase.gpus))
+			assert.NotEmpty(t, key.ID())
+			features := strings.Split(key.Features(), ",")
+			assert.Len(t, features, 3)
+			assert.Equal(t, instanceType, features[0])
+			assert.Equal(t, strconv.FormatBool(testCase.isVirtual), features[1])
+			assert.Equal(t, testCase.gpus, key.GPUCount())
+			if testCase.gpus > 0 {
+				assert.Equal(t, "nvidia.com/gpu", key.GPUType())
+			} else {
+				assert.Equal(t, "", key.GPUType())
+			}
+		})
+	}
+}
+
+func TestGetPVKey(t *testing.T) {
+	storageClass := "xyz"
+	providerID := "ocid.abc"
+	pv := &v1.PersistentVolume{
+		Spec: v1.PersistentVolumeSpec{
+			StorageClassName: storageClass,
+			PersistentVolumeSource: v1.PersistentVolumeSource{
+				CSI: &v1.CSIPersistentVolumeSource{
+					VolumeHandle: providerID,
+					Driver:       driverOCIBV,
+				},
+			},
+		},
+	}
+	pvkey := (&Oracle{}).GetPVKey(pv, map[string]string{}, "")
+	assert.Equal(t, blockVolumePartNumber, pvkey.Features())
+	assert.Equal(t, storageClass, pvkey.GetStorageClass())
+	assert.Equal(t, providerID, pvkey.ID())
+}
+
+func testNode(gpus int) *v1.Node {
+	capacity := map[v1.ResourceName]resource.Quantity{}
+	if gpus > 0 {
+		capacity["nvidia.com/gpu"] = resource.MustParse(fmt.Sprintf("%d", gpus))
+	}
+	return &v1.Node{
+		Spec: v1.NodeSpec{
+			ProviderID: "ocid.abc",
+		},
+		Status: v1.NodeStatus{
+			Capacity: capacity,
+		},
+	}
+}

+ 271 - 0
pkg/cloud/oracle/ratecard.go

@@ -0,0 +1,271 @@
+package oracle
+
+import (
+	"encoding/json"
+	"fmt"
+	"io"
+	"net/http"
+	"strconv"
+	"strings"
+
+	"github.com/opencost/opencost/pkg/cloud/models"
+)
+
+// 1 month = 744 hours by price list documentation.
+const hoursPerMonth = 24 * 31
+
+type RateCardStore struct {
+	shapesEndpoint string
+	url            string
+	currencyCode   string
+	client         *http.Client
+	prices         map[string]Price
+}
+
+type Price struct {
+	ProductName string
+	Metric      string
+	Model       string
+	UnitPrice   float64
+}
+
+type PricingResponse struct {
+	Items []Item `json:"items"`
+}
+
+type Item struct {
+	PartNumber                string `json:"partNumber"`
+	DisplayName               string `json:"displayName"`
+	MetricName                string `json:"metricName"`
+	ServiceCategory           string `json:"serviceCategory"`
+	CurrencyCodeLocalizations []struct {
+		CurrencyCode string `json:"currencyCode"`
+		Prices       []struct {
+			Model string  `json:"model"`
+			Value float64 `json:"value"`
+		} `json:"prices"`
+	} `json:"currencyCodeLocalizations"`
+	Description string `json:"description,omitempty"`
+}
+
+func NewRateCardStore(url, currencyCode string) *RateCardStore {
+	return &RateCardStore{
+		url:          url,
+		currencyCode: currencyCode,
+		client:       &http.Client{},
+		prices:       map[string]Price{},
+	}
+}
+
+func (rcs *RateCardStore) ForLB(defaultPricing DefaultPricing) (*models.LoadBalancer, error) {
+	var cost float64
+	rc, ok := rcs.prices[loadBalancerPartNumber]
+	if ok {
+		cost = rc.UnitPrice
+	} else {
+		c, err := strconv.ParseFloat(defaultPricing.LB, 64)
+		if err != nil {
+			return nil, err
+		}
+		cost = c
+	}
+	return &models.LoadBalancer{
+		Cost: cost,
+	}, nil
+}
+
+func (rcs *RateCardStore) ForManagedCluster(clusterType string) float64 {
+	// Basic clusters are free, and do not have a rate card.
+	if clusterType == "BASIC_CLUSTER" {
+		return 0.0
+	}
+	// Enhanced clusters have a rate card, and require a pricing look up.
+	rc, ok := rcs.prices[enhancedClusterPartNumber]
+	if !ok {
+		return 0.1
+	}
+	return rc.UnitPrice
+}
+
+func (rcs *RateCardStore) ForEgressRegion(region string, defaultPricing DefaultPricing) (*models.Network, error) {
+	pn := egressRegionPartNumber(region)
+	var egressCost float64
+	if rc, ok := rcs.prices[pn]; ok {
+		egressCost = rc.UnitPrice
+	} else if defaultPricing.Egress != "" {
+		cost, err := strconv.ParseFloat(defaultPricing.Egress, 64)
+		if err != nil {
+			return nil, err
+		}
+		egressCost = cost
+	}
+	return &models.Network{
+		ZoneNetworkEgressCost:     0,
+		RegionNetworkEgressCost:   egressCost,
+		InternetNetworkEgressCost: egressCost,
+	}, nil
+}
+
+// ForPVK retrieves a Gb/Hour cost for a given PVKey.
+func (rcs *RateCardStore) ForPVK(pvk models.PVKey, defaultPricing DefaultPricing) (*models.PV, error) {
+	features := pvk.Features()
+	rc, ok := rcs.prices[features]
+	if !ok {
+		// Use default storage if no pricing found
+		return &models.PV{
+			Cost: defaultPricing.Storage,
+		}, nil
+	}
+	return &models.PV{
+		Cost: fmt.Sprintf("%f", rc.UnitPrice/hoursPerMonth), // Oracle unit pricing for storage is in Gb/Month
+	}, nil
+}
+
+// ForKey retrieves costing metadata for a key.
+func (rcs *RateCardStore) ForKey(key models.Key, defaultPricing DefaultPricing) (*models.Node, models.PricingMetadata, error) {
+	features := strings.Split(key.Features(), ",")
+	product := instanceProducts.get(features[0])
+	var node *models.Node
+	// Use the default pricing if the instance product is unknown
+	if product.isEmpty() {
+		totalCost, err := defaultPricing.TotalInstanceCost()
+		if err != nil {
+			return nil, models.PricingMetadata{}, fmt.Errorf("failed to parse default Oracle pricing: %w", err)
+		}
+		vcpuCost := defaultPricing.OCPU
+		if !isARMArch(features) {
+			// Non-ARM architectures have 2 VCPU per OCPU
+			vcpuFloat, err := strconv.ParseFloat(vcpuCost, 64)
+			if err != nil {
+				return nil, models.PricingMetadata{}, err
+			}
+			vcpuFloat /= 2
+			vcpuCost = fmt.Sprintf("%f", vcpuFloat)
+		}
+		node = &models.Node{
+			Cost:     fmt.Sprintf("%f", totalCost),
+			VCPUCost: vcpuCost,
+			RAM:      defaultPricing.Memory,
+			GPU:      defaultPricing.GPU,
+		}
+	} else {
+		ocpuPrice := rcs.prices[product.OCPU].UnitPrice
+		if !isARMArch(features) {
+			// Non-ARM architectures have 2 VCPU per OCPU
+			ocpuPrice /= 2
+		}
+		memoryPrice := rcs.prices[product.Memory].UnitPrice
+		gpuPrice := rcs.prices[product.GPU].UnitPrice
+		diskPrice := rcs.prices[product.Disk].UnitPrice
+		// convert disk price from Tb/hour to Gb/hour
+		diskPrice /= 1000
+		totalPrice := diskPrice + ocpuPrice + memoryPrice + gpuPrice
+		// Add virtual node pricing if it is being used.
+		if len(features) > 1 && features[1] == "true" {
+			totalPrice += rcs.prices[virualNodePartNumber].UnitPrice
+		}
+		node = &models.Node{
+			Cost:        fmt.Sprintf("%f", totalPrice),
+			StorageCost: fmt.Sprintf("%f", diskPrice),
+			VCPUCost:    fmt.Sprintf("%f", ocpuPrice),
+			RAMCost:     fmt.Sprintf("%f", memoryPrice),
+			GPUCost:     fmt.Sprintf("%f", gpuPrice),
+		}
+	}
+	return node, models.PricingMetadata{}, nil
+}
+
+func (rcs *RateCardStore) Store() map[string]Price {
+	return rcs.prices
+}
+
+func (rcs *RateCardStore) Refresh() (map[string]Price, error) {
+	if err := rcs.refresh(); err != nil {
+		return nil, err
+	}
+	return rcs.prices, nil
+}
+
+// refresh the prices of Price information
+func (rcs *RateCardStore) refresh() error {
+	rcr, err := rcs.getProductPricing()
+	if err != nil {
+		return err
+	}
+	rcs.prices = rcr.toStore()
+	return nil
+}
+
+func (rcs *RateCardStore) getProductPricing() (*PricingResponse, error) {
+	url := fmt.Sprintf("%s?currencyCode=%s", rcs.url, rcs.currencyCode)
+	prBytes, err := rcs.loadMetadata(url)
+	if err != nil {
+		return nil, err
+	}
+	pr := &PricingResponse{}
+	if err := json.Unmarshal(prBytes, pr); err != nil {
+		return nil, err
+	}
+	return pr, nil
+}
+func (rcs *RateCardStore) loadMetadata(url string) ([]byte, error) {
+	req, err := http.NewRequest("GET", url, nil)
+	if err != nil {
+		return nil, err
+	}
+	resp, err := rcs.client.Do(req)
+	if err != nil {
+		return nil, err
+	}
+	defer resp.Body.Close()
+	if resp.StatusCode != http.StatusOK {
+		return nil, fmt.Errorf("failed to get pricing metadata data, got code %d", resp.StatusCode)
+	}
+	return io.ReadAll(resp.Body)
+}
+
+func (rcr *PricingResponse) toStore() map[string]Price {
+	store := map[string]Price{}
+	for _, item := range rcr.Items {
+		store[item.PartNumber] = item.toRateCard()
+	}
+	return store
+}
+
+func (i Item) hasPrice() bool {
+	if len(i.CurrencyCodeLocalizations) < 1 {
+		return false
+	}
+	return len(i.CurrencyCodeLocalizations[0].Prices) > 0
+}
+
+func (i Item) toRateCard() Price {
+	var unitPrice float64
+	var model string
+	if i.hasPrice() {
+		for _, price := range i.CurrencyCodeLocalizations[0].Prices {
+			// Some products have range pricing, we'll take the first non-zero pricing in this case.
+			if price.Value > 0 {
+				unitPrice = price.Value
+				model = price.Model
+			}
+		}
+	}
+	return Price{
+		ProductName: i.DisplayName,
+		Metric:      i.MetricName,
+		UnitPrice:   unitPrice,
+		Model:       model,
+	}
+}
+
+func (p Product) isEmpty() bool {
+	return p.GPU == "" && p.OCPU == "" && p.Memory == "" && p.Disk == ""
+}
+
+func isARMArch(features []string) bool {
+	if len(features) < 3 {
+		return false
+	}
+	return strings.HasPrefix(strings.ToLower(features[2]), "arm")
+}

+ 172 - 0
pkg/cloud/oracle/ratecard_test.go

@@ -0,0 +1,172 @@
+package oracle
+
+import (
+	"net/http"
+	"net/http/httptest"
+	"os"
+	"strconv"
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+)
+
+func TestRCSForKey(t *testing.T) {
+	rcs, server := testSetupRateCardStore(t)
+	defer server.Close()
+
+	testCases := map[string]struct {
+		cost string
+		arm  bool
+	}{
+		"VM.DenseIO.E4.Flex": {
+			"0.014061",
+			false,
+		},
+		"BM.GPU3.8": {
+			"2.950000",
+			false,
+		},
+		"Pod.Standard.A1.Flex": {
+			"0.0115",
+			true,
+		},
+		"VM.Standard.E4.Flex": {
+			"0.014000",
+			false,
+		},
+		"VM.Standard.E3.Flex": {
+			"0.014000",
+			false,
+		},
+		"unknown-shape": {
+			"0.600000",
+			false,
+		},
+	}
+
+	for instanceType, testCase := range testCases {
+		t.Run(instanceType, func(t *testing.T) {
+			key := &oracleKey{
+				instanceType: instanceType,
+				labels:       make(map[string]string),
+			}
+			if testCase.arm {
+				key.labels["kubernetes.io/arch"] = "arm64"
+			}
+			node, _, err := rcs.ForKey(key, DefaultPricing{
+				OCPU:   "0.2",
+				Memory: "0.1",
+				GPU:    "0.3",
+			})
+			assert.NoError(t, err)
+			assertFloatStrings(t, testCase.cost, node.Cost, 0.001)
+		})
+	}
+}
+
+func TestRCSForPVK(t *testing.T) {
+	rcs, server := testSetupRateCardStore(t)
+	defer server.Close()
+
+	var testCases = map[string]struct {
+		cost string
+	}{
+		driverOCIBV: {
+			"0.000034",
+		},
+		driverOCI: {
+			"0.000034",
+		},
+		"unknown": {
+			"0.25",
+		},
+	}
+
+	for driver, testCase := range testCases {
+		t.Run(driver, func(t *testing.T) {
+			pvk := &oraclePVKey{
+				driver: driver,
+			}
+			pv, err := rcs.ForPVK(pvk, DefaultPricing{
+				Storage: "0.25",
+			})
+			assert.NoError(t, err)
+			assertFloatStrings(t, testCase.cost, pv.Cost, 0.00001)
+		})
+	}
+}
+
+func TestRCSEgressForRegion(t *testing.T) {
+	rcs, server := testSetupRateCardStore(t)
+	defer server.Close()
+
+	var testCases = map[string]struct {
+		cost float64
+	}{
+		"ap-mumbai-1": {
+			0.025,
+		},
+		"sa-saopaulo-1": {
+			0.025,
+		},
+		"me-dubai-1": {
+			0.05,
+		},
+		"af-johannesburg-1": {
+			0.05,
+		},
+		"il-jerusalem-1": {
+			0.05,
+		},
+		"eu-madrid-1": {
+			0.0085,
+		},
+		"uk-cardiff-1": {
+			0.0085,
+		},
+		"mx-monterrey-1": {
+			0.0085,
+		},
+		"us-chicago-1": {
+			0.0085,
+		},
+		"ca-montreal-1": {
+			0.0085,
+		},
+		"unknown": {
+			0.000123,
+		},
+	}
+	for region, testCase := range testCases {
+		net, err := rcs.ForEgressRegion(region, DefaultPricing{
+			Egress: "0.000123",
+		})
+		assert.NoError(t, err)
+		assert.InDelta(t, float64(0), net.ZoneNetworkEgressCost, 0.1)
+		assert.InDelta(t, testCase.cost, net.RegionNetworkEgressCost, 0.001)
+		assert.InDelta(t, testCase.cost, net.InternetNetworkEgressCost, 0.001)
+	}
+}
+
+func testSetupRateCardStore(t *testing.T) (*RateCardStore, *httptest.Server) {
+	pricesUSDBytes, err := os.ReadFile("test/prices_usd.json")
+	assert.NoError(t, err)
+	server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+		w.WriteHeader(http.StatusOK)
+		w.Write(pricesUSDBytes)
+	}))
+
+	rcs := NewRateCardStore(server.URL, currencyCodeUSD)
+	store, err := rcs.Refresh()
+	assert.NoError(t, err)
+	assert.True(t, len(store) > 0)
+	return rcs, server
+}
+
+func assertFloatStrings(t *testing.T, s1, s2 string, delta float64) {
+	f1, err := strconv.ParseFloat(s1, 64)
+	assert.NoError(t, err)
+	f2, err := strconv.ParseFloat(s2, 64)
+	assert.NoError(t, err)
+	assert.InDelta(t, f1, f2, delta)
+}

+ 41 - 0
pkg/cloud/oracle/region.go

@@ -0,0 +1,41 @@
+package oracle
+
+// Regions retrieved from https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm.
+// May also be listed using the OCI CLI, "oci iam region list"
+var oracleRegions = []string{
+	"eu-amsterdam-1",
+	"eu-stockholm-1",
+	"me-abudhabi-1",
+	"ap-mumbai-1",
+	"eu-paris-1",
+	"uk-cardiff-1",
+	"me-dubai-1",
+	"eu-frankfurt-1",
+	"sa-saopaulo-1",
+	"ap-hyderabad-1",
+	"us-ashburn-1",
+	"ap-seoul-1",
+	"me-jeddah-1",
+	"af-johannesburg-1",
+	"ap-osaka-1",
+	"uk-london-1",
+	"eu-milan-1",
+	"eu-madrid-1",
+	"ap-melbourne-1",
+	"eu-marseille-1",
+	"mx-monterrey-1",
+	"il-jerusalem-1",
+	"ap-tokyo-1",
+	"us-chicago-1",
+	"us-phoenix-1",
+	"mx-queretaro-1",
+	"sa-santiago-1",
+	"ap-singapore-1",
+	"us-sanjose-1",
+	"ap-sydney-1",
+	"sa-vinhedo-1",
+	"ap-chuncheon-1",
+	"ca-montreal-1",
+	"ca-toronto-1",
+	"eu-zurich-1",
+}

+ 8239 - 0
pkg/cloud/oracle/test/prices_usd.json

@@ -0,0 +1,8239 @@
+{
+  "items":[
+    {
+      "partNumber":"B88287"
+    ,"displayName":"Oracle Java Cloud Service - Enterprise"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Java"
+    ,"currencyCodeLocalizations":[
+      {
+        "currencyCode":"USD"
+      ,"prices":[
+        {
+          "model":"PAY_AS_YOU_GO"
+        ,"value":0.3097
+        }
+      ]
+      }
+    ]
+    }
+  ,{
+      "partNumber":"B88288"
+    ,"displayName":"Oracle Java Cloud Service - Standard"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Java"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3097
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88289"
+    ,"displayName":"Oracle Java Cloud Service - High Performance"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Java"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.7742
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88290"
+    ,"displayName":"Oracle Database Cloud Service - Enterprise Edition - General Purpose"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Oracle Public Cloud Services - CLOUDCM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.4301
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88291"
+    ,"displayName":"Oracle Database Cloud Service - Enterprise Edition Extreme Performance - General Purpose"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Oracle Public Cloud Services - CLOUDCM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88292"
+    ,"displayName":"Oracle Database Cloud Service - Enterprise Edition High Performance - General Purpose"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Oracle Public Cloud Services - CLOUDCM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.8871
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88293"
+    ,"displayName":"Oracle Database Cloud Service - Standard Edition - General Purpose"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Oracle Public Cloud Services - CLOUDCM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.215
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88299"
+    ,"displayName":"Oracle Data Integrator Cloud Service"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Data Integrator"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.7742
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88310"
+    ,"displayName":"Oracle GoldenGate Cloud Service - Enterprise"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"GoldenGate"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.7742
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88315"
+    ,"displayName":"Compute - Bare Metal Standard - X5"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Bare Metal"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0638
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88317"
+    ,"displayName":"Compute - Virtual Machine Standard - X5"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0638
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88318"
+    ,"displayName":"Compute - Windows OS"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - OS Images"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.092
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88325"
+    ,"displayName":"OCI - FastConnect 1 Gbps"
+    ,"metricName":"Port Hour"
+    ,"serviceCategory":"Networking - FastConnect"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2125
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88326"
+    ,"displayName":"OCI - FastConnect 10 Gbps"
+    ,"metricName":"Port Hour"
+    ,"serviceCategory":"Networking - FastConnect"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.275
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88327"
+    ,"displayName":"Outbound Data Transfer - Originating in North America, Europe, and UK"
+    ,"metricName":"Gigabyte Outbound Data Transfer Per Month"
+    ,"serviceCategory":"Networking - Virtual Cloud Networks"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":10240
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0085
+          ,"rangeMin":10240
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88398"
+    ,"displayName":"Oracle GoldenGate Cloud Service - Enterprise - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"GoldenGate"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1935
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88399"
+    ,"displayName":"Oracle Java Cloud Service - Enterprise - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Java"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1935
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88400"
+    ,"displayName":"Oracle Java Cloud Service - High Performance - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Java"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1935
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88402"
+    ,"displayName":"Oracle Database Cloud Service - Enterprise Edition Extreme Performance RAC - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Oracle Public Cloud Services - CLOUDCM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1935
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88404"
+    ,"displayName":"Oracle Database Cloud Service - All Editions - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Oracle Public Cloud Services - CLOUDCM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1935
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88406"
+    ,"displayName":"Oracle Data Integrator Cloud Service - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Data Integrator"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1935
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88513"
+    ,"displayName":"Compute - Bare Metal Standard - X7"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Bare Metal"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0638
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88514"
+    ,"displayName":"Compute - Virtual Machine Standard - X7"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0638
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88515"
+    ,"displayName":"Compute - Bare Metal Dense I\/O - X7"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Bare Metal"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1275
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88516"
+    ,"displayName":"Compute - Virtual Machine Dense I\/O - X7"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1275
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88517"
+    ,"displayName":"Compute - Bare Metal GPU Standard - X7"
+    ,"metricName":"GPU Per Hour"
+    ,"serviceCategory":"Compute - GPU"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.275
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88518"
+    ,"displayName":"Compute - Virtual Machine GPU Standard - X7"
+    ,"metricName":"GPU Per Hour"
+    ,"serviceCategory":"Compute - GPU"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.275
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88523"
+    ,"displayName":"OCI - Email Delivery"
+    ,"metricName":"1,000 Emails Sent"
+    ,"serviceCategory":"Email Delivery"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":3
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.085
+          ,"rangeMin":3
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88525"
+    ,"displayName":"Networking - DNS"
+    ,"metricName":"1,000,000 Queries"
+    ,"serviceCategory":"Networking - DNS"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.85
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88592"
+    ,"displayName":"Exadata Database OCPU - Dedicated Infrastructure"
+    ,"description":"You must add a minimum of 2 OCPUs per database server and OCPUs must be added in increments of 2."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Exadata Database Service OCPUs"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88593"
+    ,"displayName":"Database Exadata Infrastructure - Quarter Rack - X6"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":51.0753
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88594"
+    ,"displayName":"Database Exadata Infrastructure - Half Rack - X6"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":102.1506
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88595"
+    ,"displayName":"Database Exadata Infrastructure - Full Rack - X6"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":204.3011
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88844"
+    ,"displayName":"Oracle Java Cloud Service - Standard - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Java"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1935
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88847"
+    ,"displayName":"Exadata Database OCPU - Dedicated Infrastructure - BYOL"
+    ,"description":"You must add a minimum of 2 OCPUs per database server and OCPUs must be added in increments of 2."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Exadata Database Service OCPUs"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88854"
+    ,"displayName":"Database Exadata Infrastructure - Full Rack - X6 - BYOL"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":135.914
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88855"
+    ,"displayName":"Database Exadata Infrastructure - Half Rack - X6 - BYOL"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":67.957
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B88856"
+    ,"displayName":"Database Exadata Infrastructure - Quarter Rack - X6 - BYOL"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":33.9785
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89039"
+    ,"displayName":"Oracle Autonomous Data Warehouse - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89040"
+    ,"displayName":"Oracle Autonomous Data Warehouse"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89041"
+    ,"displayName":"Oracle Autonomous Data Warehouse - Exadata Storage"
+    ,"metricName":"Terabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":118.4
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89057"
+    ,"displayName":"File Storage - Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Storage - File Storage"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89630"
+    ,"displayName":"Oracle Analytics Cloud - Professional - OCPU"
+    ,"description":"If you stop\/pause the service, metering will still continue at fifteen percent (15%) of your OCPU Per Hour rate while it is stopped\/paused. When the service is started\/resumed the service will meter at your OCPU Per Hour rate."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Analytics - Analytics Cloud"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.0753
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89631"
+    ,"displayName":"Oracle Analytics Cloud - Enterprise - OCPU"
+    ,"description":"If you stop\/pause the service, metering will still continue at fifteen percent (15%) of your OCPU Per Hour rate while it is stopped\/paused. When the service is started\/resumed the service will meter at your OCPU Per Hour rate."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Analytics - Analytics Cloud"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2.1506
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89636"
+    ,"displayName":"Oracle Analytics Cloud - Professional - BYOL - OCPU"
+    ,"description":"If you stop\/pause the service, metering will still continue at fifteen percent (15%) of your OCPU Per Hour rate while it is stopped\/paused. When the service is started\/resumed the service will meter at your OCPU Per Hour rate."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Analytics - Analytics Cloud"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89637"
+    ,"displayName":"Oracle Analytics Cloud - Enterprise - BYOL - OCPU"
+    ,"description":"If you stop\/pause the service, metering will still continue at fifteen percent (15%) of your OCPU Per Hour rate while it is stopped\/paused. When the service is started\/resumed the service will meter at your OCPU Per Hour rate."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Analytics - Analytics Cloud"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89639"
+    ,"displayName":"Oracle Integration Cloud Service - Standard"
+    ,"metricName":"5K Messages Per Hour"
+    ,"serviceCategory":"Application Integration - OIC"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.6452
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89640"
+    ,"displayName":"Oracle Integration Cloud Service - Enterprise"
+    ,"metricName":"5K Messages Per Hour"
+    ,"serviceCategory":"Application Integration - OIC"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.2903
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89643"
+    ,"displayName":"Oracle Integration Cloud Service - Standard - BYOL"
+    ,"metricName":"20K Messages Per Hour"
+    ,"serviceCategory":"Application Integration - OIC"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89644"
+    ,"displayName":"Oracle Integration Cloud Service - Enterprise - BYOL"
+    ,"metricName":"20K Messages Per Hour"
+    ,"serviceCategory":"Application Integration - OIC"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89646"
+    ,"displayName":"Oracle Visual Builder"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Development - Developer Cloud Service"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.2365
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89734"
+    ,"displayName":"Compute - GPU Standard - V2"
+    ,"metricName":"GPU Per Hour"
+    ,"serviceCategory":"Compute - GPU"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2.95
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89737"
+    ,"displayName":"Oracle NoSQL Database Cloud - Write"
+    ,"metricName":"Write Unit Per Month"
+    ,"serviceCategory":"Database - NoSQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1254
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89738"
+    ,"displayName":"Oracle NoSQL Database Cloud - Read"
+    ,"metricName":"Read Unit Per Month"
+    ,"serviceCategory":"Database - NoSQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0064
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89739"
+    ,"displayName":"Oracle NoSQL Database Cloud - Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - NoSQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.066
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89980"
+    ,"displayName":"Oracle Database Exadata Cloud at Customer - Database OCPU"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89981"
+    ,"displayName":"Oracle Database Exadata Cloud at Customer - Database OCPU - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B89999"
+    ,"displayName":"Quarter Rack - X7"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X7"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":21.5054
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90000"
+    ,"displayName":"Half Rack - X7"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X7"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":43.0107
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90001"
+    ,"displayName":"Full Rack - X7"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X7"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":86.0215
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90203"
+    ,"displayName":"Visual Builder Studio - Additional Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Application Development - Developer Cloud Service"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.6
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90230"
+    ,"displayName":"Oracle Database Backup Cloud - Object Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - Backup"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0051
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90231"
+    ,"displayName":"Oracle Database Backup Cloud - Archive Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - Backup"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0005
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90260"
+    ,"displayName":"Oracle Digital Assistant Cloud Service"
+    ,"description":"For the purposes of the Oracle Digital Assistant Cloud Service, each customer Cloud Services Account consumes a minimum of 250 Requests Per Hour, which includes 1 development and 1 production environment.\nAn additional development environment consumes a minimum of an additional 50 Requests Per Hour. An additional production environment consumes a minimum of an additional 200 Requests Per Hour."
+    ,"metricName":"Requests per Hour"
+    ,"serviceCategory":"Oracle Digital Assistant"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0232
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90304"
+    ,"displayName":"Oracle Mobile Hub Cloud Service"
+    ,"metricName":"Requests per Hour"
+    ,"serviceCategory":"Mobile"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0028
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90323"
+    ,"displayName":"OCI - Health Checks - Basic"
+    ,"metricName":"Endpoints Per Month"
+    ,"serviceCategory":"Edge Services"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90325"
+    ,"displayName":"OCI - Health Checks - Premium"
+    ,"metricName":"Endpoints Per Month"
+    ,"serviceCategory":"Edge Services"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90327"
+    ,"displayName":"Networking - DNS Traffic Management"
+    ,"metricName":"1,000,000 DNS Traffic Managment Queries"
+    ,"serviceCategory":"Networking - DNS"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":4
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90328"
+    ,"displayName":"Key Management Service"
+    ,"metricName":"Virtual Private Vault Per Hour"
+    ,"serviceCategory":"Security - Key Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":3.724
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90398"
+    ,"displayName":"Compute - Bare Metal Standard - HPC - X7"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Bare Metal"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.075
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90425"
+    ,"displayName":"Compute - Standard - E2"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.03
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90453"
+    ,"displayName":"Oracle Autonomous Transaction Processing"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90454"
+    ,"displayName":"Oracle Autonomous Transaction Processing - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90455"
+    ,"displayName":"Oracle Autonomous Transaction Processing - Exadata Storage"
+    ,"metricName":"Terabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":118.4
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90555"
+    ,"displayName":"Oracle Identity Cloud Service - Enterprise User"
+    ,"metricName":"User Per Month"
+    ,"serviceCategory":"OCI IAM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":3.2
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90556"
+    ,"displayName":"Oracle Identity Cloud Service - Consumer User"
+    ,"metricName":"User Per Month"
+    ,"serviceCategory":"OCI IAM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.016
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90557"
+    ,"displayName":"Oracle Identity Cloud Service - Enterprise User - BYOL"
+    ,"metricName":"User Per Month"
+    ,"serviceCategory":"OCI IAM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.8
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90558"
+    ,"displayName":"Oracle Identity Cloud Service - Consumer User - BYOL"
+    ,"metricName":"User Per Month"
+    ,"serviceCategory":"OCI IAM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.004
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90569"
+    ,"displayName":"Oracle Base Database Service - Standard"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Base Database Service - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.215
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90570"
+    ,"displayName":"Oracle Base Database Service - Enterprise"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Base Database Service - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.4301
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90571"
+    ,"displayName":"Oracle Base Database Service - High Performance"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Base Database Service - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.8871
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90572"
+    ,"displayName":"Oracle Base Database Service - Extreme Performance"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Base Database Service - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90573"
+    ,"displayName":"Oracle Base Database Service - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Base Database Service - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1935
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90617"
+    ,"displayName":"Oracle Functions - Execution Time"
+    ,"metricName":"10,000 GB Memory-Seconds"
+    ,"serviceCategory":"Application Development - Serverless"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":40
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1417
+          ,"rangeMin":40
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90618"
+    ,"displayName":"Oracle Functions - Invocations"
+    ,"metricName":"1MIL Function Invocations"
+    ,"serviceCategory":"Application Development - Serverless"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":2
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2
+          ,"rangeMin":2
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90777"
+    ,"displayName":"Exadata Database Cloud Service - Base System"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure Base System"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":10.7527
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90925"
+    ,"displayName":"Monitoring - Ingestion"
+    ,"metricName":"Million Datapoints"
+    ,"serviceCategory":"Observability - Monitoring"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":500
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0025
+          ,"rangeMin":500
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90926"
+    ,"displayName":"Monitoring - Retrieval"
+    ,"metricName":"Million Datapoints"
+    ,"serviceCategory":"Observability - Monitoring"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":1000
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0015
+          ,"rangeMin":1000
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90936"
+    ,"displayName":"Oracle Identity Foundation Cloud Service"
+    ,"metricName":"Each"
+    ,"serviceCategory":"OCI IAM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90938"
+    ,"displayName":"Streaming - PUT or GET"
+    ,"metricName":"Gigabytes of Data Transferred"
+    ,"serviceCategory":"OCI Streaming"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.025
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90939"
+    ,"displayName":"Streaming - Storage"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"OCI Streaming"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0002
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90940"
+    ,"displayName":"Notifications - HTTPS Delivery"
+    ,"metricName":"Million Delivery Operations"
+    ,"serviceCategory":"Observability - Notifications"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":1
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.6
+          ,"rangeMin":1
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B90941"
+    ,"displayName":"Notifications - Email Delivery"
+    ,"metricName":"1,000 Emails Sent"
+    ,"serviceCategory":"Observability - Notifications"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":1
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.02
+          ,"rangeMin":1
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91119"
+    ,"displayName":"Compute - Bare Metal Standard - B1"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Bare Metal"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0638
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91120"
+    ,"displayName":"Compute - Virtual Machine Standard - B1"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0638
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91121"
+    ,"displayName":"Oracle Cloud SQL - Compute Capacity"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Data Management - Big Data Cloud Service"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1075
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91128"
+    ,"displayName":"Oracle Big Data Service - Compute - Standard"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Data Management - Big Data Cloud Service"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1344
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91129"
+    ,"displayName":"Oracle Big Data Service - Compute - Dense I\/O"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Data Management - Big Data Cloud Service"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.214
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91130"
+    ,"displayName":"Oracle Big Data Service - Compute - HPC"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Data Management - Big Data Cloud Service"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1536
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91210"
+    ,"displayName":"Oracle Content Management"
+    ,"metricName":"5,000 Assets Per Month"
+    ,"serviceCategory":"Content Management - Content Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":32
+          ,"rangeMin":100
+          ,"rangeMax":999999999999999
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":172
+          ,"rangeMin":3
+          ,"rangeMax":100
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":640
+          ,"rangeMin":0
+          ,"rangeMax":1
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":640
+          ,"rangeMin":1
+          ,"rangeMax":3
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91211"
+    ,"displayName":"Oracle Content Management - Outbound Data Transfer"
+    ,"metricName":"Gigabyte Outbound Data Transfer Per Month"
+    ,"serviceCategory":"Content Management - Content Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.04
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91346"
+    ,"displayName":"WebLogic Server Enterprise Edition for OCI"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Development - Java"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2581
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91347"
+    ,"displayName":"WebLogic Server Suite for OCI"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Development - Java"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.4646
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91363"
+    ,"displayName":"Gen 2 Exadata Cloud at Customer - Database OCPU"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91364"
+    ,"displayName":"Gen 2 Exadata Cloud at Customer - Database OCPU - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91372"
+    ,"displayName":"Database - Marketplace Compute Image - Microsoft SQL Enterprise"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - SQL Server"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.47
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91373"
+    ,"displayName":"Database - Marketplace Compute Image - Microsoft SQL Standard"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - SQL Server"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.37
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91391"
+    ,"displayName":"Oracle Autonomous Data Warehouse - Free"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Oracle Public Cloud Services - CLOUDCM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91392"
+    ,"displayName":"Oracle Autonomous Data Warehouse - Exadata Storage - Free"
+    ,"metricName":"Terabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Oracle Public Cloud Services - CLOUDCM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91393"
+    ,"displayName":"Oracle Autonomous Transaction Processing - Free"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Oracle Public Cloud Services - CLOUDCM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91394"
+    ,"displayName":"Oracle Autonomous Transaction Processing - Exadata Storage - Free"
+    ,"metricName":"Terabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Oracle Public Cloud Services - CLOUDCM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91444"
+    ,"displayName":"Compute - Virtual Machine Standard - E2 Micro - Free"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91445"
+    ,"displayName":"Storage - Block Volume - Free 200GB"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Storage - Block Volumes"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91535"
+    ,"displayName":"Quarter Rack - X8"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X8"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":14.5162
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91536"
+    ,"displayName":"Half Rack - X8"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X8"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":29.0323
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91537"
+    ,"displayName":"Full Rack - X8"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X8"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":58.0645
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91627"
+    ,"displayName":"Object Storage - Requests"
+    ,"description":"Example: Qty 8 = 80,000 Requests"
+    ,"metricName":"10,000 Requests per Month (first 50,000 free)"
+    ,"serviceCategory":"Storage - Object Storage"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":5
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0034
+          ,"rangeMin":5
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91628"
+    ,"displayName":"Object Storage - Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Storage - Object Storage"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":10
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0255
+          ,"rangeMin":10
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91631"
+    ,"displayName":"Data Safe for Database Cloud Service - Audit Record Collection Over 1 Million Records"
+    ,"description":"Over the included 1,000,000 Audit Records Per Month"
+    ,"metricName":"10,000 Audit Records Per Target Per Month"
+    ,"serviceCategory":"Security - Data Safe"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91632"
+    ,"displayName":"Data Safe for Database Cloud Service - Databases"
+    ,"description":"Includes 1,000,000 Audit Records Per Target Per Month"
+    ,"metricName":"Each"
+    ,"serviceCategory":"Security - Data Safe"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91633"
+    ,"displayName":"Archive Storage - Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Storage - Object Storage"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":10
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0026
+          ,"rangeMin":10
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91961"
+    ,"displayName":"Storage - Block Volume - Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Storage - Block Volumes"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0255
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B91962"
+    ,"displayName":"Storage - Block Volume - Performance Units"
+    ,"metricName":"Performance Units Per Gigabyte Per Month"
+    ,"serviceCategory":"Storage - Block Volumes"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0017
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92023"
+    ,"displayName":"MySQL HeatWave - Standard"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Database - HeatWave"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3536
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92024"
+    ,"displayName":"MySQL Database for Heatwave - Standard"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3536
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92072"
+    ,"displayName":"API Gateway  - 1,000,000 API Calls"
+    ,"metricName":"1,000,000 API Calls Per Month"
+    ,"serviceCategory":"Application Development - API Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":3
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92092"
+    ,"displayName":"Key Management Service - Key Versions"
+    ,"metricName":"Key Version Per Month"
+    ,"serviceCategory":"Security - Key Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":20
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.5334
+          ,"rangeMin":20
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92181"
+    ,"displayName":"Oracle Autonomous Transaction Processing - Dedicated"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92182"
+    ,"displayName":"Oracle Autonomous Data Warehouse - Dedicated"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92183"
+    ,"displayName":"Oracle Autonomous Transaction Processing - Dedicated - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92184"
+    ,"displayName":"Oracle Autonomous Data Warehouse - Dedicated - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92212"
+    ,"displayName":"Oracle Autonomous JSON Database"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous JSON Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92302"
+    ,"displayName":"Blockchain Platform - Standard"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Development - Blockchain"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.215
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92303"
+    ,"displayName":"Blockchain Platform - Enterprise"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Development - Blockchain"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.4301
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92304"
+    ,"displayName":"Blockchain Platform - Storage"
+    ,"metricName":"Terabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Application Development - Blockchain"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":70.4
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92305"
+    ,"displayName":"Blockchain Platform - Enterprise - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Development - Blockchain"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92306"
+    ,"displayName":"Compute - Standard - E3 - OCPU"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.025
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92307"
+    ,"displayName":"Compute - Standard - E3 - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92335"
+    ,"displayName":"Essbase for OCI"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Analytics - Analytics Cloud - Essbase"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3129
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92380"
+    ,"displayName":"Exadata Database Cloud Service - Quarter Rack  - X8M"
+    ,"description":"The initial Exadata X8M infrastructure configuration is a Quarter Rack which includes 2 Database Servers and 3 Storage Servers. You can elastically scale the infrastructure by incrementally adding database and\/or storage servers up to a total of 32 Database Servers and 64 Storage Servers within a single Exadata Cloud Service.  OCPUs are provisioned separately"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X8M"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":14.5162
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92381"
+    ,"displayName":"Exadata Database Cloud Service - Database Server - X8M"
+    ,"description":"Each Database Server includes 1,390 GB of memory and supports enabling up to 50 OCPUs per Database Server.     Best practice is to enable a minimum of 2 OCPU per Database Server and scale up\/down from that point as appropriate in increments of 2 per Database Server.   For example, if your service includes a total of 4 Database Servers, provision a minimum of 8 OCPUs then scale OCPUs up or down in multiples of 8 (2 OCPUs x 4 Database Servers)."
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X8M"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2.9032
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92382"
+    ,"displayName":"Exadata Database Cloud Service - Storage Server - X8M"
+    ,"description":"Each Storage Server includes 1.5 TB of Persistent Memory (PMEM), 25.6 TB of PCI NVMe Flash, and 49.9 TB of usable disk capacity."
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X8M"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2.9032
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92386"
+    ,"displayName":"Oracle Cloud Vmware Solution  - BM.DenseIO2.52 - 1 Month Commit"
+    ,"description":"Minimum duration: 1 Month. Minimum configuration: 3 BM hosts, 52 OCPUs each, total 156 OCPUs. Additional hosts with 52 OCPUs each can be added."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2031
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92418"
+    ,"displayName":"Exadata Cloud at Customer - Autonomous Transaction Processing - Database OCPU"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92419"
+    ,"displayName":"Exadata Cloud at Customer - Autonomous Data Warehouse - Database OCPU"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92420"
+    ,"displayName":"Exadata Cloud at Customer - Autonomous Transaction Processing - Database OCPU - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92421"
+    ,"displayName":"Exadata Cloud at Customer - Autonomous Data Warehouse - Database OCPU - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92425"
+    ,"displayName":"MySQL Database - Standard - E2"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0467
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92426"
+    ,"displayName":"MySQL Database - Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.04
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92450"
+    ,"displayName":"Oracle SOA Suite for OCI"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Integration - SOA"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.7231
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92451"
+    ,"displayName":"Oracle SOA Suite for OCI - with B2B Adapter for EDI"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Integration - SOA"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.2071
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92483"
+    ,"displayName":"MySQL Database - Backup Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.04
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92593"
+    ,"displayName":"OCI - Logging - Storage"
+    ,"metricName":"Gigabyte Log Storage Per Month"
+    ,"serviceCategory":"Observability - Logging"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":10
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.05
+          ,"rangeMin":10
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92598"
+    ,"displayName":"OCI Data Integration - Workspace Usage"
+    ,"metricName":"Workspace Usage Per Hour"
+    ,"serviceCategory":"Data Integration - Workspace Usage"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.16
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92599"
+    ,"displayName":"OCI Data Integration - Data Processed"
+    ,"metricName":"Gigabyte of Data Processed Per Hour"
+    ,"serviceCategory":"Data Integration - Data Processed"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.04
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92615"
+    ,"displayName":"Roving Edge Device - Compute Optimized - Ruggedized"
+    ,"metricName":"Resource Possession Per Day"
+    ,"serviceCategory":"Roving Edge Infrastructure"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":160
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92616"
+    ,"displayName":"Roving Edge Cluster Kit - Standard"
+    ,"metricName":"Resource Possession Per Day"
+    ,"serviceCategory":"Roving Edge Infrastructure"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":40
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92627"
+    ,"displayName":"Oracle NoSQL Database Cloud - Write - Free"
+    ,"description":"Free is subject to the following quantities: 50 Write Units per table per month. A maximum of 3 tables can be allocated with the Free Tier."
+    ,"metricName":"Write Unit Per Month"
+    ,"serviceCategory":"Database - NoSQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92628"
+    ,"displayName":"Oracle NoSQL Database Cloud - Read - Free"
+    ,"description":"Free is subject to the following quantities: 50 Read Units per table per month. A maximum of 3 tables can be allocated with the Free Tier."
+    ,"metricName":"Read Unit Per Month"
+    ,"serviceCategory":"Database - NoSQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92629"
+    ,"displayName":"Oracle NoSQL Database Cloud - Storage - Free"
+    ,"description":"Free is subject to the following quantities: 25 Gigabyte (GB) storage capacity per table. A maximum of 3 tables can be allocated with the Free Tier."
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - NoSQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92637"
+    ,"displayName":"Oracle Content Management - BYOL"
+    ,"metricName":"5,000 Assets Per Month"
+    ,"serviceCategory":"Content Management - Content Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":120
+          ,"rangeMin":0
+          ,"rangeMax":10
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":3.6
+          ,"rangeMin":10000
+          ,"rangeMax":999999999
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":60
+          ,"rangeMin":10
+          ,"rangeMax":200
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":30
+          ,"rangeMin":200
+          ,"rangeMax":10000
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92682"
+    ,"displayName":"Oracle Analytics Cloud - Professional - Users"
+    ,"description":"Min 10 Users Per Month"
+    ,"metricName":"User Per Month"
+    ,"serviceCategory":"Analytics - Analytics Cloud"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":16
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92683"
+    ,"displayName":"Oracle Analytics Cloud - Enterprise - Users"
+    ,"description":"Min 10 Users Per Month"
+    ,"metricName":"User Per Month"
+    ,"serviceCategory":"Analytics - Analytics Cloud"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":80
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92695"
+    ,"displayName":"Oracle Stream Analytics for OCI"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"GoldenGate"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.9498
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92733"
+    ,"displayName":"Data Safe for On-Premises Databases \u0026 Databases on Compute"
+    ,"description":"Includes 1,000,000 Audit Records Per Target Per Month"
+    ,"metricName":"Target Database Per Month"
+    ,"serviceCategory":"Security - Data Safe"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":200
+          ,"rangeMin":0
+          ,"rangeMax":100
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":150
+          ,"rangeMin":100
+          ,"rangeMax":300
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":100
+          ,"rangeMin":300
+          ,"rangeMax":500
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":50
+          ,"rangeMin":500
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92734"
+    ,"displayName":"Data Safe for On-Premises Databases \u0026 Databases on Compute"
+    ,"description":"Over the included 1,000,000 Audit Records Per Month"
+    ,"metricName":"10,000 Audit Records Per Target Per Month"
+    ,"serviceCategory":"Security - Data Safe"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92740"
+    ,"displayName":"Compute - GPU - E3"
+    ,"metricName":"GPU Per Hour"
+    ,"serviceCategory":"Compute - GPU"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":3.05
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92759"
+    ,"displayName":"MySQL Heatwave - Bare Metal Standard - E2"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.5018
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92807"
+    ,"displayName":"MySQL Database - Bare Metal Standard - E2"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.5018
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92809"
+    ,"displayName":"Logging Analytics - Archival Storage"
+    ,"metricName":"Logging Analytics Storage Unit Per Hour"
+    ,"serviceCategory":"Observability - Logging Analytics"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.02
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92888"
+    ,"displayName":"Operations Insights for Oracle Autonomous Databases - Basic"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Observability - Operations Insights"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92889"
+    ,"displayName":"Operations Insights for Cloud Databases"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Observability - Operations Insights"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92890"
+    ,"displayName":"Operations Insights for External Oracle Databases and Host"
+    ,"metricName":"Host CPU Core Per Hour"
+    ,"serviceCategory":"Observability - Operations Insights"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92911"
+    ,"displayName":"Oracle APEX Application Development"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"APEX Application Development"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92913"
+    ,"displayName":"WebLogic Server Enterprise Edition for OCI Container Engine for Kubernetes"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Development - Java"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2581
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92914"
+    ,"displayName":"WebLogic Server Suite for OCI Container Engine for Kubernetes"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Development - Java"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.4646
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92940"
+    ,"displayName":"Application Performance Monitoring Service - Tracing Data - Free"
+    ,"description":"Always Free, limited to 1000 events per hour."
+    ,"metricName":"1,000 Events Per Hour"
+    ,"serviceCategory":"Observability - APM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92941"
+    ,"displayName":"Application Performance Monitoring Service - Tracing Data"
+    ,"metricName":"100,000 Events Per Hour"
+    ,"serviceCategory":"Observability - APM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.65
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92942"
+    ,"displayName":"Application Performance Monitoring Service -  Synthetic Usage"
+    ,"description":"A minimum of one unit of Application Performance Monitoring Service - Tracing Data (B92941) is required with this service"
+    ,"metricName":"10 Monitor Runs Per Hour"
+    ,"serviceCategory":"Observability - APM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.02
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92962"
+    ,"displayName":"MySQL Database - Standard - E3"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.038
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92963"
+    ,"displayName":"MySQL Database - Standard - E3 - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0022
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92992"
+    ,"displayName":"OCI GoldenGate"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"GoldenGate"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.3441
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B92993"
+    ,"displayName":"OCI GoldenGate - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"GoldenGate"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3226
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93000"
+    ,"displayName":"Infrequent Access Storage - Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Storage - Object Storage"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":10
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.01
+          ,"rangeMin":10
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93001"
+    ,"displayName":"Infrequent Access Storage - Data Retrieval"
+    ,"metricName":"GB Storage Retrieved Per Month"
+    ,"serviceCategory":"Storage - Object Storage"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":10
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.01
+          ,"rangeMin":10
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93004"
+    ,"displayName":"Notifications - SMS Outbound to Country Zone 1"
+    ,"metricName":"Per SMS Message Sent"
+    ,"serviceCategory":"Observability - Notifications"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":100
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.015
+          ,"rangeMin":100
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93005"
+    ,"displayName":"Notifications - SMS Outbound to Country Zone 2"
+    ,"metricName":"Per SMS Message Sent"
+    ,"serviceCategory":"Observability - Notifications"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":100
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.045
+          ,"rangeMin":100
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93006"
+    ,"displayName":"Notifications - SMS Outbound to Country Zone 3"
+    ,"metricName":"Per SMS Message Sent"
+    ,"serviceCategory":"Observability - Notifications"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":100
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.086
+          ,"rangeMin":100
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93007"
+    ,"displayName":"Notifications - SMS Outbound to Country Zone 4"
+    ,"metricName":"Per SMS Message Sent"
+    ,"serviceCategory":"Observability - Notifications"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":100
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.12
+          ,"rangeMin":100
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93008"
+    ,"displayName":"Notifications - SMS Outbound to Country Zone 5"
+    ,"metricName":"Per SMS Message Sent"
+    ,"serviceCategory":"Observability - Notifications"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":100
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.24
+          ,"rangeMin":100
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93030"
+    ,"displayName":"Load Balancer Base"
+    ,"description":"Enter number of Flexible Load Balancer instances. Each month, the first Flexible Load Balancer instance is free. NOTE: OCI Flexible Network Load Balancer is offered at no cost."
+    ,"metricName":"Load Balancer"
+    ,"serviceCategory":"Flexible Load Balancer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":744
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0113
+          ,"rangeMin":744
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93031"
+    ,"displayName":"Load Balancer Bandwidth"
+    ,"description":"Enter estimated cumulative bandwidth for all Load Balancer instances.\nEach month, the first 10 Mbps per hour is free."
+    ,"metricName":"Mbps Per Hour"
+    ,"serviceCategory":"Flexible Load Balancer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":7440
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0001
+          ,"rangeMin":7440
+          ,"rangeMax":999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93039"
+    ,"displayName":"Roving Edge Device - Compute Optimized - Standard"
+    ,"metricName":"Resource Possession Per Day"
+    ,"serviceCategory":"Roving Edge Infrastructure"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":160
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93040"
+    ,"displayName":"Roving Edge Device - Compute Optimized - Unreturnable or Loss Fee"
+    ,"metricName":"Each"
+    ,"serviceCategory":"Roving Edge Infrastructure"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":45000
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93041"
+    ,"displayName":"Roving Edge Cluster Kit - Unreturnable or Loss Fee"
+    ,"metricName":"Each"
+    ,"serviceCategory":"Roving Edge Infrastructure"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":12000
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93082"
+    ,"displayName":"Database Management - External DB BYOL"
+    ,"metricName":"Host CPU Core Per Hour"
+    ,"serviceCategory":"Database - Database Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.025
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93083"
+    ,"displayName":"Database Management - External DB"
+    ,"metricName":"Host CPU Core Per Hour"
+    ,"serviceCategory":"Database - Database Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.05
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93113"
+    ,"displayName":"Compute - Standard - E4 - OCPU"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.025
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93114"
+    ,"displayName":"Compute - Standard - E4  - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93121"
+    ,"displayName":"Compute - Dense I\/O - E4 - OCPU"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.025
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93122"
+    ,"displayName":"Compute - Dense I\/O - E4 - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93123"
+    ,"displayName":"Compute - Dense I\/O - E4 - NVMe"
+    ,"metricName":"NVMe Terabyte Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0612
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93126"
+    ,"displayName":"OCI - FastConnect 100 Gbps"
+    ,"metricName":"Port Hour"
+    ,"serviceCategory":"Networking - FastConnect"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":10.75
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93199"
+    ,"displayName":"OCI Database Migration"
+    ,"metricName":"Migration Hour"
+    ,"serviceCategory":"Database - Database Migration"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93288"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO2.52 - Hourly Commit"
+    ,"description":"Minimum duration: 8 hours. Minimum configuration: 3 BM hosts, 52 OCPUs each, total 156 OCPUs. Additional hosts with 52 OCPUs each can be added."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2437
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93289"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO2.52 - 1 Year Commit"
+    ,"description":"Minimum duration: 1 Year. Minimum configuration: 3 BM hosts, 52 OCPUs each, total 156 OCPUs. Additional hosts with 52 OCPUs each can be added."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1625
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93290"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO2.52 - 3 Year Commit"
+    ,"description":"Minimum duration: 3 Years. Minimum configuration: 3 BM hosts, 52 OCPUs each, total 156 OCPUs. Additional hosts with 52 OCPUs each can be added."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.132
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93297"
+    ,"displayName":"Compute - Standard - A1 - OCPU"
+    ,"description":"In Oracle\uFFFDs ARM compute shapes, OCPUs equate to vCPUs."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":3000
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.01
+          ,"rangeMin":3000
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93298"
+    ,"displayName":"Compute - Standard - A1 - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":18000
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0015
+          ,"rangeMin":18000
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93306"
+    ,"displayName":"OCI Data Integration - Pipeline Operator Execution"
+    ,"metricName":"Execution Hour"
+    ,"serviceCategory":"Data Integration - Pipeline Operator Execution"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":30
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3
+          ,"rangeMin":30
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93307"
+    ,"displayName":"Autonomous JSON Database - Free"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous JSON Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93311"
+    ,"displayName":"Compute - Optimized - X9 - OCPU"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.054
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93312"
+    ,"displayName":"Compute - Optimized - X9 - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93320"
+    ,"displayName":"Oracle APEX Application Development - Free"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"APEX Application Development"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93380"
+    ,"displayName":"Exadata Cloud Infrastructure - Quarter Rack - X9M"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X9M"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":14.5162
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93381"
+    ,"displayName":"Exadata Cloud Infrastructure - Database Server - X9M"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X9M"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2.9032
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93382"
+    ,"displayName":"Exadata Cloud Infrastructure - Storage Server - X9M"
+    ,"metricName":"Hosted Environment Per Hour"
+    ,"serviceCategory":"Exadata Cloud Infrastructure X9M"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2.9032
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93411"
+    ,"displayName":"Oracle Content Management - Starter Edition"
+    ,"metricName":"5,000 Assets Per Month"
+    ,"serviceCategory":"Content Management - Content Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":1
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":75
+          ,"rangeMin":1
+          ,"rangeMax":3
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":400
+          ,"rangeMin":3
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93421"
+    ,"displayName":"Oracle Cloud VMware Solution - HCX Enterprise - Monthly"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0126
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93423"
+    ,"displayName":"OCI - AI Services - Language - Pre-trained Inferencing"
+    ,"description":"Enter a value in block of 1000 Transactions, round up to nearest 1000. eg. Enter 8 for 8000 Transactions.  (1 Transaction equals 1 API detect call)\nEach month, first 5000 Transactions(ie 5 blocks of 1000 Transactions) are free."
+    ,"metricName":"1,000 Transactions"
+    ,"serviceCategory":"OCI Language"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":5
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.25
+          ,"rangeMin":5
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93426"
+    ,"displayName":"Database Management - Cloud Databases"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Database Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.05
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93455"
+    ,"displayName":"Outbound Data Transfer - Originating in APAC, Japan, and South America"
+    ,"metricName":"Gigabyte Outbound Data Transfer Per Month"
+    ,"serviceCategory":"Networking - Virtual Cloud Networks"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":10240
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.025
+          ,"rangeMin":10240
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93456"
+    ,"displayName":"Outbound Data Transfer - Originating in Middle East and Africa"
+    ,"metricName":"Gigabyte Outbound Data Transfer Per Month"
+    ,"serviceCategory":"Networking - Virtual Cloud Networks"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":10240
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.05
+          ,"rangeMin":10240
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93493"
+    ,"displayName":"Identity and Access Management - External User"
+    ,"metricName":"User Per Month"
+    ,"serviceCategory":"OCI IAM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.016
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93494"
+    ,"displayName":"Identity and Access Management - Oracle Apps Premium"
+    ,"metricName":"User Per Month"
+    ,"serviceCategory":"OCI IAM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.25
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93495"
+    ,"displayName":"Identity and Access Management - Premium"
+    ,"metricName":"User Per Month"
+    ,"serviceCategory":"OCI IAM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":3.2
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93496"
+    ,"displayName":"Identity and Access Management - SMS"
+    ,"metricName":"1 SMS Message Sent"
+    ,"serviceCategory":"OCI IAM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":1000
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.03
+          ,"rangeMin":1000
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93497"
+    ,"displayName":"Identity and Access Management - Token"
+    ,"metricName":"Token"
+    ,"serviceCategory":"OCI IAM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.004
+          ,"rangeMin":10000
+          ,"rangeMax":999999999999999
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":10000
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93498"
+    ,"displayName":"Identity and Access Management - Replication"
+    ,"metricName":"User Per Month"
+    ,"serviceCategory":"OCI IAM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.004
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93545"
+    ,"displayName":"OCI Anomaly Detection"
+    ,"description":"Enter a value in block of 1000 Transactions, round up to nearest 1000. eg. Enter 8 for 8000 Transactions.  (1 Transaction equals 1 API detect call)\nEach month, first 1000 Transactions are free."
+    ,"metricName":"1,000 Transactions"
+    ,"serviceCategory":"OCI Anomaly Detection"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":1
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.25
+          ,"rangeMin":1
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93546"
+    ,"displayName":"MySQL Database for HeatWave - Bare Metal Standard"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2.2144
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93555"
+    ,"displayName":"Oracle Big Data Service"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Big Data Service"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93705"
+    ,"displayName":"Operations Insights for Warehouse - Extract"
+    ,"metricName":"Gigabyte Per Month"
+    ,"serviceCategory":"Observability - Operations Insights"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93706"
+    ,"displayName":"Operations Insights for Warehouse - Instance"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Observability - Operations Insights"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.5377
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93709"
+    ,"displayName":"OCI Search with OpenSearch HA"
+    ,"description":"Select 1 for an HA cluster with 3 data nodes.  Note: Include Compute VM, Memory, Block and Object storage for a complete estimate"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Search Service with OpenSearch"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.25
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93710"
+    ,"displayName":"Oracle NoSQL Database Cloud - Write - Auto"
+    ,"metricName":"Write Unit Per Month"
+    ,"serviceCategory":"Database - NoSQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":3.135
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93711"
+    ,"displayName":"Oracle NoSQL Database Cloud - Read - Auto"
+    ,"metricName":"Read Unit Per Month"
+    ,"serviceCategory":"Database - NoSQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.16
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B93712"
+    ,"displayName":"Oracle NoSQL Database Cloud - Hosted Environment"
+    ,"metricName":"Hosted Environment Per Month"
+    ,"serviceCategory":"Database - NoSQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":28796
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B94173"
+    ,"displayName":"Oracle Threat Intelligence Service"
+    ,"metricName":"API Calls"
+    ,"serviceCategory":"Security - Threat Intelligence"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B94176"
+    ,"displayName":"Compute - Standard - X9 - OCPU"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.04
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B94177"
+    ,"displayName":"Compute - Standard - X9 - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B94277"
+    ,"displayName":"Web Application Firewall - Requests"
+    ,"metricName":"1,000,000 Incoming Requests Per Month"
+    ,"serviceCategory":"WAF"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":10
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.6
+          ,"rangeMin":10
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B94282"
+    ,"displayName":"Data Labeling"
+    ,"metricName":"Annotated Data Record"
+    ,"serviceCategory":"OCI Data Labeling"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":1000
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0002
+          ,"rangeMin":1000
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B94568"
+    ,"displayName":"Oracle Analytics Server for OCI"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Analytics"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.75
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B94579"
+    ,"displayName":"Web Application Firewall - Instance"
+    ,"metricName":"Instance Per Month"
+    ,"serviceCategory":"WAF"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":1
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":5
+          ,"rangeMin":1
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B94896"
+    ,"displayName":"Speech"
+    ,"description":"Enter number of hours to be transcribed.  Actual billing is done on a per second basis."
+    ,"metricName":"Transcription Hour"
+    ,"serviceCategory":"OCI Speech"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":5
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.5
+          ,"rangeMin":5
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B94973"
+    ,"displayName":"Vision - Image Analysis"
+    ,"description":"Detect objects or classify images (pretrained and custom)"
+    ,"metricName":"1,000 Transactions"
+    ,"serviceCategory":"OCI Vision"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":5
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.25
+          ,"rangeMin":5
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B94974"
+    ,"displayName":"Vision - OCR"
+    ,"description":"Extract text from images and documents (pretrained)"
+    ,"metricName":"1,000 Transactions"
+    ,"serviceCategory":"OCI Vision"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":5
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1
+          ,"rangeMin":5
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B94977"
+    ,"displayName":"Vision - Custom Training"
+    ,"description":"Training hours used to train a custom model"
+    ,"metricName":"Training Hour"
+    ,"serviceCategory":"OCI Vision"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.5
+          ,"rangeMin":15
+          ,"rangeMax":999999999999999
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":15
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95178"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.64 - Hourly Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2437
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95179"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.64 - Monthly Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2031
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95180"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.64 - 1 year Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1625
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95181"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.64 - 3 year Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.132
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95228"
+    ,"displayName":"Roving Edge Ultra"
+    ,"metricName":"Resource Possession Per Day"
+    ,"serviceCategory":"Roving Edge Infrastructure"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":45
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95229"
+    ,"displayName":"Roving Edge Ultra Non-Return or Loss Fee"
+    ,"metricName":"Each"
+    ,"serviceCategory":"Roving Edge Infrastructure"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":35000
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95240"
+    ,"displayName":"Oracle Database Autonomous Recovery Service"
+    ,"metricName":"Virtualized GB Per Month"
+    ,"serviceCategory":"Oracle Database Autonomous Recovery Service"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0306
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95241"
+    ,"displayName":"Oracle Database Zero Data Loss Autonomous Recovery Service"
+    ,"metricName":"Virtualized GB Per Month"
+    ,"serviceCategory":"Oracle Database Autonomous Recovery Service"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.04
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95264"
+    ,"displayName":"Oracle Cloud Infrastructure Application Performance Monitoring Service - Stack Monitoring - Standard Edition"
+    ,"metricName":"10 Monitored Resources Per Hour"
+    ,"serviceCategory":"Observability - APM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.075
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95279"
+    ,"displayName":"Media Services - Media Flow - Standard - H264 - SD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.001
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95280"
+    ,"displayName":"Media Services - Media Flow - Standard - H264 - SD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.002
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95281"
+    ,"displayName":"Media Services - Media Flow - Standard - H264 - SD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.003
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95282"
+    ,"displayName":"Media Services - Media Flow - Standard - H264 - HD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.003
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95283"
+    ,"displayName":"Media Services - Media Flow - Standard - H264 - HD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.004
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95284"
+    ,"displayName":"Media Services - Media Flow - Standard - H264 - HD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.01
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95285"
+    ,"displayName":"Media Services - Media Flow - Standard - H264 - 4k - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95286"
+    ,"displayName":"Media Services - Media Flow - Standard - H264 - 4k - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.018
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95287"
+    ,"displayName":"Media Services - Media Flow - Standard - H264 - 4k - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.036
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95288"
+    ,"displayName":"Media Services - Media Flow - Standard - VP8 - SD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.003
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95289"
+    ,"displayName":"Media Services - Media Flow - Standard - VP8 - SD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.004
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95290"
+    ,"displayName":"Media Services - Media Flow - Standard - VP8 - SD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.007
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95291"
+    ,"displayName":"Media Services - Media Flow - Standard - VP8 - HD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.008
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95292"
+    ,"displayName":"Media Services - Media Flow - Standard - VP8 - HD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.01
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95293"
+    ,"displayName":"Media Services - Media Flow - Standard - VP8 - HD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95294"
+    ,"displayName":"Media Services - Media Flow - Standard - VP8 - 4k - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.036
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95295"
+    ,"displayName":"Media Services - Media Flow - Standard - VP8 - 4k - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.04
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95296"
+    ,"displayName":"Media Services - Media Flow - Standard - VP8 - 4k - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.05
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95297"
+    ,"displayName":"Media Services - Media Flow - Standard - H265VP9 - SD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.005
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95298"
+    ,"displayName":"Media Services - Media Flow - Standard - H265VP9 - SD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.007
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95299"
+    ,"displayName":"Media Services - Media Flow - Standard - H265VP9 - SD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.012
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95300"
+    ,"displayName":"Media Services - Media Flow - Standard - H265VP9 - HD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.01
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95301"
+    ,"displayName":"Media Services - Media Flow - Standard - H265VP9 - HD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.02
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95302"
+    ,"displayName":"Media Services - Media Flow - Standard - H265VP9 - HD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.03
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95303"
+    ,"displayName":"Media Services - Media Flow - Standard - H265VP9 - 4k - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.026
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95304"
+    ,"displayName":"Media Services - Media Flow - Standard - H265VP9 - 4k - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.05
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95305"
+    ,"displayName":"Media Services - Media Flow - Standard - H265VP9 - 4k - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.063
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95306"
+    ,"displayName":"Media Services - Media Flow - Speed - H264 - SD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.002
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95307"
+    ,"displayName":"Media Services - Media Flow - Speed - H264 - SD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.003
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95308"
+    ,"displayName":"Media Services - Media Flow - Speed - H264 - SD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.004
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95309"
+    ,"displayName":"Media Services - Media Flow - Speed - H264 - HD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.004
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95310"
+    ,"displayName":"Media Services - Media Flow - Speed - H264 - HD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.005
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95311"
+    ,"displayName":"Media Services - Media Flow - Speed - H264 - HD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.012
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95312"
+    ,"displayName":"Media Services - Media Flow - Speed - H264 - 4k - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.018
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95313"
+    ,"displayName":"Media Services - Media Flow - Speed - H264 - 4k - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.02
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95314"
+    ,"displayName":"Media Services - Media Flow - Speed - H264 - 4k - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.04
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95315"
+    ,"displayName":"Media Services - Media Flow - Speed - VP8 - SD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.005
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95316"
+    ,"displayName":"Media Services - Media Flow - Speed - VP8 - SD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.006
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95317"
+    ,"displayName":"Media Services - Media Flow - Speed - VP8 - SD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.008
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95318"
+    ,"displayName":"Media Services - Media Flow - Speed - VP8 - HD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.012
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95319"
+    ,"displayName":"Media Services - Media Flow - Speed - VP8 - HD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95320"
+    ,"displayName":"Media Services - Media Flow - Speed - VP8 - HD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.018
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95321"
+    ,"displayName":"Media Services - Media Flow - Speed - VP8 - 4k - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.048
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95322"
+    ,"displayName":"Media Services - Media Flow - Speed - VP8 - 4k - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.05
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95323"
+    ,"displayName":"Media Services - Media Flow - Speed - VP8 - 4k - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.06
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95324"
+    ,"displayName":"Media Services - Media Flow - Speed - H265VP9 - SD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.006
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95325"
+    ,"displayName":"Media Services - Media Flow - Speed - H265VP9 - SD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.008
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95326"
+    ,"displayName":"Media Services - Media Flow - Speed - H265VP9 - SD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95327"
+    ,"displayName":"Media Services - Media Flow - Speed - H265VP9 - HD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.012
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95328"
+    ,"displayName":"Media Services - Media Flow - Speed - H265VP9 - HD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.025
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95329"
+    ,"displayName":"Media Services - Media Flow - Speed - H265VP9 - HD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.036
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95330"
+    ,"displayName":"Media Services - Media Flow - Speed - H265VP9 - 4k - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.05
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95331"
+    ,"displayName":"Media Services - Media Flow - Speed - H265VP9 - 4k - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.06
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95332"
+    ,"displayName":"Media Services - Media Flow - Speed - H265VP9 - 4k - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.075
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95333"
+    ,"displayName":"Media Services - Media Flow - Quality - H264 - SD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.003
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95334"
+    ,"displayName":"Media Services - Media Flow - Quality - H264 - SD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.004
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95335"
+    ,"displayName":"Media Services - Media Flow - Quality - H264 - SD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.005
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95336"
+    ,"displayName":"Media Services - Media Flow - Quality - H264 - HD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.005
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95337"
+    ,"displayName":"Media Services - Media Flow - Quality - H264 - HD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.006
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95338"
+    ,"displayName":"Media Services - Media Flow - Quality - H264 - HD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95339"
+    ,"displayName":"Media Services - Media Flow - Quality - H264 - 4k - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.024
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95340"
+    ,"displayName":"Media Services - Media Flow - Quality - H264 - 4k - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.03
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95341"
+    ,"displayName":"Media Services - Media Flow - Quality - H264 - 4k - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.05
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95342"
+    ,"displayName":"Media Services - Media Flow - Quality - VP8 - SD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.006
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95343"
+    ,"displayName":"Media Services - Media Flow - Quality - VP8 - SD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.008
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95344"
+    ,"displayName":"Media Services - Media Flow - Quality - VP8 - SD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.01
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95345"
+    ,"displayName":"Media Services - Media Flow - Quality - VP8 - HD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95346"
+    ,"displayName":"Media Services - Media Flow - Quality - VP8 - HD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.018
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95347"
+    ,"displayName":"Media Services - Media Flow - Quality - VP8 - HD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.02
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95348"
+    ,"displayName":"Media Services - Media Flow - Quality - VP8 - 4k - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.054
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95349"
+    ,"displayName":"Media Services - Media Flow - Quality - VP8 - 4k - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.06
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95350"
+    ,"displayName":"Media Services - Media Flow - Quality - VP8 - 4k - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.07
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95351"
+    ,"displayName":"Media Services - Media Flow - Quality - H265VP9 - SD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.03
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95352"
+    ,"displayName":"Media Services - Media Flow - Quality - H265VP9 - SD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.045
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95353"
+    ,"displayName":"Media Services - Media Flow - Quality - H265VP9 - SD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.06
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95354"
+    ,"displayName":"Media Services - Media Flow - Quality - H265VP9 - HD - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.06
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95355"
+    ,"displayName":"Media Services - Media Flow - Quality - H265VP9 - HD - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.09
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95356"
+    ,"displayName":"Media Services - Media Flow - Quality - H265VP9 - HD - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.12
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95357"
+    ,"displayName":"Media Services - Media Flow - Quality - H265VP9 - 4k - Below 30fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.12
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95358"
+    ,"displayName":"Media Services - Media Flow - Quality - H265VP9 - 4k - Above 30fps and Below 60fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.18
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95359"
+    ,"displayName":"Media Services - Media Flow - Quality - H265VP9 - 4k - Above 60fps and Below 120fps"
+    ,"metricName":"Minute of Output Media Content"
+    ,"serviceCategory":"Media Services - Media Flow"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.24
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95375"
+    ,"displayName":"Media Services - Media Streams"
+    ,"metricName":"GB of packaged content"
+    ,"serviceCategory":"Media Services - Media Streams"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.05
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95403"
+    ,"displayName":"Network Firewall Instance"
+    ,"description":"Enter the number of Network Firewall Instances"
+    ,"metricName":"Instance Per Hour"
+    ,"serviceCategory":"Network Firewall"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2.75
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95404"
+    ,"displayName":"Network Firewall Data Processing"
+    ,"description":"Enter the estimated cumulative data processed for all Network Firewall Instances.  Each month, the first 10TB is free."
+    ,"metricName":"Gigabyte (GB) of Data Processed"
+    ,"serviceCategory":"Network Firewall"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":10240
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.01
+          ,"rangeMin":10240
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95410"
+    ,"displayName":"Oracle ZFS Storage - High Availability"
+    ,"metricName":"Instance Per Hour"
+    ,"serviceCategory":"ZFS Storage"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.85
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95411"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.32 - Hourly Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3047
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95412"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.32 - Monthly Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2539
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95413"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.32 - 1 year Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2031
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95414"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.32 - 3 year Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.165
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95415"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.128 - Hourly Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.195
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95416"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.128 - Monthly Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1625
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95417"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.128 - 1 year Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.13
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95418"
+    ,"displayName":"Oracle Cloud VMware Solution - BM.DenseIO.E4.128 - 3 year Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1056
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95422"
+    ,"displayName":"Oracle Content Management - Video Creation Platform"
+    ,"metricName":"Video Pack (500 Videos - 500 GB) Per Month"
+    ,"serviceCategory":"Content Management - Content Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":750
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95427"
+    ,"displayName":"MySQL Database - AWS - Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - MySQL HeatWave on AWS"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.132
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95428"
+    ,"displayName":"MySQL Database - AWS - Backup Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - MySQL HeatWave on AWS"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0476
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95435"
+    ,"displayName":"MySQL Database - Standard - AMD E4 - Compute"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.038
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95436"
+    ,"displayName":"MySQL Database - Standard - AMD E4 - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0022
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95437"
+    ,"displayName":"MySQL Database - Standard - Intel X7 - Compute"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.062
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95438"
+    ,"displayName":"MySQL Database - Standard - Intel X7 - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0022
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95439"
+    ,"displayName":"MySQL Database - Standard - Intel X9 - Compute"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.062
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95440"
+    ,"displayName":"MySQL Database - Standard - Intel X9 - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0022
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95441"
+    ,"displayName":"MySQL Database - Optimized - Intel X9 - Compute"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.082
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95442"
+    ,"displayName":"MySQL Database - Optimized - Intel X9 - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Database - MySQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0022
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95485"
+    ,"displayName":"OCI Full Stack Disaster Recovery Service"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Full Stack Disaster Recovery"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0128
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95504"
+    ,"displayName":"Process Automation - User"
+    ,"metricName":"Active Process User Per Hour"
+    ,"serviceCategory":"Process Automation"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95505"
+    ,"displayName":"Process Automation - Execution Pack"
+    ,"metricName":"Execution Pack Per Month"
+    ,"serviceCategory":"Process Automation"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":1
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":125
+          ,"rangeMin":1
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95518"
+    ,"displayName":"Secure Desktop"
+    ,"metricName":"Desktop Per Month"
+    ,"serviceCategory":"Secure Desktops"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":5
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95634"
+    ,"displayName":"Logging Analytics - Active Storage"
+    ,"description":"First 10 gigabytes of log storage are free"
+    ,"metricName":"Logging Analytics Storage Unit Per Month"
+    ,"serviceCategory":"Observability - Logging Analytics"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":372
+          ,"rangeMin":0
+          ,"rangeMax":35
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":260.4
+          ,"rangeMin":35
+          ,"rangeMax":103
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":223.2
+          ,"rangeMin":103
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95697"
+    ,"displayName":"OCI Queue"
+    ,"metricName":"1,000,000 Requests"
+    ,"serviceCategory":"OCI Queue"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":1
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.22
+          ,"rangeMin":1
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95701"
+    ,"displayName":"Oracle Autonomous Data Warehouse - ECPU"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.336
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95702"
+    ,"displayName":"Oracle Autonomous Transaction Processing - ECPU"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.336
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95703"
+    ,"displayName":"Oracle Autonomous Data Warehouse - ECPU - BYOL"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0807
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95704"
+    ,"displayName":"Oracle Autonomous Transaction Processing - ECPU - BYOL"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0807
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95706"
+    ,"displayName":"Oracle Autonomous Database Storage for Transaction Processing"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1156
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95708"
+    ,"displayName":"Oracle Autonomous Data Warehouse - Exadata Cloud@Customer - ECPU"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.336
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95709"
+    ,"displayName":"Oracle Autonomous Transaction Processing - Exadata Cloud@Customer - ECPU - ECPU Per Hour"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.336
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95710"
+    ,"displayName":"Oracle Autonomous Data Warehouse - Exadata Cloud@Customer - ECPU - BYOL - ECPU Per Hour"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0807
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95711"
+    ,"displayName":"Oracle Autonomous Transaction Processing - Exadata Cloud@Customer - ECPU - BYOL - ECPU Per Hour"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Exadata Database - Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0807
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95712"
+    ,"displayName":"Oracle Autonomous Data Warehouse - Dedicated - ECPU"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.336
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95713"
+    ,"displayName":"Oracle Autonomous Transaction Processing - Dedicated - ECPU"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.336
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95714"
+    ,"displayName":"Oracle Autonomous Data Warehouse - Dedicated - ECPU - BYOL"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0807
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95715"
+    ,"displayName":"Oracle Autonomous Transaction Processing - Dedicated - ECPU - BYOL"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0807
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95754"
+    ,"displayName":"Oracle Autonomous Database Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - Autonomous Database"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0244
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95907"
+    ,"displayName":"Compute - GPU - A100 - v2"
+    ,"metricName":"GPU Per Hour"
+    ,"serviceCategory":"Compute - GPU"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":4
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95909"
+    ,"displayName":"Compute  - GPU - A10"
+    ,"metricName":"GPU Per Hour"
+    ,"serviceCategory":"Compute - GPU"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95918"
+    ,"displayName":"OCI - Language - Custom Inferencing - Dedicated"
+    ,"metricName":"Inferencing Unit Hour"
+    ,"serviceCategory":"OCI Language"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":15
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.5
+          ,"rangeMin":15
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95919"
+    ,"displayName":"OCI - Language - Custom Training"
+    ,"metricName":"Training Hour"
+    ,"serviceCategory":"OCI Language"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":15
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.5
+          ,"rangeMin":15
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B95920"
+    ,"displayName":"OCI - Language - Text Translation"
+    ,"metricName":"1,000 Transactions"
+    ,"serviceCategory":"OCI Language"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":1
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":10
+          ,"rangeMin":1
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96109"
+    ,"displayName":"Oracle Container Engine for Kubernetes - Virtual Node"
+    ,"metricName":"Virtual Node Per Hour"
+    ,"serviceCategory":"Container Engine for Kubernetes (OKE)"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.015
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96110"
+    ,"displayName":"OCI - Document Understanding - OCR"
+    ,"metricName":"1,000 Transactions"
+    ,"serviceCategory":"OCI Document Understanding"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":5
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1
+          ,"rangeMin":5
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96111"
+    ,"displayName":"OCI - Document Understanding - Document Properties"
+    ,"metricName":"1,000 Transactions"
+    ,"serviceCategory":"OCI Document Understanding"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":5
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.25
+          ,"rangeMin":5
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96112"
+    ,"displayName":"OCI - Document Understanding - Document Extraction"
+    ,"metricName":"1,000 Transactions"
+    ,"serviceCategory":"OCI Document Understanding"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":5
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":10
+          ,"rangeMin":5
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96113"
+    ,"displayName":"OCI - Document Understanding - Custom Training"
+    ,"metricName":"Training Hour"
+    ,"serviceCategory":"OCI Document Understanding"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":15
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.5
+          ,"rangeMin":15
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96157"
+    ,"displayName":"MySQL HeatWave - AWS"
+    ,"metricName":"HeatWave Capacity Per Hour"
+    ,"serviceCategory":"Database - MySQL HeatWave on AWS"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.049
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96158"
+    ,"displayName":"MySQL Database - AWS - ECPU"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - MySQL HeatWave on AWS"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.049
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96159"
+    ,"displayName":"MySQL Database - AWS - Outbound Data Transfer - Inter AWS Region"
+    ,"metricName":"Gigabyte of Data Transferred"
+    ,"serviceCategory":"Database - MySQL HeatWave on AWS"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0504
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96160"
+    ,"displayName":"MySQL Database - AWS - Outbound Data Transfer - To Internet"
+    ,"metricName":"Gigabyte of Data Transferred"
+    ,"serviceCategory":"Database - MySQL HeatWave on AWS"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0911
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96199"
+    ,"displayName":"Operations Insights for Oracle Autonomous Databases - Basic"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Observability - Operations Insights"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96200"
+    ,"displayName":"Database Management - Autonomous Databases - ECPU"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Database - Database Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.025
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96479"
+    ,"displayName":"Oracle Compute Cloud@Customer - Compute - Standard - E5"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.03
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96480"
+    ,"displayName":"Oracle Compute Cloud@Customer - Compute - Standard - E5 - Memory"
+    ,"metricName":"Gibibyte Memory Per Hour"
+    ,"serviceCategory":"Compute Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.002
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96481"
+    ,"displayName":"Oracle Compute Cloud@Customer - Block Volume Storage - Balanced"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Compute Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0425
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96482"
+    ,"displayName":"Oracle Compute Cloud@Customer - Block Volume Storage - Performance"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Compute Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0595
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96483"
+    ,"displayName":"Oracle Compute Cloud@Customer - File Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Compute Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.3
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96484"
+    ,"displayName":"Oracle Compute Cloud@Customer - Object Storage - Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Compute Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0255
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96485"
+    ,"displayName":"Oracle Compute Cloud@Customer - Load Balancer"
+    ,"metricName":"Load Balancer Hour"
+    ,"serviceCategory":"Compute Cloud@Customer"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0113
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96502"
+    ,"displayName":"Oracle Content Management - Advanced Hosting"
+    ,"metricName":"Instance Per Month"
+    ,"serviceCategory":"Content Management - Content Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":5200
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96531"
+    ,"displayName":"OCI - Compute - HPC - E5"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Bare Metal"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.044
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96545"
+    ,"displayName":"Oracle Container Engine for Kubernetes - Enhanced Cluster"
+    ,"metricName":"Cluster Per Hour"
+    ,"serviceCategory":"Container Engine for Kubernetes (OKE)"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96582"
+    ,"displayName":"Oracle Tuxedo for OCI"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Development - Tuxedo"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.5433
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96583"
+    ,"displayName":"Oracle Tuxedo Enterprise Edition for OCI"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Development - Tuxedo"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.8149
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96584"
+    ,"displayName":"Oracle Tuxedo Mainframe Modernization Runtimes for OCI"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Application Development - Tuxedo"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.0866
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96625"
+    ,"displayName":"OCI - HeatWave - Storage"
+    ,"metricName":"Gigabyte Storage Capacity Per Month"
+    ,"serviceCategory":"Database - Object Storage for MySQL HeatWave Lakehouse"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.02
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96626"
+    ,"displayName":"OCI - HeatWave"
+    ,"metricName":"HeatWave Capacity Per Hour"
+    ,"serviceCategory":"Database - HeatWave"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.011
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B96629"
+    ,"displayName":"OCI - Application Performance Monitoring Service - Synthetic Usage - Free"
+    ,"metricName":"10 Monitor Runs Per Hour"
+    ,"serviceCategory":"Observability - APM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97102"
+    ,"displayName":"Oracle Cloud VMware Solution - Base - BM.Standard2.12 - Hourly Commit"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":4.714
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97103"
+    ,"displayName":"Oracle Cloud VMware Solution - Base - BM.Standard2.12 - 1 Year Commit"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":3.7144
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97104"
+    ,"displayName":"Oracle Cloud VMware Solution - Base - BM.Standard2.12 - 3 Year Commit"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2.953
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97105"
+    ,"displayName":"Oracle Cloud VMware Solution - Base - BM.Standard3.16 - Hourly Commit"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":5.554
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97106"
+    ,"displayName":"Oracle Cloud VMware Solution - Base - BM.Standard3.16 - 1 Year Commit"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":4.2943
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97107"
+    ,"displayName":"Oracle Cloud VMware Solution - Base - BM.Standard3.16 - 3 Year Commit"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":3.3522
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97108"
+    ,"displayName":"Oracle Cloud VMware Solution - Base - BM.Standard.E4.32 - Hourly Commit"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":9.2565
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97109"
+    ,"displayName":"Oracle Cloud VMware Solution - Base - BM.Standard.E4.32 - 1 Year Commit"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":6.9223
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97110"
+    ,"displayName":"Oracle Cloud VMware Solution - Base - BM.Standard.E4.32 - 3 Year Commit"
+    ,"metricName":"Node Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":5.2233
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97111"
+    ,"displayName":"Oracle Cloud VMware Solution - Expansion - Hourly Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1605
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97112"
+    ,"displayName":"Oracle Cloud VMware Solution - Expansion - 1 Year Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1092
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97113"
+    ,"displayName":"Oracle Cloud VMware Solution - Expansion - 3 Year Commit"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - VMware"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0739
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97140"
+    ,"displayName":"Operations Insights for Oracle Autonomous Databases - Full"
+    ,"metricName":"ECPU Per Hour"
+    ,"serviceCategory":"Observability - Operations Insights"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0075
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97172"
+    ,"displayName":"Oracle Access Governance for OCI - Workforce User"
+    ,"metricName":"Workforce User Per Month"
+    ,"serviceCategory":"Access Governance"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1
+          ,"rangeMin":0
+          ,"rangeMax":100000
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.005
+          ,"rangeMin":100000
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97173"
+    ,"displayName":"Oracle Access Governance for Oracle Workloads - Workforce User"
+    ,"metricName":"Workforce User Per Month"
+    ,"serviceCategory":"Access Governance"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":2
+          ,"rangeMin":0
+          ,"rangeMax":10000
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.75
+          ,"rangeMin":10000
+          ,"rangeMax":30000
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.1
+          ,"rangeMin":30000
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97179"
+    ,"displayName":"Oracle Access Governance Premium - Consumer User"
+    ,"metricName":"Consumer User Per Month"
+    ,"serviceCategory":"Access Governance"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.016
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97180"
+    ,"displayName":"Oracle Access Governance for Oracle Workloads - Consumer User"
+    ,"metricName":"Consumer User Per Month"
+    ,"serviceCategory":"Access Governance"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.016
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97181"
+    ,"displayName":"Oracle Access Governance Premium - Workforce User"
+    ,"metricName":"Workforce User Per Month"
+    ,"serviceCategory":"Access Governance"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":3
+          ,"rangeMin":0
+          ,"rangeMax":10000
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.13
+          ,"rangeMin":10000
+          ,"rangeMax":30000
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.15
+          ,"rangeMin":30000
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97191"
+    ,"displayName":"Oracle NoSQL Database Cloud - Regional Replicated Write  - Metered"
+    ,"description":"Oracle NoSQL Database Cloud Service makes it easy for developers to build applications using document, fixed schema, and key-value database models, delivering predictable single-digit millisecond response times with data replication for high availability. The service offers active-active regional replication, ACID transactions, serverless scaling, comprehensive security, and low pay-per-use pricing for both on-demand and provisioned capacity modes, including 100% compatibility with on-premises Oracle NoSQL Database."
+    ,"metricName":"Write Unit Per Month"
+    ,"serviceCategory":"Database - NoSQL"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.36
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97193"
+    ,"displayName":"OCI - Document Understanding - Custom Document Properties"
+    ,"metricName":"1,000 Transactions"
+    ,"serviceCategory":"OCI Document Understanding"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":5
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":1.5
+          ,"rangeMin":5
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97194"
+    ,"displayName":"OCI - Document Understanding - Custom Document Extraction"
+    ,"metricName":"1,000 Transactions"
+    ,"serviceCategory":"OCI Document Understanding"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0
+          ,"rangeMin":0
+          ,"rangeMax":5
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":30
+          ,"rangeMin":5
+          ,"rangeMax":999999999999999
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97197"
+    ,"displayName":"Oracle Base Database Service on Arm - Enterprise"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Base Database Service - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.2151
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97198"
+    ,"displayName":"Oracle Base Database Service on Arm - High Performance"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Base Database Service - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.4436
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97199"
+    ,"displayName":"Oracle Base Database Service on Arm - Extreme Performance"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Base Database Service - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.6721
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97200"
+    ,"displayName":"Oracle Base Database Service on Arm - BYOL"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Database - Base Database Service - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0968
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97384"
+    ,"displayName":"Compute - Standard - E5 - OCPU"
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.03
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97385"
+    ,"displayName":"Compute - Standard - E5 - Memory"
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.002
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B97408"
+    ,"displayName":"Oracle Content Management - Sales Accelerator"
+    ,"metricName":"User Per Month"
+    ,"serviceCategory":"Content Management - Content Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":120
+          ,"rangeMin":0
+          ,"rangeMax":100
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":24
+          ,"rangeMin":1000
+          ,"rangeMax":999999999999999
+          }
+        ,{
+            "model":"PAY_AS_YOU_GO"
+          ,"value":60
+          ,"rangeMin":100
+          ,"rangeMax":1000
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B98100"
+    ,"displayName":"OCI - External Key Management"
+    ,"metricName":"Key Version Per Month"
+    ,"serviceCategory":"Security - Key Management"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":3
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B98202"
+    ,"displayName":"Oracle Cloud Infrastructure - Compute - Dense I\/O - E5 OCPU"
+    ,"description":"Oracle Cloud Infrastructure (OCI) provides fast, flexible, and affordable compute capacity to fit any workload need, from high performance bare metal instances and flexible VMs to lightweight containers and serverless computing."
+    ,"metricName":"OCPU Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.03
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B98203"
+    ,"displayName":"Oracle Cloud Infrastructure - Compute - Dense I\/O - E5 Memory"
+    ,"description":"Oracle Cloud Infrastructure (OCI) provides fast, flexible, and affordable compute capacity to fit any workload need, from high performance bare metal instances and flexible VMs to lightweight containers and serverless computing."
+    ,"metricName":"Gigabyte Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.002
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B98204"
+    ,"displayName":"Oracle Cloud Infrastructure - Compute - Dense I\/O - E5 NVMe"
+    ,"description":"Oracle Cloud Infrastructure (OCI) provides fast, flexible, and affordable compute capacity to fit any workload need, from high performance bare metal instances and flexible VMs to lightweight containers and serverless computing."
+    ,"metricName":"NVMe Terabyte Per Hour"
+    ,"serviceCategory":"Compute - Virtual Machine"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0612
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B98217"
+    ,"displayName":"Oracle Cloud Infrastructure - Cache with Redis - Low Memory"
+    ,"description":"Oracle Cloud Infrastructure (OCI) Cache with Redis is a comprehensive, managed in-memory caching solution built on the foundation of open source Redis. This fully managed service accelerates data reads and writes, significantly enhancing application response times and database performance to provide an improved customer experience."
+    ,"metricName":"Redis Memory Gigabyte per Hour"
+    ,"serviceCategory":"Cache with Redis"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0194
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B98415"
+    ,"displayName":"Oracle Cloud Infrastructure - Compute - GPU - H100"
+    ,"description":"Oracle Cloud Infrastructure (OCI) Compute provides bare metal and virtual machine instances powered by NVIDIA GPUs for a variety of use cases, including mainstream graphics and videos as well as the most demanding AI training and HPC workloads. OCI excels at both training time and cost because of its ultralow latency and near line-rate network performance."
+    ,"metricName":"GPU Per Hour"
+    ,"serviceCategory":"Compute - GPU"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":10
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B99259"
+    ,"displayName":"Oracle Cloud Infrastructure - Application Performance Monitoring Service - Stack Monitoring - Enterprise Edition"
+    ,"description":"The centerpiece of Oracle\uFFFDs integrated observability and management solution, Application Performance Monitoring provides observability for end-to-end visibility and diagnosis across the entire IT environment. Using distributed transaction tracing, it connects user experiences with underlying technology to automate problem identification and diagnosis with a business-centric approach."
+    ,"metricName":"10 Monitored Resources Per Hour"
+    ,"serviceCategory":"Observability - APM"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.38
+          }
+        ]
+        }
+      ]
+    }
+  ,{
+      "partNumber":"B99591"
+    ,"displayName":"Oracle Cloud Infrastructure - Cache with Redis - High Memory"
+    ,"description":"Oracle Cloud Infrastructure (OCI) Cache with Redis is a comprehensive, managed in-memory caching solution built on the foundation of open source Redis. This fully managed service accelerates data reads and writes, significantly enhancing application response times and database performance to provide an improved customer experience."
+    ,"metricName":"Redis Memory Gigabyte per Hour"
+    ,"serviceCategory":"Cache with Redis"
+    ,"currencyCodeLocalizations":[
+        {
+          "currencyCode":"USD"
+        ,"prices":[
+          {
+            "model":"PAY_AS_YOU_GO"
+          ,"value":0.0136
+          }
+        ]
+        }
+      ]
+    }
+  ]
+}

+ 13 - 1
pkg/cloud/provider/provider.go

@@ -13,6 +13,7 @@ import (
 	"github.com/opencost/opencost/pkg/cloud/azure"
 	"github.com/opencost/opencost/pkg/cloud/gcp"
 	"github.com/opencost/opencost/pkg/cloud/models"
+	"github.com/opencost/opencost/pkg/cloud/oracle"
 	"github.com/opencost/opencost/pkg/cloud/scaleway"
 
 	"github.com/opencost/opencost/core/pkg/opencost"
@@ -239,7 +240,15 @@ func NewProvider(cache clustercache.ClusterCache, apiKey string, config *config.
 			ClusterAccountID: cp.accountID,
 			Config:           NewProviderConfig(config, cp.configFileName),
 		}, nil
-
+	case opencost.OracleProvider:
+		log.Info("Found ProviderID starting with \"oracle\", using Oracle Provider")
+		return &oracle.Oracle{
+			Clientset:            cache,
+			Config:               NewProviderConfig(config, cp.configFileName),
+			ClusterRegion:        cp.region,
+			ClusterAccountID:     cp.accountID,
+			ServiceAccountChecks: models.NewServiceAccountChecks(),
+		}, nil
 	default:
 		log.Info("Unsupported provider, falling back to default")
 		return &CustomProvider{
@@ -287,6 +296,9 @@ func getClusterProperties(node *v1.Node) clusterProperties {
 	} else if strings.Contains(node.Status.NodeInfo.KubeletVersion, "aliyun") { // provider ID is not prefix with any distinct keyword like other providers
 		cp.provider = opencost.AlibabaProvider
 		cp.configFileName = "alibaba.json"
+	} else if strings.HasPrefix(providerID, "ocid") {
+		cp.provider = opencost.OracleProvider
+		cp.configFileName = "oracle.json"
 	}
 	if env.IsUseCSVProvider() {
 		cp.provider = opencost.CSVProvider

+ 3 - 0
pkg/cloud/provider/providerconfig.go

@@ -14,6 +14,7 @@ import (
 	"github.com/opencost/opencost/pkg/cloud/azure"
 	"github.com/opencost/opencost/pkg/cloud/gcp"
 	"github.com/opencost/opencost/pkg/cloud/models"
+	"github.com/opencost/opencost/pkg/cloud/oracle"
 	"github.com/opencost/opencost/pkg/cloud/utils"
 	"github.com/opencost/opencost/pkg/config"
 	"github.com/opencost/opencost/pkg/env"
@@ -317,6 +318,8 @@ func ExtractConfigFromProviders(prov models.Provider) models.ProviderConfig {
 		return p.Config
 	case *alibaba.Alibaba:
 		return p.Config
+	case *oracle.Oracle:
+		return p.Config
 	default:
 		log.Errorf("failed to extract config from provider")
 		return nil

+ 6 - 0
pkg/env/costmodelenv.go

@@ -121,6 +121,8 @@ const (
 	CloudCostRefreshRateHoursEnvVar = "CLOUD_COST_REFRESH_RATE_HOURS"
 	CloudCostQueryWindowDaysEnvVar  = "CLOUD_COST_QUERY_WINDOW_DAYS"
 	CloudCostRunWindowDaysEnvVar    = "CLOUD_COST_RUN_WINDOW_DAYS"
+
+	OCIPricingURL = "OCI_PRICING_URL"
 )
 
 const DefaultConfigMountPath = "/var/configs"
@@ -644,3 +646,7 @@ func GetCloudCostQueryWindowDays() int64 {
 func GetCloudCostRunWindowDays() int64 {
 	return env.GetInt64(CloudCostRunWindowDaysEnvVar, 3)
 }
+
+func GetOCIPricingURL() string {
+	return env.Get(OCIPricingURL, "https://apexapps.oracle.com/pls/apex/cetools/api/v1/products")
+}