Cloud Cost Perspectives

Group your resources using Perspectives in ways that are more meaningful to your business needs.

Create a Perspective

Create a Perspective. You can set the clone parameter as true to clone a Perspective.

SecurityApiKey
Request
query Parameters
accountIdentifier
required
string

Account Identifier for the Entity.

clone
required
boolean

Set the clone parameter as true to clone a Perspective.

Request Body schema: application/json

Request body containing Perspective's CEView object

uuid
string
name
required
string [ 1 .. 80 ] characters
accountId
string
folderId
string
viewVersion
required
string
object (ViewTimeRange)

The time interval on which you want to create a Perspective

Array of objects (ViewRule)
dataSources
Array of strings
Items Enum: "CLUSTER" "AWS" "GCP" "AZURE" "COMMON" "CUSTOM" "BUSINESS_MAPPING" "LABEL"
object (ViewVisualization)
object (ViewPreferences)
viewType
string
Enum: "SAMPLE" "CUSTOMER" "DEFAULT"
viewState
string
Enum: "DRAFT" "COMPLETED"
totalCost
number <double>
createdAt
integer <int64>
lastUpdatedAt
integer <int64>
object (EmbeddedUser)
object (EmbeddedUser)
Responses
400

Bad Request

500

Internal server error

default

Returns a created CEView object with all the rules and filters

post/ccm/api/perspective
Request samples
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "accountId": "string",
  • "folderId": "string",
  • "viewVersion": "string",
  • "viewTimeRange": {
    },
  • "viewRules": [
    ],
  • "dataSources": [
    ],
  • "viewVisualization": {
    },
  • "viewPreferences": {
    },
  • "viewType": "SAMPLE",
  • "viewState": "DRAFT",
  • "totalCost": 0,
  • "createdAt": 0,
  • "lastUpdatedAt": 0,
  • "createdBy": {
    },
  • "lastUpdatedBy": {
    }
}
Response samples
application/json
{
  • "status": "SUCCESS",
  • "code": "DEFAULT_ERROR_CODE",
  • "message": "string",
  • "correlationId": "string",
  • "errors": [
    ]
}

Delete a Perspective

Delete a Perspective for the given Perspective ID.

SecurityApiKey
Request
query Parameters
accountIdentifier
required
string

Account Identifier for the Entity.

perspectiveId
required
string

Unique identifier for the Perspective

Responses
400

Bad Request

500

Internal server error

default

A string text message whether the delete was successful or not

delete/ccm/api/perspective
Request samples
Response samples
application/json
{
  • "status": "SUCCESS",
  • "code": "DEFAULT_ERROR_CODE",
  • "message": "string",
  • "correlationId": "string",
  • "errors": [
    ]
}

Fetch details of a Perspective

Fetch details of a Perspective for the given Perspective ID.

SecurityApiKey
Request
query Parameters
accountIdentifier
required
string

Account Identifier for the Entity.

perspectiveId
required
string

Unique identifier for the Perspective

Responses
400

Bad Request

500

Internal server error

default

Returns a CEView object with all the rules and filters, returns null if no Perspective exists for that particular identifier

get/ccm/api/perspective
Request samples
Response samples
application/json
{
  • "status": "SUCCESS",
  • "code": "DEFAULT_ERROR_CODE",
  • "message": "string",
  • "correlationId": "string",
  • "errors": [
    ]
}

Get the last period cost for a Perspective

Get last period cost for a Perspective

SecurityApiKey
Request
query Parameters
accountIdentifier
required
string

Account Identifier for the Entity.

perspectiveId
required
string

The Perspective identifier for which we want the cost

startTime
required
integer <int64>

The Start time (timestamp in millis) for the current period

period
required
string

The period (DAILY, WEEKLY, MONTHLY, QUARTERLY, YEARLY) for which we want the cost

Enum: "DAILY" "WEEKLY" "MONTHLY" "QUARTERLY" "YEARLY"
Responses
400

Bad Request

500

Internal server error

default

Returns a number having the cost of last period

get/ccm/api/perspective/lastPeriodCost
Request samples
Response samples
application/json
{
  • "status": "SUCCESS",
  • "code": "DEFAULT_ERROR_CODE",
  • "message": "string",
  • "correlationId": "string",
  • "errors": [
    ]
}

Return details of all the Perspectives

Return details of all the Perspectives for the given account ID.

SecurityApiKey
Request
query Parameters
accountIdentifier
required
string

Account Identifier for the Entity.

Responses
400

Bad Request

500

Internal server error

default

Returns a List of Perspectives

get/ccm/api/perspective/getAllPerspectives
Request samples
Response samples
application/json
{
  • "status": "SUCCESS",
  • "code": "DEFAULT_ERROR_CODE",
  • "message": "string",
  • "correlationId": "string",
  • "errors": [
    ]
}

Update a Perspective

Update a Perspective. It accepts a CEView object and upserts it using the uuid mentioned in the definition.

SecurityApiKey
Request
query Parameters
accountIdentifier
required
string

Account Identifier for the Entity.

Request Body schema: application/json

Perspective's CEView object

uuid
string
name
required
string [ 1 .. 80 ] characters
accountId
string
folderId
string
viewVersion
required
string
object (ViewTimeRange)

The time interval on which you want to create a Perspective

Array of objects (ViewRule)
dataSources
Array of strings
Items Enum: "CLUSTER" "AWS" "GCP" "AZURE" "COMMON" "CUSTOM" "BUSINESS_MAPPING" "LABEL"
object (ViewVisualization)
object (ViewPreferences)
viewType
string
Enum: "SAMPLE" "CUSTOMER" "DEFAULT"
viewState
string
Enum: "DRAFT" "COMPLETED"
totalCost
number <double>
createdAt
integer <int64>
lastUpdatedAt
integer <int64>
object (EmbeddedUser)
object (EmbeddedUser)
Responses
400

Bad Request

500

Internal server error

default

Upserted CEView object with all the rules and filters

put/ccm/api/perspective
Request samples
application/json
{
  • "uuid": "string",
  • "name": "string",
  • "accountId": "string",
  • "folderId": "string",
  • "viewVersion": "string",
  • "viewTimeRange": {
    },
  • "viewRules": [
    ],
  • "dataSources": [
    ],
  • "viewVisualization": {
    },
  • "viewPreferences": {
    },
  • "viewType": "SAMPLE",
  • "viewState": "DRAFT",
  • "totalCost": 0,
  • "createdAt": 0,
  • "lastUpdatedAt": 0,
  • "createdBy": {
    },
  • "lastUpdatedBy": {
    }
}
Response samples
application/json
{
  • "status": "SUCCESS",
  • "code": "DEFAULT_ERROR_CODE",
  • "message": "string",
  • "correlationId": "string",
  • "errors": [
    ]
}