oci-pricing-mcp 1.2.2 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,385 @@
1
+ /**
2
+ * OCI Services Tools
3
+ * Tools for AI/ML, Observability, Integration, Security, Analytics, Developer, Media, VMware, Edge, and Governance services
4
+ */
5
+ import { getAIMLPricing, getObservabilityPricing, getIntegrationPricing, getSecurityPricing, getAnalyticsPricing, getDeveloperPricing, getMediaPricing, getVMwarePricing, getEdgePricing, getGovernancePricing, getExadataPricing, getCachePricing, getDisasterRecoveryPricing, getAdditionalServicesPricing, getServiceCategoryCounts, getLastUpdated } from '../data/fetcher.js';
6
+ export function listAIMLServices(params = {}) {
7
+ let pricing = getAIMLPricing(params.type);
8
+ // Filter by model if specified
9
+ if (params.model) {
10
+ const modelLower = params.model.toLowerCase();
11
+ pricing = pricing.filter(p => p.model?.toLowerCase().includes(modelLower) ||
12
+ p.name.toLowerCase().includes(modelLower));
13
+ }
14
+ // Group by type
15
+ const byType = {};
16
+ pricing.forEach(p => {
17
+ if (!byType[p.type])
18
+ byType[p.type] = [];
19
+ byType[p.type].push(p);
20
+ });
21
+ return {
22
+ services: pricing,
23
+ totalCount: pricing.length,
24
+ byType: Object.entries(byType).map(([type, items]) => ({
25
+ type,
26
+ count: items.length,
27
+ items: items.slice(0, 5) // Show first 5 per type
28
+ })),
29
+ lastUpdated: getLastUpdated(),
30
+ availableTypes: [...new Set(pricing.map(p => p.type))],
31
+ availableModels: [...new Set(pricing.filter(p => p.model).map(p => p.model))],
32
+ notes: [
33
+ 'Generative AI supports Cohere, Meta Llama, and xAI Grok models',
34
+ 'Pricing varies by model size and deployment type (on-demand vs dedicated)',
35
+ 'Vision, Speech, Language, and Document Understanding use transaction-based pricing'
36
+ ]
37
+ };
38
+ }
39
+ export function listObservabilityServices(params = {}) {
40
+ const pricing = getObservabilityPricing(params.type);
41
+ // Group by type
42
+ const byType = {};
43
+ pricing.forEach(p => {
44
+ if (!byType[p.type])
45
+ byType[p.type] = [];
46
+ byType[p.type].push(p);
47
+ });
48
+ return {
49
+ services: pricing,
50
+ totalCount: pricing.length,
51
+ byType: Object.entries(byType).map(([type, items]) => ({
52
+ type,
53
+ count: items.length,
54
+ items
55
+ })),
56
+ lastUpdated: getLastUpdated(),
57
+ availableTypes: [...new Set(pricing.map(p => p.type))],
58
+ freeAllowances: [
59
+ { service: 'Logging', allowance: '10 GB/month ingest' },
60
+ { service: 'Monitoring', allowance: '500 million datapoints/month' },
61
+ { service: 'Notifications', allowance: '1 million notifications/month' }
62
+ ],
63
+ notes: [
64
+ 'Many observability services include free tier allowances',
65
+ 'APM provides end-to-end application tracing',
66
+ 'Log Analytics enables powerful log search and analysis'
67
+ ]
68
+ };
69
+ }
70
+ export function listIntegrationServices(params = {}) {
71
+ const pricing = getIntegrationPricing(params.type);
72
+ // Group by type
73
+ const byType = {};
74
+ pricing.forEach(p => {
75
+ if (!byType[p.type])
76
+ byType[p.type] = [];
77
+ byType[p.type].push(p);
78
+ });
79
+ return {
80
+ services: pricing,
81
+ totalCount: pricing.length,
82
+ byType: Object.entries(byType).map(([type, items]) => ({
83
+ type,
84
+ count: items.length,
85
+ items
86
+ })),
87
+ lastUpdated: getLastUpdated(),
88
+ availableTypes: [...new Set(pricing.map(p => p.type))],
89
+ notes: [
90
+ 'OCI Integration Cloud (OIC) provides pre-built adapters for SaaS and on-premises apps',
91
+ 'GoldenGate enables real-time data replication and streaming',
92
+ 'Streaming is compatible with Apache Kafka APIs'
93
+ ]
94
+ };
95
+ }
96
+ export function listSecurityServices(params = {}) {
97
+ const pricing = getSecurityPricing(params.type);
98
+ // Group by type
99
+ const byType = {};
100
+ pricing.forEach(p => {
101
+ if (!byType[p.type])
102
+ byType[p.type] = [];
103
+ byType[p.type].push(p);
104
+ });
105
+ return {
106
+ services: pricing,
107
+ totalCount: pricing.length,
108
+ byType: Object.entries(byType).map(([type, items]) => ({
109
+ type,
110
+ count: items.length,
111
+ items
112
+ })),
113
+ lastUpdated: getLastUpdated(),
114
+ availableTypes: [...new Set(pricing.map(p => p.type))],
115
+ freeServices: [
116
+ 'Cloud Guard - threat detection (free)',
117
+ 'Vault - 20 key versions free',
118
+ 'Bastion - free service'
119
+ ],
120
+ notes: [
121
+ 'Data Safe provides database security assessment and monitoring',
122
+ 'Cloud Guard detects security threats across your tenancy',
123
+ 'WAF protects web applications from attacks'
124
+ ]
125
+ };
126
+ }
127
+ export function listAnalyticsServices(params = {}) {
128
+ const pricing = getAnalyticsPricing(params.type);
129
+ // Group by type
130
+ const byType = {};
131
+ pricing.forEach(p => {
132
+ if (!byType[p.type])
133
+ byType[p.type] = [];
134
+ byType[p.type].push(p);
135
+ });
136
+ return {
137
+ services: pricing,
138
+ totalCount: pricing.length,
139
+ byType: Object.entries(byType).map(([type, items]) => ({
140
+ type,
141
+ count: items.length,
142
+ items
143
+ })),
144
+ lastUpdated: getLastUpdated(),
145
+ availableTypes: [...new Set(pricing.map(p => p.type))],
146
+ notes: [
147
+ 'Analytics Cloud provides enterprise BI and visualization',
148
+ 'Big Data Service runs Apache Spark and Hadoop workloads',
149
+ 'Data Flow provides serverless Spark execution'
150
+ ]
151
+ };
152
+ }
153
+ export function listDeveloperServices(params = {}) {
154
+ const pricing = getDeveloperPricing(params.type);
155
+ // Group by type
156
+ const byType = {};
157
+ pricing.forEach(p => {
158
+ if (!byType[p.type])
159
+ byType[p.type] = [];
160
+ byType[p.type].push(p);
161
+ });
162
+ return {
163
+ services: pricing,
164
+ totalCount: pricing.length,
165
+ byType: Object.entries(byType).map(([type, items]) => ({
166
+ type,
167
+ count: items.length,
168
+ items
169
+ })),
170
+ lastUpdated: getLastUpdated(),
171
+ availableTypes: [...new Set(pricing.map(p => p.type))],
172
+ freeServices: [
173
+ 'Functions - 2 million invocations/month free',
174
+ 'APEX - included with Autonomous Database',
175
+ 'Resource Manager (Terraform) - free'
176
+ ],
177
+ notes: [
178
+ 'Functions provides serverless compute with pay-per-execution',
179
+ 'Container Instances run containers without managing infrastructure',
180
+ 'API Gateway manages and secures API traffic'
181
+ ]
182
+ };
183
+ }
184
+ export function listMediaServices(params = {}) {
185
+ const pricing = getMediaPricing(params.type);
186
+ // Group by type
187
+ const byType = {};
188
+ pricing.forEach(p => {
189
+ if (!byType[p.type])
190
+ byType[p.type] = [];
191
+ byType[p.type].push(p);
192
+ });
193
+ return {
194
+ services: pricing,
195
+ totalCount: pricing.length,
196
+ byType: Object.entries(byType).map(([type, items]) => ({
197
+ type,
198
+ count: items.length,
199
+ sample: items.slice(0, 10) // Media has many items, show sample
200
+ })),
201
+ lastUpdated: getLastUpdated(),
202
+ availableTypes: [...new Set(pricing.map(p => p.type))],
203
+ notes: [
204
+ 'Media Flow provides video transcoding and processing pipelines',
205
+ 'Media Streams enables live and on-demand video streaming',
206
+ 'Pricing based on minutes processed and output resolution'
207
+ ]
208
+ };
209
+ }
210
+ // ============================================
211
+ // VMware Tools
212
+ // ============================================
213
+ export function listVMwareServices() {
214
+ const pricing = getVMwarePricing();
215
+ return {
216
+ services: pricing,
217
+ totalCount: pricing.length,
218
+ lastUpdated: getLastUpdated(),
219
+ notes: [
220
+ 'Oracle Cloud VMware Solution (OCVS) runs VMware workloads natively',
221
+ 'Pricing is per-host with different configurations available',
222
+ 'Includes VMware vSphere, vSAN, and NSX licensing'
223
+ ]
224
+ };
225
+ }
226
+ export function listEdgeServices(params = {}) {
227
+ const pricing = getEdgePricing(params.type);
228
+ return {
229
+ services: pricing,
230
+ totalCount: pricing.length,
231
+ lastUpdated: getLastUpdated(),
232
+ availableTypes: [...new Set(pricing.map(p => p.type))],
233
+ freeAllowances: [
234
+ { service: 'DNS', allowance: '1 million queries/month' },
235
+ { service: 'Email Delivery', allowance: '3,000 emails/month' },
236
+ { service: 'Health Checks', allowance: '1 million checks/month' }
237
+ ],
238
+ notes: [
239
+ 'DNS provides global low-latency name resolution',
240
+ 'Email Delivery is a scalable outbound email service',
241
+ 'Health Checks monitor endpoint availability'
242
+ ]
243
+ };
244
+ }
245
+ export function listGovernanceServices(params = {}) {
246
+ const pricing = getGovernancePricing(params.type);
247
+ return {
248
+ services: pricing,
249
+ totalCount: pricing.length,
250
+ lastUpdated: getLastUpdated(),
251
+ availableTypes: [...new Set(pricing.map(p => p.type))],
252
+ notes: [
253
+ 'Access Governance manages identity lifecycle and access reviews',
254
+ 'Fleet Application Management monitors and patches applications',
255
+ 'License Manager tracks Oracle license usage'
256
+ ]
257
+ };
258
+ }
259
+ export function listExadataServices(params = {}) {
260
+ const pricing = getExadataPricing(params.type);
261
+ // Group by type
262
+ const byType = {};
263
+ pricing.forEach(p => {
264
+ if (!byType[p.type])
265
+ byType[p.type] = [];
266
+ byType[p.type].push(p);
267
+ });
268
+ return {
269
+ services: pricing,
270
+ totalCount: pricing.length,
271
+ byType: Object.entries(byType).map(([type, items]) => ({
272
+ type,
273
+ count: items.length,
274
+ items
275
+ })),
276
+ lastUpdated: getLastUpdated(),
277
+ availableTypes: [...new Set(pricing.map(p => p.type))],
278
+ notes: [
279
+ 'Exadata provides the highest performance Oracle Database platform',
280
+ 'Exascale is the latest generation with elastic scaling',
281
+ 'BYOL pricing available for existing Oracle license holders',
282
+ 'Developer tier is free for development and testing'
283
+ ]
284
+ };
285
+ }
286
+ // ============================================
287
+ // Cache (Redis) Tools
288
+ // ============================================
289
+ export function listCacheServices() {
290
+ const pricing = getCachePricing();
291
+ return {
292
+ services: pricing,
293
+ totalCount: pricing.length,
294
+ lastUpdated: getLastUpdated(),
295
+ pricingTiers: [
296
+ { tier: 'low', description: 'Up to 10 GB per node', pricePerGBHour: 0.0194 },
297
+ { tier: 'high', description: 'Over 10 GB per node', pricePerGBHour: 0.0136 }
298
+ ],
299
+ notes: [
300
+ 'OCI Cache with Redis is a managed Redis-compatible caching service',
301
+ 'High memory tier offers better per-GB pricing for larger caches',
302
+ 'Fully managed with automatic failover and patching'
303
+ ]
304
+ };
305
+ }
306
+ // ============================================
307
+ // Disaster Recovery Tools
308
+ // ============================================
309
+ export function listDisasterRecoveryServices() {
310
+ const pricing = getDisasterRecoveryPricing();
311
+ return {
312
+ services: pricing,
313
+ totalCount: pricing.length,
314
+ lastUpdated: getLastUpdated(),
315
+ notes: [
316
+ 'Full Stack DR automates disaster recovery for entire application stacks',
317
+ 'Supports Oracle databases, middleware, and applications',
318
+ 'Pay only for DR protection, not standby compute resources'
319
+ ]
320
+ };
321
+ }
322
+ export function listAdditionalServices(params = {}) {
323
+ const pricing = getAdditionalServicesPricing(params.type);
324
+ // Group by type
325
+ const byType = {};
326
+ pricing.forEach(p => {
327
+ if (!byType[p.type])
328
+ byType[p.type] = [];
329
+ byType[p.type].push(p);
330
+ });
331
+ return {
332
+ services: pricing,
333
+ totalCount: pricing.length,
334
+ byType: Object.entries(byType).map(([type, items]) => ({
335
+ type,
336
+ count: items.length,
337
+ items
338
+ })),
339
+ lastUpdated: getLastUpdated(),
340
+ availableTypes: [...new Set(pricing.map(p => p.type))],
341
+ serviceDescriptions: {
342
+ opensearch: 'Managed OpenSearch for log analytics and search',
343
+ 'secure-desktops': 'Virtual desktop infrastructure (VDI)',
344
+ blockchain: 'Enterprise blockchain platform',
345
+ timesten: 'In-memory database for Kubernetes',
346
+ batch: 'Managed batch processing (free service)',
347
+ 'recovery-service': 'Automated database backup and recovery',
348
+ 'zfs-storage': 'Enterprise ZFS storage appliance',
349
+ 'lustre-storage': 'High-performance parallel filesystem',
350
+ 'digital-assistant': 'AI-powered chatbot service'
351
+ },
352
+ notes: [
353
+ 'OCI Batch is free - you only pay for underlying compute',
354
+ 'TimesTen provides microsecond-latency in-memory processing',
355
+ 'Lustre storage is ideal for HPC and AI/ML workloads'
356
+ ]
357
+ };
358
+ }
359
+ // ============================================
360
+ // Summary Tool
361
+ // ============================================
362
+ export function getServicesSummary() {
363
+ const counts = getServiceCategoryCounts();
364
+ const total = Object.values(counts).reduce((a, b) => a + b, 0);
365
+ return {
366
+ categories: counts,
367
+ totalPricingItems: total,
368
+ lastUpdated: getLastUpdated(),
369
+ coverage: {
370
+ core: ['compute', 'storage', 'database', 'networking', 'kubernetes'],
371
+ aiMl: ['generative-ai', 'vision', 'speech', 'language', 'document-understanding'],
372
+ operations: ['observability', 'security', 'governance', 'disaster-recovery'],
373
+ platform: ['integration', 'analytics', 'developer', 'media', 'vmware', 'edge'],
374
+ enterprise: ['exadata', 'blockchain', 'timesten'],
375
+ infrastructure: ['cache', 'zfs-storage', 'lustre-storage', 'opensearch', 'secure-desktops'],
376
+ multicloud: ['database@azure', 'database@aws', 'database@gcp']
377
+ },
378
+ notes: [
379
+ 'Pricing data sourced from Oracle Cloud Infrastructure pricing API',
380
+ 'All prices in USD, Pay-As-You-Go rates',
381
+ 'Many services include free tier allowances'
382
+ ]
383
+ };
384
+ }
385
+ //# sourceMappingURL=services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/tools/services.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,6 +1,37 @@
1
1
  /**
2
2
  * OCI Pricing MCP Server - Type Definitions
3
3
  */
4
+ export type MulticloudProvider = 'azure' | 'aws' | 'gcp';
5
+ export type MulticloudDatabaseType = 'autonomous-serverless' | 'autonomous-dedicated' | 'exadata' | 'exascale' | 'base-db';
6
+ export interface MulticloudDatabaseAvailability {
7
+ databaseType: MulticloudDatabaseType;
8
+ displayName: string;
9
+ azure: boolean;
10
+ aws: boolean;
11
+ gcp: boolean;
12
+ notes?: string;
13
+ }
14
+ export interface MulticloudDatabasePricing {
15
+ databaseType: MulticloudDatabaseType;
16
+ provider: MulticloudProvider;
17
+ available: boolean;
18
+ pricingModel: 'marketplace' | 'private-offer' | 'price-parity-estimate';
19
+ ecpuPrice?: number;
20
+ ocpuPrice?: number;
21
+ storagePrice?: number;
22
+ licenseIncludedPrice?: number;
23
+ byolPrice?: number;
24
+ licenseIncluded: boolean;
25
+ byolAvailable: boolean;
26
+ billingNote: string;
27
+ marketplaceUrl?: string;
28
+ }
29
+ export interface MulticloudData {
30
+ availability: MulticloudDatabaseAvailability[];
31
+ pricing: MulticloudDatabasePricing[];
32
+ lastUpdated: string;
33
+ notes: string[];
34
+ }
4
35
  export type OCIRegion = 'us-ashburn-1' | 'us-phoenix-1' | 'us-sanjose-1' | 'us-chicago-1' | 'ca-montreal-1' | 'ca-toronto-1' | 'eu-frankfurt-1' | 'eu-amsterdam-1' | 'eu-zurich-1' | 'eu-madrid-1' | 'eu-marseille-1' | 'eu-milan-1' | 'eu-paris-1' | 'eu-stockholm-1' | 'uk-london-1' | 'uk-cardiff-1' | 'ap-tokyo-1' | 'ap-osaka-1' | 'ap-seoul-1' | 'ap-chuncheon-1' | 'ap-mumbai-1' | 'ap-hyderabad-1' | 'ap-singapore-1' | 'ap-sydney-1' | 'ap-melbourne-1' | 'sa-saopaulo-1' | 'sa-santiago-1' | 'sa-vinhedo-1' | 'me-jeddah-1' | 'me-dubai-1' | 'af-johannesburg-1' | 'il-jerusalem-1';
5
36
  export type OCIServiceCategory = 'compute' | 'storage' | 'database' | 'networking' | 'kubernetes' | 'analytics' | 'ai-ml' | 'security' | 'observability' | 'integration' | 'developer-services';
6
37
  export type PricingUnit = 'OCPU per hour' | 'GB per month' | 'GB per hour' | 'instance per hour' | 'request' | 'GB transferred' | 'unit per hour' | 'node per hour';
@@ -57,6 +88,201 @@ export interface KubernetesPricing extends PricingItem {
57
88
  clusterManagementFee: number;
58
89
  nodePoolFee?: number;
59
90
  }
91
+ export type AIMLServiceType = 'generative-ai' | 'generative-ai-agents' | 'vision' | 'speech' | 'language' | 'document-understanding' | 'digital-assistant' | 'anomaly-detection' | 'forecasting' | 'data-labeling';
92
+ export interface AIMLPricing {
93
+ service: 'ai-ml';
94
+ type: AIMLServiceType;
95
+ name: string;
96
+ description: string;
97
+ model?: string;
98
+ pricingTier: 'on-demand' | 'dedicated' | 'committed';
99
+ unit: string;
100
+ pricePerUnit: number;
101
+ currency: 'USD';
102
+ partNumber?: string;
103
+ notes?: string;
104
+ }
105
+ export type ObservabilityServiceType = 'apm' | 'logging' | 'log-analytics' | 'monitoring' | 'notifications' | 'ops-insights' | 'stack-monitoring' | 'service-connector';
106
+ export interface ObservabilityPricing {
107
+ service: 'observability';
108
+ type: ObservabilityServiceType;
109
+ name: string;
110
+ description: string;
111
+ unit: string;
112
+ pricePerUnit: number;
113
+ freeAllowance?: number;
114
+ freeAllowanceUnit?: string;
115
+ currency: 'USD';
116
+ partNumber?: string;
117
+ notes?: string;
118
+ }
119
+ export type IntegrationServiceType = 'integration-cloud' | 'goldengate' | 'data-integration' | 'streaming' | 'queue' | 'events' | 'api-gateway';
120
+ export interface IntegrationPricing {
121
+ service: 'integration';
122
+ type: IntegrationServiceType;
123
+ name: string;
124
+ description: string;
125
+ unit: string;
126
+ pricePerUnit: number;
127
+ currency: 'USD';
128
+ partNumber?: string;
129
+ notes?: string;
130
+ }
131
+ export type SecurityServiceType = 'data-safe' | 'cloud-guard' | 'vault' | 'key-management' | 'waf' | 'network-firewall' | 'vulnerability-scanning' | 'bastion' | 'certificates';
132
+ export interface SecurityPricing {
133
+ service: 'security';
134
+ type: SecurityServiceType;
135
+ name: string;
136
+ description: string;
137
+ unit: string;
138
+ pricePerUnit: number;
139
+ freeAllowance?: number;
140
+ freeAllowanceUnit?: string;
141
+ currency: 'USD';
142
+ partNumber?: string;
143
+ notes?: string;
144
+ }
145
+ export type AnalyticsServiceType = 'analytics-cloud' | 'big-data' | 'data-flow' | 'data-catalog' | 'data-science';
146
+ export interface AnalyticsPricing {
147
+ service: 'analytics';
148
+ type: AnalyticsServiceType;
149
+ name: string;
150
+ description: string;
151
+ unit: string;
152
+ pricePerUnit: number;
153
+ currency: 'USD';
154
+ partNumber?: string;
155
+ notes?: string;
156
+ }
157
+ export type DeveloperServiceType = 'functions' | 'container-instances' | 'api-gateway' | 'apex' | 'devops' | 'resource-manager' | 'visual-builder';
158
+ export interface DeveloperPricing {
159
+ service: 'developer';
160
+ type: DeveloperServiceType;
161
+ name: string;
162
+ description: string;
163
+ unit: string;
164
+ pricePerUnit: number;
165
+ freeAllowance?: number;
166
+ freeAllowanceUnit?: string;
167
+ currency: 'USD';
168
+ partNumber?: string;
169
+ notes?: string;
170
+ }
171
+ export type MediaServiceType = 'media-flow' | 'media-streams';
172
+ export interface MediaPricing {
173
+ service: 'media';
174
+ type: MediaServiceType;
175
+ name: string;
176
+ description: string;
177
+ unit: string;
178
+ pricePerUnit: number;
179
+ currency: 'USD';
180
+ partNumber?: string;
181
+ notes?: string;
182
+ }
183
+ export type VMwareServiceType = 'ocvs';
184
+ export interface VMwarePricing {
185
+ service: 'vmware';
186
+ type: VMwareServiceType;
187
+ name: string;
188
+ description: string;
189
+ hostType: string;
190
+ unit: string;
191
+ pricePerUnit: number;
192
+ currency: 'USD';
193
+ partNumber?: string;
194
+ notes?: string;
195
+ }
196
+ export interface AdditionalDatabasePricing {
197
+ service: 'database';
198
+ type: string;
199
+ name: string;
200
+ description: string;
201
+ databaseEngine: 'mysql' | 'postgresql' | 'nosql' | 'redis' | 'timesten' | 'other';
202
+ unit: string;
203
+ pricePerUnit: number;
204
+ licenseIncluded?: boolean;
205
+ currency: 'USD';
206
+ partNumber?: string;
207
+ notes?: string;
208
+ }
209
+ export type EdgeServiceType = 'dns' | 'email-delivery' | 'web-application-acceleration' | 'healthchecks';
210
+ export interface EdgePricing {
211
+ service: 'edge';
212
+ type: EdgeServiceType;
213
+ name: string;
214
+ description: string;
215
+ unit: string;
216
+ pricePerUnit: number;
217
+ freeAllowance?: number;
218
+ freeAllowanceUnit?: string;
219
+ currency: 'USD';
220
+ partNumber?: string;
221
+ notes?: string;
222
+ }
223
+ export type GovernanceServiceType = 'access-governance' | 'fleet-management' | 'license-manager';
224
+ export interface GovernancePricing {
225
+ service: 'governance';
226
+ type: GovernanceServiceType;
227
+ name: string;
228
+ description: string;
229
+ unit: string;
230
+ pricePerUnit: number;
231
+ currency: 'USD';
232
+ partNumber?: string;
233
+ notes?: string;
234
+ }
235
+ export type ExadataServiceType = 'exascale-ecpu' | 'exascale-ocpu' | 'exascale-storage' | 'exascale-infrastructure' | 'dedicated-ecpu' | 'dedicated-ocpu';
236
+ export interface ExadataPricing {
237
+ service: 'exadata';
238
+ type: ExadataServiceType;
239
+ name: string;
240
+ description: string;
241
+ unit: string;
242
+ pricePerUnit: number;
243
+ licenseIncluded?: boolean;
244
+ byol?: boolean;
245
+ currency: 'USD';
246
+ partNumber?: string;
247
+ notes?: string;
248
+ }
249
+ export interface CachePricing {
250
+ service: 'cache';
251
+ type: 'redis';
252
+ name: string;
253
+ description: string;
254
+ memoryTier: 'low' | 'high';
255
+ unit: string;
256
+ pricePerUnit: number;
257
+ currency: 'USD';
258
+ partNumber?: string;
259
+ notes?: string;
260
+ }
261
+ export interface DisasterRecoveryPricing {
262
+ service: 'disaster-recovery';
263
+ type: 'full-stack-dr';
264
+ name: string;
265
+ description: string;
266
+ unit: string;
267
+ pricePerUnit: number;
268
+ currency: 'USD';
269
+ partNumber?: string;
270
+ notes?: string;
271
+ }
272
+ export type AdditionalServiceType = 'opensearch' | 'secure-desktops' | 'blockchain' | 'timesten' | 'batch' | 'recovery-service' | 'zfs-storage' | 'lustre-storage' | 'digital-assistant';
273
+ export interface AdditionalServicePricing {
274
+ service: 'additional';
275
+ type: AdditionalServiceType;
276
+ name: string;
277
+ description: string;
278
+ unit: string;
279
+ pricePerUnit: number;
280
+ licenseIncluded?: boolean;
281
+ byol?: boolean;
282
+ currency: 'USD';
283
+ partNumber?: string;
284
+ notes?: string;
285
+ }
60
286
  export interface CostEstimateInput {
61
287
  compute?: {
62
288
  shape: string;
@@ -146,17 +372,25 @@ export interface OCIPricingData {
146
372
  database: DatabasePricing[];
147
373
  networking: NetworkingPricing[];
148
374
  kubernetes: KubernetesPricing[];
149
- serverless?: PricingItem[];
150
- containers?: PricingItem[];
151
- observability?: PricingItem[];
152
- security?: PricingItem[];
153
- dataAnalytics?: PricingItem[];
154
- aiMl?: PricingItem[];
155
- edge?: PricingItem[];
375
+ aiMl?: AIMLPricing[];
376
+ observability?: ObservabilityPricing[];
377
+ integration?: IntegrationPricing[];
378
+ security?: SecurityPricing[];
379
+ analytics?: AnalyticsPricing[];
380
+ developer?: DeveloperPricing[];
381
+ media?: MediaPricing[];
382
+ vmware?: VMwarePricing[];
383
+ edge?: EdgePricing[];
384
+ governance?: GovernancePricing[];
385
+ exadata?: ExadataPricing[];
386
+ cache?: CachePricing[];
387
+ disasterRecovery?: DisasterRecoveryPricing[];
388
+ additionalServices?: AdditionalServicePricing[];
156
389
  products: APIProduct[];
157
390
  categories: string[];
158
391
  regions: RegionInfo[];
159
392
  freeTier: Record<string, unknown>;
160
393
  services: ServiceCatalogEntry[];
394
+ multicloud?: MulticloudData;
161
395
  }
162
396
  //# sourceMappingURL=types.d.ts.map