Cloud Cost Perspectives

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

Fetch details of a Perspective

Fetch details of a Perspective for the given Perspective ID.

Securityx-api-key
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": [
    ]
}

Update a Perspective

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

Securityx-api-key
Request
query Parameters
accountIdentifier
required
string

Account Identifier for the Entity.

updateTotalCost
boolean
Default: true
Request Body schema: application/json
required

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": [
    ]
}

Create a Perspective

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

Securityx-api-key
Request
query Parameters
accountIdentifier
required
string

Account Identifier for the Entity.

clone
required
boolean

Set the clone parameter as true to clone a Perspective.

updateTotalCost
boolean
Default: true
Request Body schema: application/json
required

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.

Securityx-api-key
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": [
    ]
}

Return details of all the Perspectives

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

Securityx-api-key
Request
query Parameters
accountIdentifier
required
string

Account Identifier for the Entity.

pageSize
required
integer <int32>
Default: 20

Number of perspectives to be shown

pageNo
required
integer <int32>
Default: 0

Number of records to be skipped

searchKey
string

Characters in search bar

sortType
string
Default: "TIME"

sorting filters in UI

Enum: "TIME" "COST" "CLUSTER_COST" "NAME"
sortOrder
string
Default: "DESCENDING"

sorting order

Enum: "ASCENDING" "DESCENDING"
cloudFilters
Array of strings

filters for clouds and clusters

Items Enum: "AWS" "AZURE" "GCP" "CLUSTER" "DEFAULT"
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": [
    ]
}

Get the last period cost for a Perspective

Get last period cost for a Perspective

Securityx-api-key
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": [
    ]
}

Get the last twelve month cost for a Perspective

Get last twelve month cost for a Perspective

Securityx-api-key
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

Only support for YEARLY budget period

Enum: "DAILY" "WEEKLY" "MONTHLY" "QUARTERLY" "YEARLY"
type
required
string

Only support for PREVIOUS_PERIOD_SPEND budget type

Enum: "SPECIFIED_AMOUNT" "PREVIOUS_MONTH_SPEND" "PREVIOUS_PERIOD_SPEND"
breakdown
required
string

Only support for MONTHLY breakdown

Enum: "YEARLY" "MONTHLY"
Responses
400

Bad Request

500

Internal server error

default

Return list of actual monthly budget cost and respective month in epoch

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