Perspectives
Group your resources using Perspectives in ways that are more meaningful to your business needs.
Fetch details of a Perspective for the given Perspective ID.
Account Identifier for the Entity.
Unique identifier for the Perspective
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns a CEView object with all the rules and filters, returns null if no Perspective exists for that particular identifier
GET /gateway/ccm/api/perspective?accountIdentifier=text&perspectiveId=text HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Create a Perspective. You can set the clone parameter as true to clone a Perspective.
Account Identifier for the Entity.
Set the clone parameter as true to clone a Perspective.
This object will contain the complete definition of a Cloud Cost Perspective
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns a created CEView object with all the rules and filters
POST /gateway/ccm/api/perspective?accountIdentifier=text&clone=true HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Content-Type: application/json
Accept: */*
Content-Length: 1526
{
"uuid": "text",
"name": "text",
"accountId": "text",
"folderId": "text",
"viewVersion": "text",
"viewTimeRange": {
"viewTimeRangeType": "LAST_7",
"startTime": 1,
"endTime": 1
},
"viewRules": [
{
"viewConditions": [
{
"type": "text"
}
]
}
],
"dataSources": [
"CLUSTER"
],
"viewVisualization": {
"granularity": "DAY",
"groupBy": {
"fieldId": "text",
"fieldName": "text",
"identifier": "CLUSTER",
"identifierName": "text"
},
"chartType": "STACKED_TIME_SERIES"
},
"viewPreferences": {
"showAnomalies": true,
"includeOthers": true,
"includeUnallocatedCost": true,
"awsPreferences": {
"includeDiscounts": true,
"includeCredits": true,
"includeRefunds": true,
"includeTaxes": true,
"awsCost": "AMORTISED"
},
"gcpPreferences": {
"gcpCost": "COST",
"includeDiscounts": true,
"includeTaxes": true,
"includePromotions": true,
"includeNegotiatedSavings": true,
"includeSubscriptionCredits": true,
"includeSustainedUseDiscounts": true,
"includeResourceBasedCudCredits": true,
"includeLegacyBasedCudCredits": true,
"includeSpendBasedCudDiscounts": true
},
"azureViewPreferences": {
"costType": "ACTUAL"
}
},
"unitMetricInfo": [
{
"name": "text",
"kind": "DIVISION",
"followViewFilters": true,
"type": "COST",
"unitMetricNumerator": {
"operands": [
{
"type": "VIEW",
"operandName": "text"
}
],
"operators": [
"ADD"
]
},
"unitMetricDenominator": {
"operands": [
{
"type": "VIEW",
"operandName": "text"
}
],
"operators": [
"ADD"
]
}
}
],
"viewType": "SAMPLE",
"viewState": "DRAFT",
"totalCost": 1,
"createdAt": 1,
"lastUpdatedAt": 1,
"createdBy": {
"uuid": "text",
"name": "text",
"email": "text",
"externalUserId": "text"
},
"lastUpdatedBy": {
"uuid": "text",
"name": "text",
"email": "text",
"externalUserId": "text"
}
}{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Update a Perspective. It accepts a CEView object and upserts it using the uuid mentioned in the definition.
Account Identifier for the Entity.
This object will contain the complete definition of a Cloud Cost Perspective
Bad Request
This is Failure entity as defied in Harness
Internal server error
Upserted CEView object with all the rules and filters
PUT /gateway/ccm/api/perspective?accountIdentifier=text HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Content-Type: application/json
Accept: */*
Content-Length: 1526
{
"uuid": "text",
"name": "text",
"accountId": "text",
"folderId": "text",
"viewVersion": "text",
"viewTimeRange": {
"viewTimeRangeType": "LAST_7",
"startTime": 1,
"endTime": 1
},
"viewRules": [
{
"viewConditions": [
{
"type": "text"
}
]
}
],
"dataSources": [
"CLUSTER"
],
"viewVisualization": {
"granularity": "DAY",
"groupBy": {
"fieldId": "text",
"fieldName": "text",
"identifier": "CLUSTER",
"identifierName": "text"
},
"chartType": "STACKED_TIME_SERIES"
},
"viewPreferences": {
"showAnomalies": true,
"includeOthers": true,
"includeUnallocatedCost": true,
"awsPreferences": {
"includeDiscounts": true,
"includeCredits": true,
"includeRefunds": true,
"includeTaxes": true,
"awsCost": "AMORTISED"
},
"gcpPreferences": {
"gcpCost": "COST",
"includeDiscounts": true,
"includeTaxes": true,
"includePromotions": true,
"includeNegotiatedSavings": true,
"includeSubscriptionCredits": true,
"includeSustainedUseDiscounts": true,
"includeResourceBasedCudCredits": true,
"includeLegacyBasedCudCredits": true,
"includeSpendBasedCudDiscounts": true
},
"azureViewPreferences": {
"costType": "ACTUAL"
}
},
"unitMetricInfo": [
{
"name": "text",
"kind": "DIVISION",
"followViewFilters": true,
"type": "COST",
"unitMetricNumerator": {
"operands": [
{
"type": "VIEW",
"operandName": "text"
}
],
"operators": [
"ADD"
]
},
"unitMetricDenominator": {
"operands": [
{
"type": "VIEW",
"operandName": "text"
}
],
"operators": [
"ADD"
]
}
}
],
"viewType": "SAMPLE",
"viewState": "DRAFT",
"totalCost": 1,
"createdAt": 1,
"lastUpdatedAt": 1,
"createdBy": {
"uuid": "text",
"name": "text",
"email": "text",
"externalUserId": "text"
},
"lastUpdatedBy": {
"uuid": "text",
"name": "text",
"email": "text",
"externalUserId": "text"
}
}{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Delete a Perspective for the given Perspective ID.
Account Identifier for the Entity.
Unique identifier for the Perspective
Bad Request
This is Failure entity as defied in Harness
Internal server error
A string text message whether the delete was successful or not
DELETE /gateway/ccm/api/perspective?accountIdentifier=text&perspectiveId=text HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Return details of all the Perspectives for the given account ID.
Account Identifier for the Entity.
Number of perspectives to be shown
20Number of records to be skipped
0Characters in search bar
sorting filters in UI
TIMEPossible values: sorting order
DESCENDINGPossible values: filter by perspective state
filter by perspective ids
filter by view type
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns a List of Perspectives
GET /gateway/ccm/api/perspective/getAllPerspectives?accountIdentifier=text&pageSize=20&pageNo=0 HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Get last period cost for a Perspective
Account Identifier for the Entity.
The Perspective identifier for which we want the cost
The Start time (timestamp in millis) for the current period
The period (DAILY, WEEKLY, MONTHLY, QUARTERLY, YEARLY) for which we want the cost
Bad Request
This is Failure entity as defied in Harness
Internal server error
Returns a number having the cost of last period
GET /gateway/ccm/api/perspective/lastPeriodCost?accountIdentifier=text&perspectiveId=text&startTime=1&period=DAILY HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Get last twelve month cost for a Perspective
Account Identifier for the Entity.
The Perspective identifier for which we want the cost
The Start time (timestamp in millis) for the current period
Only support for YEARLY budget period
Whether the Budget is based on a specified amount or based on previous month's actual spend
Whether the Yearly budget breakdown is yearly or monthly
Bad Request
This is Failure entity as defied in Harness
Internal server error
Return list of actual monthly budget cost and respective month in epoch
GET /gateway/ccm/api/perspective/lastYearMonthlyCost?accountIdentifier=text&perspectiveId=text&startTime=1&period=DAILY&type=SPECIFIED_AMOUNT&breakdown=YEARLY HTTP/1.1
Host: nextgen-ce-d788d786-ssnpc
Accept: */*
{
"status": "SUCCESS",
"code": "DEFAULT_ERROR_CODE",
"message": "text",
"correlationId": "text",
"errors": [
{
"fieldId": "text",
"error": "text"
}
]
}Last updated
Was this helpful?