For the complete documentation index, see llms.txt. This page is also available as Markdown.

Perspectives

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

Fetch details of a Perspective

get

Fetch details of a Perspective for the given Perspective ID.

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

perspectiveIdstringRequired

Unique identifier for the Perspective

Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
get/perspective
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

post

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

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

clonebooleanRequired

Set the clone parameter as true to clone a Perspective.

Body

This object will contain the complete definition of a Cloud Cost Perspective

uuidstringOptional
namestring · min: 1 · max: 80Required
accountIdstringOptional
folderIdstringOptional
viewVersionstringRequired
viewTypestring · enumOptionalPossible values:
viewStatestring · enumOptionalPossible values:
totalCostnumber · doubleOptional
createdAtinteger · int64Optional
lastUpdatedAtinteger · int64Optional
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
post/perspective
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

put

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

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

Body

This object will contain the complete definition of a Cloud Cost Perspective

uuidstringOptional
namestring · min: 1 · max: 80Required
accountIdstringOptional
folderIdstringOptional
viewVersionstringRequired
viewTypestring · enumOptionalPossible values:
viewStatestring · enumOptionalPossible values:
totalCostnumber · doubleOptional
createdAtinteger · int64Optional
lastUpdatedAtinteger · int64Optional
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
put/perspective
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

delete

Delete a Perspective for the given Perspective ID.

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

perspectiveIdstringRequired

Unique identifier for the Perspective

Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
delete/perspective
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

get

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

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

pageSizeinteger · int32Required

Number of perspectives to be shown

Default: 20
pageNointeger · int32Required

Number of records to be skipped

Default: 0
searchKeystringOptional

Characters in search bar

sortTypestring · enumOptional

sorting filters in UI

Default: TIMEPossible values:
sortOrderstring · enumOptional

sorting order

Default: DESCENDINGPossible values:
viewStatestring · enumOptional

filter by perspective state

Possible values:
viewIdsstring[]Optional

filter by perspective ids

viewTypestring · enumOptional

filter by view type

Possible values:
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
get/perspective/getAllPerspectives
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 the last period cost for a Perspective

get

Get last period cost for a Perspective

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

perspectiveIdstringRequired

The Perspective identifier for which we want the cost

startTimeinteger · int64Required

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

periodstring · enumRequired

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

Possible values:
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
get/perspective/lastPeriodCost
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 the last twelve month cost for a Perspective

get

Get last twelve month cost for a Perspective

Query parameters
accountIdentifierstringRequired

Account Identifier for the Entity.

perspectiveIdstringRequired

The Perspective identifier for which we want the cost

startTimeinteger · int64Required

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

periodstring · enumRequired

Only support for YEARLY budget period

Possible values:
typestring · enumRequired

Whether the Budget is based on a specified amount or based on previous month's actual spend

Possible values:
breakdownstring · enumRequired

Whether the Yearly budget breakdown is yearly or monthly

Possible values:
Responses
400

Bad Request

application/json

This is Failure entity as defied in Harness

statusstring · enumOptionalPossible values:
codestring · enumOptionalPossible values:
messagestringOptional
correlationIdstringOptional
get/perspective/lastYearMonthlyCost
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?