FOCUS Ingress End Points
Summary
Following are the list of public APIs provided specific to Custom Data.
With Cloudability being available in multiple regions, all references to api.cloudability.com in this API documentation should be referred to as mentioned in Getting started with Cloudability API V3.
End Point Particulars
end point : /v3/vendors/byod/accounts for RESTful CRUD interactions
end point : /v3/vendors/byod/accounts?include=permissions&viewId=0
end point : /v3/vendors/byod/accounts/<account_id>?include=permissions&viewId=0
end point : /v3/vendors/byod/accounts/<account_id>?viewId=0
end point : /v3/vendors/byod/accounts/<account_id>/verification?include=permissions,associatedAccounts&viewId=0
end point : /v3/vendors/byod/accounts/<account_id>/archive?viewId=0
end point : /v3/vendors/byod/permissions/accounts/<account_id>
Parameters
- type(string) - "aws_byod_role” | “azure_byod” | “gcp_byod_role”,
- vendorKey(string) - “byod”
- byodVendor(string) - Name of FOCUS data vendor
- vendorAccountId(string) - account id,
- projectId(string) - GCP project ID
- tenantId(string) - UUID – Azure tenant ID,
- roleName(string) - “CloudabilityCustomDataRole “ - AWS role name
- externalId(string) - AWS external id
- subscriptionGuid(string) - UUID – Azure subscription ID,
- resourceGroupName(string) - Azure resource group name, storageAccountName(string): Azure storage account name,
- rootDir(string) - root directory path,
- subDirs(string) - sub directory path if any,
- manifestPrefix(string) - <this-value>-Manifest.json
End Points
POST v3/vendors/byod/accounts
This API is used for creating a new Databricks credential
Example Request for AWS
{
"vendorAccountId": "11111166421",
"type": "aws_byod_role",
"byodVendor": "GitHub",
"byodCostReportSpec": {
"rootDir": "byodbucket",
"subDirs": "subFolder",
"manifestPrefix": "cost-and-usage"
}
}
Example Response for AWS
"result": {
"id": "byod_11111166421_GitHub",
"vendorAccountName": "byod_11111166421_GitHub",
"vendorAccountId": "byod_11111166421_GitHub",
"vendorKey": "byod",
"verification": {
"state": "unverified"
},
"authorization": {
"type": "aws_byod_role",
"roleName": "CloudabilityBYODRole",
"externalId": "aa625912-a33b-4e64-85a4-81349d8d6ea1",
"rootDir": "byodbucket",
"subDirs": "subFolder",
"manifestPrefix": "cost-and-usage"
},
"createdAt": "2024-06-13T12:37:43+05:30",
"consumerOrgId": "",
"byodVendor": "GitHub"
}
}
Example Request for Azure
{
"vendorAccountId": "1111010",
"type": "azure_byod",
"byodVendor": "GitHub",
"tenantId": "aa2a724a-8aaa-4a66-813a-a6a9aa4a3021",
"byodAzureCostReportSpec": {
"subscriptionGuid": "a4a2aaa5-2384-4090-8a3a-7a01a6a417a1",
"resourceGroupName": "billingexportresourcegroup",
"storageAccountName": "billingexportstorageacct",
"rootDir": "focuspricesheetcontainer",
"subDirs": "focuspricesheetdir",
"manifestPrefix": "FocusTest"
}
Example Response for Azure
{
"result": {
"id": "byod_1111010_GitHub",
"vendorAccountName": "byod_1111010_GitHub",
"vendorAccountId": "byod_1111010_GitHub",
"vendorKey": "byod",
"verification": {
"state": "unverified"
},
"authorization": {
"type": "azure_byod",
"tenantId": "aa2a724a-8aaa-4a66-813a-a6a9aa4a3021",
"subscriptionGuid": "a4a2aaa5-2384-4090-8a3a-7a01a6a417a1",
"resourceGroupName": "billingexportresourcegroup",
"storageAccountName": "billingexportstorageacct",
"tenancyId": "aa2a724a-8baa-4a66-813a-a6a9aa4a3021",
"rootDir": "focuspricesheetcontainer",
"subDirs": "focuspricesheetdir",
"manifestPrefix": "FocusTest"
},
"createdAt": "2024-06-13T12:22:02+05:30",
"consumerOrgId": "",
"byodVendor": "GitHub"
}
}
Example Request for GCP
{
"vendorAccountId": "01A4AA-A4A7A3-AAAAAA",
"type": "gcp_byod_role",
"byodVendor": "GitHub",
"projectId": "project",
"byodCostReportSpec": {
"rootDir": "gcs_bucket",
"subDirs": "my/sub/dirs",
"manifestPrefix": "cost-and-usage"
}
}
Example Response for GCP
"result": {
"result": {
"id": "byod_01A4AA-A4A7A3-AAAAAA_GitHub",
"vendorAccountName": "byod_01A4AA-A4A7A3-AAAAAA_GitHub",
"vendorAccountId": "byod_01A4AA-A4A7A3-AAAAAA_GitHub",
"vendorKey": "byod",
"verification": {
"state": "unverified"
},
"authorization": {
"type": "gcp_byod_role",
"rootDir": "gcs_bucket",
"subDirs": "my/sub/dirs",
"manifestPrefix": "cost-and-usage"
},
"createdAt": "2024-06-13T12:29:45+05:30",
"consumerOrgId": "",
"byodVendor": "GitHub"
}
}
PUT v3/vendors/byod/accounts/<accountId>
This API is used for updating the credential with the given ID
Example Request for AWS
{
"vendorAccountId": "byod_111111111111_zoomnew",
"type": "aws_byod_role",
"byodVendor": "zoomnew",
"byodCostReportSpec": {
"rootDir": "byodbucket",
"subDirs": "subFolder1",
"manifestPrefix": "cost-and-usage"
}
}
Example Response for AWS
{
"result": {
"id": "byod_111111111111_zoomnew",
"vendorAccountName": "byod_111111111111_zoomnew",
"vendorAccountId": "byod_111111111111_zoomnew",
"vendorKey": "byod",
"verification": {
"state": "unverified"
},
"authorization": {
"type": "aws_byod_role",
"roleName": "CloudabilityBYODRole",
"externalId": "f1cf6025-a2e5-4252-b3bd-0580b384c1fa",
"rootDir": "byodbucket",
"subDirs": "subFolder1",
"manifestPrefix": "cost-and-usage"
},
"createdAt": "2024-06-17T14:54:27+05:30",
"consumerOrgId": "",
"byodVendor": "zoomnew"
}
}
GET /v3/vendors/byod/accounts/<accountID>
This API is used for returning byod credentials for the given account.
Example Response for AWS
{
"result": {
"id": "byod_111111111111_GitHub",
"vendorAccountName": "byod_111111111111_GitHub",
"vendorAccountId": "byod_111111111111_GitHub",
"vendorKey": "byod",
"verification": {
"state": "unverified"
},
"authorization": {
"type": "aws_byod_role",
"roleName": "CloudabilityBYODRole",
"externalId": "8e68ee11-8685-414b-982c-32871d62b322",
"rootDir": "s3byodbucket",
"subDirs": "subFolders",
"manifestPrefix": "cost-and-usage"
},
"createdAt": "2024-06-12T11:27:55+05:30",
"consumerOrgId": "",
"byodVendor": "GitHub"
}
}
Example Response for Azure
{
"result": {
"id": "byod_1111111_GitHub",
"vendorAccountName": "byod_1111111_GitHub",
"vendorAccountId": "byod_1111111_GitHub",
"vendorKey": "byod",
"verification": {
"state": "verified",
"lastVerificationAttemptedAt": "2024-06-17T09:19:53+05:30"
},
"authorization": {
"type": "azure_byod",
"tenantId": "cf2c724d-8bfd-4b66-813d-e6f9df4f3022",
"tenancyId": "cf2c724d-8bfd-4b66-813d-e6f9df4f3022"
},
"createdAt": "2024-06-13T12:01:46+05:30",
"consumerOrgId": "",
"byodVendor": "GitHub"
}
}
Example Response for GCP
{
"result": {
"id": "byod_01A091-A83A6A-1A55AA_GitHub",
"vendorAccountName": "byod_01A091-A83A6A-1A55AA_GitHub",
"vendorAccountId": "byod_01A091-A83A6A-1A55AA_GitHub",
"vendorKey": "byod",
"verification": {
"state": "verified",
"lastVerificationAttemptedAt": "2024-06-17T09:13:14+05:30"
},
"authorization": {
"type": "gcp_byod_role",
"rootDir": "staging-rightsizing-test",
"subDirs": "byod_data",
"manifestPrefix": "cost-and-usage"
},
"createdAt": "2024-06-13T12:52:44+05:30",
"consumerOrgId": "",
"byodVendor": "GitHub"
}
}
GET v3/vendors/byod/accounts
This API is used for returning all byod credentials for given org.
Example Response
{
"result": [
{
"id": "byod_111111111111_GitHub",
"vendorAccountName": "byod_111111111111_GitHub",
"vendorAccountId": "byod_111111111111_GitHub",
"vendorKey": "byod",
"verification": {
"state": "verified",
"lastVerificationAttemptedAt": "2024-06-11T17:44:01+05:30"
},
"authorization": {
"type": "aws_byod_role",
"roleName": "CloudabilityByodRole",
"externalId": "11111111-2222-3333-4444-555555555555",
"region": "us-west-2",
"rootDir": "s3byodbucket",
"subDirs": "subFolder",
"manifestPrefix": "cost-and-usage"
},
"createdAt": "2024-06-11T17:42:31+05:30",
"consumerOrgId": "",
"byodVendor": "GitHub"
},
{
"id": "byod_111111111111_GitHub",
"vendorAccountName": "byod_111111111111_GitHub",
"vendorAccountId": "byod_111111111111_GitHub",
"vendorKey": "byod",
"verification": {
"state": "unverified"
},
"authorization": {
"type": "aws_byod_role",
"roleName": "CloudabilityBYODRole",
"externalId": "8e68ee11-8685-414b-982c-32871d62b322",
"rootDir": "s3byodbucket",
"subDirs": "subFolder",
"manifestPrefix": "cost-and-usage"
},
"createdAt": "2024-06-12T11:27:55+05:30",
"consumerOrgId": "",
"byodVendor": "GitHub"
}
]
}
DELETE v3/vendors/byod/accounts/:accountId
This API is used for deleting the credential with the given ID.
Example Response
{
"result": {
"message": "Successfully deleted",
"vendorKey": "byod",
"vendorAccountId": "111111111111"
}
}
DELETE v3/vendors/byod/accounts/:accountId
This API is used for deleting the credential with the given ID.
Example Response
{
"result": {
"message": "Successfully deleted",
"vendorKey": "byod",
"vendorAccountId": "111111111111"
}
}
POST v3/vendors/byod/accounts/:accountId/verification
This API is used for verifying the credential with the given ID.
Example Response for AWS
{
"result": {
"id": "byod_111111111111_GitHub",
"vendorAccountName": "byod_111111111111_GitHub",
"vendorAccountId": "byod_111111111111_GitHub",
"vendorKey": "byod",
"verification": {
"state": "verified",
"lastVerificationAttemptedAt": "2024-06-17T09:08:58+05:30"
},
"authorization": {
"type": "aws_byod_role",
"roleName": "CloudabilityByodRole",
"externalId": "11111111-2222-3333-4444-555555555555",
"region": "us-west-2",
"rootDir": "s3byodbucket",
"subDirs": "subFolder",
"manifestPrefix": "cost-and-usage"
},
"createdAt": "2024-06-11T17:42:31+05:30",
"consumerOrgId": "",
"byodVendor": "GitHub"
}
}
Example Response for Azure
{
"result": {
"id": "byod_1111111_GitHub",
"vendorAccountName": "byod_1111111_GitHub",
"vendorAccountId": "byod_1111111_GitHub",
"vendorKey": "byod",
"verification": {
"state": "verified",
"lastVerificationAttemptedAt": "2024-06-17T09:19:53+05:30"
},
"authorization": {
"type": "azure_byod",
"tenantId": "aa2a724a-8aaa-4a66-813a-a6a9aa4a3022",
"tenancyId": "aa2a724a-8aaa-4a66-813a-a6a9aa4a3022"
},
"createdAt": "2024-06-13T12:01:46+05:30",
"consumerOrgId": "",
"byodVendor": "GitHub"
}
}
Example Response for GCP
{
"result": {
"id": "byod_01A091-A83A6A-1A55AA_GitHub",
"vendorAccountName": "byod_01A091-A83A6A-1A55AA_GitHub",
"vendorAccountId": "byod_01A091-A83A6A-1A55AA_GitHub",
"vendorKey": "byod",
"verification": {
"state": "verified",
"lastVerificationAttemptedAt": "2024-06-17T09:13:14+05:30"
},
"authorization": {
"type": "gcp_byod_role",
"rootDir": "staging-rightsizing-test",
"subDirs": "byod_data",
"manifestPrefix": "cost-and-usage"
},
"createdAt": "2024-06-13T12:52:44+05:30",
"consumerOrgId": "",
"byodVendor": "GitHub"
}
}
POST v3/vendors/databricks/accounts/:accountId/archive
This API is used for archiving the credential with the given ID.
Example Response for AWS
{
"result": {
"id": "byod_999999999933_GitHub",
"vendorAccountName": "byod_999999999933_GitHub",
"vendorAccountId": "byod_999999999933_GitHub",
"vendorKey": "byod",
"verification": {
"state": "archived"
},
"meta": {},
"consumerOrgId": ""
}
}