Calculate Total Cost of Ownership (TCO)
Calculates the total cost of ownership for asset discovery including Commvault costs, native cloud provider costs, and savings
- application/json
Request Body required
discoveredSizes object[]
List of discovered sizes by workload type
workloadType CloudServiceTypePossible values: [
NONE,COMPUTE,STORAGE,DATABASE,SECURITY,APPLICATION,KUBERNETES,FILES,AI]Workload type (COMPUTE, DATABASE, or STORAGE)
sizeInTB doubleSize in TB
- provider CyberResiliencyCloudConnector required
Possible values: [
AZURE,AWS,GCP,M365,AD]Default value:
AZURESupported Connector Types for Cyber Resilience Cost Assessment Dashboard
retentions object[]
List of retention configurations
scope RetentionScopePossible values: [
PRIMARY,CROSS_REGION,CROSS_CLOUD]Retention scope (PRIMARY, CROSS_REGION, or CROSS_CLOUD)
days int32Retention period in days
extended object[]
Extended retention configurations
type ExtendedRetentionTypePossible values: [
WEEKLY,MONTHLY,YEARLY]Extended retention type (WEEKLY, MONTHLY, or YEARLY)
days int32Extended retention period in days
- annualGrowthRate int32
Annual growth rate percentage
dailyChangeRates object[]
List of daily change rates by workload type
workloadType CloudServiceTypePossible values: [
NONE,COMPUTE,STORAGE,DATABASE,SECURITY,APPLICATION,KUBERNETES,FILES,AI]Workload type (COMPUTE, DATABASE, or STORAGE)
rate ChangeRateLevelPossible values: [
LOW,MEDIUM,HIGH]Change rate level (LOW, MEDIUM, or HIGH)
ratePercent int32Daily change rate percentage
- 200
- 400
- 403
- 500
OK
- application/json
- Schema
- Example (from schema)
Schema
storageBundles object[]
Storage bundles by scope
scope RetentionScopePossible values: [
PRIMARY,CROSS_REGION,CROSS_CLOUD]Retention scope (PRIMARY, CROSS_REGION, or CROSS_CLOUD)
storages object[]
Storage information by workload type
workloadType CloudServiceTypePossible values: [
NONE,COMPUTE,STORAGE,DATABASE,SECURITY,APPLICATION,KUBERNETES,FILES,AI]Workload type (COMPUTE, DATABASE, or STORAGE)
sizeInTB doubleCurrent size in TB
estimatedStorageInTB int32Estimated storage in TB
estimatedExtendedStorageInTB int32Estimated extended storage in TB
cvCost object
Commvault costs
workloadCosts object[]
Costs by workload type
workloadType CloudServiceTypePossible values: [
NONE,COMPUTE,STORAGE,DATABASE,SECURITY,APPLICATION,KUBERNETES,FILES,AI]Workload type (COMPUTE, DATABASE, or STORAGE)
cost int32Cost amount
total int32Total cost
nativeCost object
Native cloud provider costs
workloadCosts object[]
Costs by workload type
workloadType CloudServiceTypePossible values: [
NONE,COMPUTE,STORAGE,DATABASE,SECURITY,APPLICATION,KUBERNETES,FILES,AI]Workload type (COMPUTE, DATABASE, or STORAGE)
cost int32Cost amount
total int32Total cost
savings object
Savings information
amount int32Savings amount
percent doubleSavings percentage (rounded to 2 decimal places)
{
"storageBundles": [
{
"scope": "PRIMARY",
"storages": [
{
"workloadType": "NONE",
"sizeInTB": 0,
"estimatedStorageInTB": 0,
"estimatedExtendedStorageInTB": 0
}
]
}
],
"cvCost": {
"workloadCosts": [
{
"workloadType": "NONE",
"cost": 0
}
],
"total": 0
},
"nativeCost": {
"workloadCosts": [
{
"workloadType": "NONE",
"cost": 0
}
],
"total": 0
},
"savings": {
"amount": 0,
"percent": 0
}
}
Bad Request
- application/json
- Schema
- Example (from schema)
Schema
- errorCode CyberResilienceErrorCode
Possible values: [
NO_ERROR,INVALID_INPUT,INDEX_SERVER_NOT_EXIST,INDEX_SERVER_INACCESSIBLE,INDEX_SERVER_DATA_ANALYTICS_ROLE_MISSING,CREDENTIAL_UNSUPPORTED,CREDENTIAL_INACCESSIBLE,CYBER_RESILIENCE_ALREADY_CONFIGURED,CYBER_RESILIENCE_NOT_CONFIGURED,DELETING_UNCONFIGURED_CREDENTIAL,ADDING_CONFIGURED_CREDENTIAL,UNKNOWN_ERROR,INTERNAL_SERVER_ERROR,CREDENTIAL_INVALID] - errorMessage string
{
"errorCode": "NO_ERROR",
"errorMessage": "string"
}
Forbidden
- application/json
- Schema
- Example (from schema)
Schema
- errorCode CyberResilienceErrorCode
Possible values: [
NO_ERROR,INVALID_INPUT,INDEX_SERVER_NOT_EXIST,INDEX_SERVER_INACCESSIBLE,INDEX_SERVER_DATA_ANALYTICS_ROLE_MISSING,CREDENTIAL_UNSUPPORTED,CREDENTIAL_INACCESSIBLE,CYBER_RESILIENCE_ALREADY_CONFIGURED,CYBER_RESILIENCE_NOT_CONFIGURED,DELETING_UNCONFIGURED_CREDENTIAL,ADDING_CONFIGURED_CREDENTIAL,UNKNOWN_ERROR,INTERNAL_SERVER_ERROR,CREDENTIAL_INVALID] - errorMessage string
{
"errorCode": "NO_ERROR",
"errorMessage": "string"
}
Internal Server Error
- application/json
- Schema
- Example (from schema)
Schema
- errorCode CyberResilienceErrorCode
Possible values: [
NO_ERROR,INVALID_INPUT,INDEX_SERVER_NOT_EXIST,INDEX_SERVER_INACCESSIBLE,INDEX_SERVER_DATA_ANALYTICS_ROLE_MISSING,CREDENTIAL_UNSUPPORTED,CREDENTIAL_INACCESSIBLE,CYBER_RESILIENCE_ALREADY_CONFIGURED,CYBER_RESILIENCE_NOT_CONFIGURED,DELETING_UNCONFIGURED_CREDENTIAL,ADDING_CONFIGURED_CREDENTIAL,UNKNOWN_ERROR,INTERNAL_SERVER_ERROR,CREDENTIAL_INVALID] - errorMessage string
{
"errorCode": "NO_ERROR",
"errorMessage": "string"
}