DataSource #
A DataSource is a plugin instance collecting external cost data. External cost data consists of raw data and the plugin information used for collection.
Package : spaceone.api.cost_analysis.v1
DataSource #
DataSource Methods:
register #
Registers a DataSource with information of the plugin to use. Information of the plugin includes version, provider, and upgrade_mode.
POST /cost-analysis/v1/data-source/register
name (string)
Requireddata_source_type (DataSourceType)
Requiredresource_group (ResourceGroup)
Requiredprovider (string)
secret_type (SecretType)
secret_filter (SecretFilter)
template (Struct)
plugin_info (PluginInfo)
tags (Struct)
workspace_id (string)
{
"name": "AWS HyperBilling Data Source test",
"data_source_type": "EXTERNAL",
"plugin_info": {
"plugin_id": "plugin-aws-hyperbilling-cost-datasource",
"version": "1.0.4",
"options": {},
"metadata": {
"data_source_rules": [
{
"conditions_policy": "ALWAYS",
"options": {
"stop_processing": true
},
"actions": {
"match_service_account": {
"source": "account",
"target": "data.account_id"
}
},
"conditions": [],
"tags": {},
"name": "match_service_account"
}
]
},
"secret_id": "secret-ca134639483",
"upgrade_mode": "AUTO"
},
"tags": {"a": "b"}
}data_source_id (string)
Requiredname (string)
Requiredstate (State)
Requireddata_source_type (DataSourceType)
Requiredpermissions (Struct)
Requiredprovider (string)
Requiredsecret_type (SecretType)
Requiredsecret_filter (SecretFilter)
Requiredplugin_info (PluginInfo)
Requiredtemplate (Struct)
Requiredtags (Struct)
Requiredcost_tag_keys (string)
RepeatedRequiredcost_additional_info_keys (string)
RepeatedRequiredcost_data_keys (string)
RepeatedRequireddata_source_account_count (int32)
Requiredconnected_workspace_count (int32)
Requiredresource_group (ResourceGroup)
Requireddomain_id (string)
Requiredworkspace_id (string)
Requiredcreated_at (string)
Requiredupdated_at (string)
Requiredlast_synchronized_at (string)
Required
{
"data_source_id": "ds-085d1e872789",
"name": "AWS HyperBilling Data Source test",
"state": "ENABLED",
"data_source_type": "EXTERNAL",
"plugin_info": {
"plugin_id": "plugin-aws-hyperbilling-cost-datasource",
"version": "1.0.4",
"options": {},
"metadata": {
"data_source_rules": [
{
"options": {
"stop_processing": true
},
"actions": {
"match_service_account": {
"source": "account",
"target": "data.account_id"
}
},
"domain_id": "domain-58010aa2e451",
"conditions": [],
"name": "match_service_account",
"tags": {},
"data_source_id": "ds-085d1e872789",
"conditions_policy": "ALWAYS"
}
]
},
"secret_id": "secret-ca134639483",
"upgrade_mode": "AUTO"
},
"template": {},
"tags": {
"a": "b"
},
"cost_tag_keys": [
"Name",
"Environment",
"Role",
"Service"
],
"cost_additional_info_keys": [
"Instance Type",
"Usage Type Details"
],
"cost_data_keys": [
"AmortizedCost",
"BlendedCost",
]
"domain_id": "domain-58010aa2e451",
"created_at": "2022-07-19T10:58:36.080Z"
}update #
Updates a specific DataSource. You can make changes in DataSource settings, including name and tags.
POST /cost-analysis/v1/data-source/update
data_source_id (string)
Requiredname (string)
secret_filter (SecretFilter)
template (Struct)
tags (Struct)
{
"data_source_id": "ds-085d1e872789",
"name": "AWS HyperBilling Data Source test2",
"tags": {
"type": "test"
}
}data_source_id (string)
Requiredname (string)
Requiredstate (State)
Requireddata_source_type (DataSourceType)
Requiredpermissions (Struct)
Requiredprovider (string)
Requiredsecret_type (SecretType)
Requiredsecret_filter (SecretFilter)
Requiredplugin_info (PluginInfo)
Requiredtemplate (Struct)
Requiredtags (Struct)
Requiredcost_tag_keys (string)
RepeatedRequiredcost_additional_info_keys (string)
RepeatedRequiredcost_data_keys (string)
RepeatedRequireddata_source_account_count (int32)
Requiredconnected_workspace_count (int32)
Requiredresource_group (ResourceGroup)
Requireddomain_id (string)
Requiredworkspace_id (string)
Requiredcreated_at (string)
Requiredupdated_at (string)
Requiredlast_synchronized_at (string)
Required
{
"data_source_id": "ds-085d1e872789",
"name": "AWS HyperBilling Data Source test",
"state": "ENABLED",
"data_source_type": "EXTERNAL",
"plugin_info": {
"plugin_id": "plugin-aws-hyperbilling-cost-datasource",
"version": "1.0.4",
"options": {},
"metadata": {
"data_source_rules": [
{
"options": {
"stop_processing": true
},
"actions": {
"match_service_account": {
"source": "account",
"target": "data.account_id"
}
},
"domain_id": "domain-58010aa2e451",
"conditions": [],
"name": "match_service_account",
"tags": {},
"data_source_id": "ds-085d1e872789",
"conditions_policy": "ALWAYS"
}
]
},
"secret_id": "secret-ca134639483",
"upgrade_mode": "AUTO"
},
"template": {},
"tags": {
"a": "b"
},
"cost_tag_keys": [
"Name",
"Environment",
"Role",
"Service"
],
"cost_additional_info_keys": [
"Instance Type",
"Usage Type Details"
],
"cost_data_keys": [
"AmortizedCost",
"BlendedCost",
]
"domain_id": "domain-58010aa2e451",
"created_at": "2022-07-19T10:58:36.080Z"
}update_permissions #
POST /cost-analysis/v1/data-source/update-permissions
UpdateDataSourcePermissionsRequest
data_source_id (string)
Requiredpermissions (Struct)
Required
{
"data_source_id" : "ds-12331222",
"permissions" : {"deny": ["data.PayAsYouGo", "data.ActualCost"]}
}data_source_id (string)
Requiredname (string)
Requiredstate (State)
Requireddata_source_type (DataSourceType)
Requiredpermissions (Struct)
Requiredprovider (string)
Requiredsecret_type (SecretType)
Requiredsecret_filter (SecretFilter)
Requiredplugin_info (PluginInfo)
Requiredtemplate (Struct)
Requiredtags (Struct)
Requiredcost_tag_keys (string)
RepeatedRequiredcost_additional_info_keys (string)
RepeatedRequiredcost_data_keys (string)
RepeatedRequireddata_source_account_count (int32)
Requiredconnected_workspace_count (int32)
Requiredresource_group (ResourceGroup)
Requireddomain_id (string)
Requiredworkspace_id (string)
Requiredcreated_at (string)
Requiredupdated_at (string)
Requiredlast_synchronized_at (string)
Required
{
"data_source_id": "ds-085d1e872789",
"name": "AWS HyperBilling Data Source test",
"state": "ENABLED",
"data_source_type": "EXTERNAL",
"plugin_info": {
"plugin_id": "plugin-aws-hyperbilling-cost-datasource",
"version": "1.0.4",
"options": {},
"metadata": {
"data_source_rules": [
{
"options": {
"stop_processing": true
},
"actions": {
"match_service_account": {
"source": "account",
"target": "data.account_id"
}
},
"domain_id": "domain-58010aa2e451",
"conditions": [],
"name": "match_service_account",
"tags": {},
"data_source_id": "ds-085d1e872789",
"conditions_policy": "ALWAYS"
}
]
},
"secret_id": "secret-ca134639483",
"upgrade_mode": "AUTO"
},
"template": {},
"tags": {
"a": "b"
},
"cost_tag_keys": [
"Name",
"Environment",
"Role",
"Service"
],
"cost_additional_info_keys": [
"Instance Type",
"Usage Type Details"
],
"cost_data_keys": [
"AmortizedCost",
"BlendedCost",
]
"domain_id": "domain-58010aa2e451",
"created_at": "2022-07-19T10:58:36.080Z"
}update_plugin #
Updates the plugin of a specific DataSource. This method resets the plugin data in the DataSource to update the metadata.
POST /cost-analysis/v1/data-source/update-plugin
data_source_id (string)
Requiredversion (string)
options (Struct)
upgrade_mode (UpgradeMode)
{
"data_source_id": "ds-085d1e872789",
"version": "1.0.4",
"options": {},
"upgrade_mode": "AUTO"
}data_source_id (string)
Requiredname (string)
Requiredstate (State)
Requireddata_source_type (DataSourceType)
Requiredpermissions (Struct)
Requiredprovider (string)
Requiredsecret_type (SecretType)
Requiredsecret_filter (SecretFilter)
Requiredplugin_info (PluginInfo)
Requiredtemplate (Struct)
Requiredtags (Struct)
Requiredcost_tag_keys (string)
RepeatedRequiredcost_additional_info_keys (string)
RepeatedRequiredcost_data_keys (string)
RepeatedRequireddata_source_account_count (int32)
Requiredconnected_workspace_count (int32)
Requiredresource_group (ResourceGroup)
Requireddomain_id (string)
Requiredworkspace_id (string)
Requiredcreated_at (string)
Requiredupdated_at (string)
Requiredlast_synchronized_at (string)
Required
{
"data_source_id": "ds-085d1e872789",
"name": "AWS HyperBilling Data Source test",
"state": "ENABLED",
"data_source_type": "EXTERNAL",
"plugin_info": {
"plugin_id": "plugin-aws-hyperbilling-cost-datasource",
"version": "1.0.4",
"options": {},
"metadata": {
"data_source_rules": [
{
"options": {
"stop_processing": true
},
"actions": {
"match_service_account": {
"source": "account",
"target": "data.account_id"
}
},
"domain_id": "domain-58010aa2e451",
"conditions": [],
"name": "match_service_account",
"tags": {},
"data_source_id": "ds-085d1e872789",
"conditions_policy": "ALWAYS"
}
]
},
"secret_id": "secret-ca134639483",
"upgrade_mode": "AUTO"
},
"template": {},
"tags": {
"a": "b"
},
"cost_tag_keys": [
"Name",
"Environment",
"Role",
"Service"
],
"cost_additional_info_keys": [
"Instance Type",
"Usage Type Details"
],
"cost_data_keys": [
"AmortizedCost",
"BlendedCost",
]
"domain_id": "domain-58010aa2e451",
"created_at": "2022-07-19T10:58:36.080Z"
}update_secret_data #
Updates the secret data of plugin for DataSource. This method updates the secret data in the DataSource to update the secret_data.
POST /cost-analysis/v1/data-source/update-secret-data
data_source_id (string)
Requiredname (string)
Requiredstate (State)
Requireddata_source_type (DataSourceType)
Requiredpermissions (Struct)
Requiredprovider (string)
Requiredsecret_type (SecretType)
Requiredsecret_filter (SecretFilter)
Requiredplugin_info (PluginInfo)
Requiredtemplate (Struct)
Requiredtags (Struct)
Requiredcost_tag_keys (string)
RepeatedRequiredcost_additional_info_keys (string)
RepeatedRequiredcost_data_keys (string)
RepeatedRequireddata_source_account_count (int32)
Requiredconnected_workspace_count (int32)
Requiredresource_group (ResourceGroup)
Requireddomain_id (string)
Requiredworkspace_id (string)
Requiredcreated_at (string)
Requiredupdated_at (string)
Requiredlast_synchronized_at (string)
Required
{
"data_source_id": "ds-085d1e872789",
"name": "AWS HyperBilling Data Source test",
"state": "ENABLED",
"data_source_type": "EXTERNAL",
"plugin_info": {
"plugin_id": "plugin-aws-hyperbilling-cost-datasource",
"version": "1.0.4",
"options": {},
"metadata": {
"data_source_rules": [
{
"options": {
"stop_processing": true
},
"actions": {
"match_service_account": {
"source": "account",
"target": "data.account_id"
}
},
"domain_id": "domain-58010aa2e451",
"conditions": [],
"name": "match_service_account",
"tags": {},
"data_source_id": "ds-085d1e872789",
"conditions_policy": "ALWAYS"
}
]
},
"secret_id": "secret-ca134639483",
"upgrade_mode": "AUTO"
},
"template": {},
"tags": {
"a": "b"
},
"cost_tag_keys": [
"Name",
"Environment",
"Role",
"Service"
],
"cost_additional_info_keys": [
"Instance Type",
"Usage Type Details"
],
"cost_data_keys": [
"AmortizedCost",
"BlendedCost",
]
"domain_id": "domain-58010aa2e451",
"created_at": "2022-07-19T10:58:36.080Z"
}verify_plugin #
Verifies the plugin of a specific DataSource. This method validates the plugin data, version and endpoint.
POST /cost-analysis/v1/data-source/verify-plugin
enable #
Enables a specific DataSource. By enabling a DataSource, you can communicate with an external cloud service via the plugin.
POST /cost-analysis/v1/data-source/enable
data_source_id (string)
Requiredname (string)
Requiredstate (State)
Requireddata_source_type (DataSourceType)
Requiredpermissions (Struct)
Requiredprovider (string)
Requiredsecret_type (SecretType)
Requiredsecret_filter (SecretFilter)
Requiredplugin_info (PluginInfo)
Requiredtemplate (Struct)
Requiredtags (Struct)
Requiredcost_tag_keys (string)
RepeatedRequiredcost_additional_info_keys (string)
RepeatedRequiredcost_data_keys (string)
RepeatedRequireddata_source_account_count (int32)
Requiredconnected_workspace_count (int32)
Requiredresource_group (ResourceGroup)
Requireddomain_id (string)
Requiredworkspace_id (string)
Requiredcreated_at (string)
Requiredupdated_at (string)
Requiredlast_synchronized_at (string)
Required
{
"data_source_id": "ds-085d1e872789",
"name": "AWS HyperBilling Data Source test",
"state": "ENABLED",
"data_source_type": "EXTERNAL",
"plugin_info": {
"plugin_id": "plugin-aws-hyperbilling-cost-datasource",
"version": "1.0.4",
"options": {},
"metadata": {
"data_source_rules": [
{
"options": {
"stop_processing": true
},
"actions": {
"match_service_account": {
"source": "account",
"target": "data.account_id"
}
},
"domain_id": "domain-58010aa2e451",
"conditions": [],
"name": "match_service_account",
"tags": {},
"data_source_id": "ds-085d1e872789",
"conditions_policy": "ALWAYS"
}
]
},
"secret_id": "secret-ca134639483",
"upgrade_mode": "AUTO"
},
"template": {},
"tags": {
"a": "b"
},
"cost_tag_keys": [
"Name",
"Environment",
"Role",
"Service"
],
"cost_additional_info_keys": [
"Instance Type",
"Usage Type Details"
],
"cost_data_keys": [
"AmortizedCost",
"BlendedCost",
]
"domain_id": "domain-58010aa2e451",
"created_at": "2022-07-19T10:58:36.080Z"
}disable #
Disables a specific DataSource. By disabling a DataSource, you can block communication with an external cloud service via the plugin.
POST /cost-analysis/v1/data-source/disable
data_source_id (string)
Requiredname (string)
Requiredstate (State)
Requireddata_source_type (DataSourceType)
Requiredpermissions (Struct)
Requiredprovider (string)
Requiredsecret_type (SecretType)
Requiredsecret_filter (SecretFilter)
Requiredplugin_info (PluginInfo)
Requiredtemplate (Struct)
Requiredtags (Struct)
Requiredcost_tag_keys (string)
RepeatedRequiredcost_additional_info_keys (string)
RepeatedRequiredcost_data_keys (string)
RepeatedRequireddata_source_account_count (int32)
Requiredconnected_workspace_count (int32)
Requiredresource_group (ResourceGroup)
Requireddomain_id (string)
Requiredworkspace_id (string)
Requiredcreated_at (string)
Requiredupdated_at (string)
Requiredlast_synchronized_at (string)
Required
{
"data_source_id": "ds-085d1e872789",
"name": "AWS HyperBilling Data Source test",
"state": "ENABLED",
"data_source_type": "EXTERNAL",
"plugin_info": {
"plugin_id": "plugin-aws-hyperbilling-cost-datasource",
"version": "1.0.4",
"options": {},
"metadata": {
"data_source_rules": [
{
"options": {
"stop_processing": true
},
"actions": {
"match_service_account": {
"source": "account",
"target": "data.account_id"
}
},
"domain_id": "domain-58010aa2e451",
"conditions": [],
"name": "match_service_account",
"tags": {},
"data_source_id": "ds-085d1e872789",
"conditions_policy": "ALWAYS"
}
]
},
"secret_id": "secret-ca134639483",
"upgrade_mode": "AUTO"
},
"template": {},
"tags": {
"a": "b"
},
"cost_tag_keys": [
"Name",
"Environment",
"Role",
"Service"
],
"cost_additional_info_keys": [
"Instance Type",
"Usage Type Details"
],
"cost_data_keys": [
"AmortizedCost",
"BlendedCost",
]
"domain_id": "domain-58010aa2e451",
"created_at": "2022-07-19T10:58:36.080Z"
}deregister #
Deregisters and deletes a specific DataSource. You must specify the data_source_id of the DataSource to deregister.
POST /cost-analysis/v1/data-source/deregister
data_source_id (string)
Requiredcascade_delete_cost (bool)
Default value is true. If true delete all cost data related to data_source_id
{
"data_source_id": "ds-085d1e872789",
"cascade_delete_cost": true,
"domain_id": "domain-085d1e872789"
}sync #
Manually runs a specific DataSource to collect the cost data. This method is to get up-to-date cost data.
POST /cost-analysis/v1/data-source/sync
get #
Gets a specific DataSource. Prints detailed information about the DataSource, including name, state, and plugin_info.
POST /cost-analysis/v1/data-source/get
data_source_id (string)
Requiredname (string)
Requiredstate (State)
Requireddata_source_type (DataSourceType)
Requiredpermissions (Struct)
Requiredprovider (string)
Requiredsecret_type (SecretType)
Requiredsecret_filter (SecretFilter)
Requiredplugin_info (PluginInfo)
Requiredtemplate (Struct)
Requiredtags (Struct)
Requiredcost_tag_keys (string)
RepeatedRequiredcost_additional_info_keys (string)
RepeatedRequiredcost_data_keys (string)
RepeatedRequireddata_source_account_count (int32)
Requiredconnected_workspace_count (int32)
Requiredresource_group (ResourceGroup)
Requireddomain_id (string)
Requiredworkspace_id (string)
Requiredcreated_at (string)
Requiredupdated_at (string)
Requiredlast_synchronized_at (string)
Required
{
"data_source_id": "ds-085d1e872789",
"name": "AWS HyperBilling Data Source test",
"state": "ENABLED",
"data_source_type": "EXTERNAL",
"plugin_info": {
"plugin_id": "plugin-aws-hyperbilling-cost-datasource",
"version": "1.0.4",
"options": {},
"metadata": {
"data_source_rules": [
{
"options": {
"stop_processing": true
},
"actions": {
"match_service_account": {
"source": "account",
"target": "data.account_id"
}
},
"domain_id": "domain-58010aa2e451",
"conditions": [],
"name": "match_service_account",
"tags": {},
"data_source_id": "ds-085d1e872789",
"conditions_policy": "ALWAYS"
}
]
},
"secret_id": "secret-ca134639483",
"upgrade_mode": "AUTO"
},
"template": {},
"tags": {
"a": "b"
},
"cost_tag_keys": [
"Name",
"Environment",
"Role",
"Service"
],
"cost_additional_info_keys": [
"Instance Type",
"Usage Type Details"
],
"cost_data_keys": [
"AmortizedCost",
"BlendedCost",
]
"domain_id": "domain-58010aa2e451",
"created_at": "2022-07-19T10:58:36.080Z"
}list #
Gets a list of all DataSources. You can use a query to get a filtered list of DataSources.
POST /cost-analysis/v1/data-source/list
workspace_id (string)
Requiredquery (Query)
data_source_id (string)
name (string)
state (string)
data_source_type (DataSourceType)
provider (string)
connected_workspace_id (string)
{
"query": {}
}results (DataSourceInfo)
RepeatedRequiredtotal_count (int32)
Required
{
"results": [
{
"data_source_id": "ds-085d1e872789",
"name": "AWS HyperBilling Data Source test",
"state": "ENABLED",
"data_source_type": "EXTERNAL",
"plugin_info": {
"plugin_id": "plugin-aws-hyperbilling-cost-datasource",
"version": "1.0.4",
"options": {},
"metadata": {
"data_source_rules": [
{
"options": {
"stop_processing": true
},
"actions": {
"match_service_account": {
"source": "account",
"target": "data.account_id"
}
},
"domain_id": "domain-58010aa2e451",
"conditions": [],
"name": "match_service_account",
"tags": {},
"data_source_id": "ds-085d1e872789",
"conditions_policy": "ALWAYS"
}
]
},
"secret_id": "secret-ca134639483",
"upgrade_mode": "AUTO"
},
"template": {},
"tags": {
"a": "b"
},
"cost_tag_keys": [
"Name",
"Environment",
"Role",
"Service"
],
"cost_additional_info_keys": [
"Instance Type",
"Usage Type Details"
],
"cost_data_keys": [
"AmortizedCost",
"BlendedCost",
]
"domain_id": "domain-58010aa2e451",
"created_at": "2022-07-19T10:58:36.080Z"
}
],
"total_count": 2
}stat #
POST /cost-analysis/v1/data-source/stat
Message #
DataSourceInfo #
data_source_id (string)
Requiredname (string)
Requiredstate (State)
Requireddata_source_type (DataSourceType)
Requiredpermissions (Struct)
Requiredprovider (string)
Requiredsecret_type (SecretType)
Requiredsecret_filter (SecretFilter)
Requiredplugin_info (PluginInfo)
Requiredtemplate (Struct)
Requiredtags (Struct)
Requiredcost_tag_keys (string)
RepeatedRequiredcost_additional_info_keys (string)
RepeatedRequiredcost_data_keys (string)
RepeatedRequireddata_source_account_count (int32)
Requiredconnected_workspace_count (int32)
Requiredresource_group (ResourceGroup)
Requireddomain_id (string)
Requiredworkspace_id (string)
Requiredcreated_at (string)
Requiredupdated_at (string)
Requiredlast_synchronized_at (string)
Required
DataSourceQuery #
workspace_id (string)
Requiredquery (Query)
data_source_id (string)
name (string)
state (string)
data_source_type (DataSourceType)
provider (string)
connected_workspace_id (string)
DataSourceRequest #
data_source_id (string)
Required
DataSourceStatQuery #
query (StatisticsQuery)
Required
DataSourcesInfo #
results (DataSourceInfo)
RepeatedRequiredtotal_count (int32)
Required
DeregisterDataSourceRequest #
data_source_id (string)
Requiredcascade_delete_cost (bool)
Default value is true. If true delete all cost data related to data_source_id
PluginInfo #
plugin_id (string)
Requiredversion (string)
Requiredoptions (Struct)
Requiredmetadata (Struct)
Requiredsecret_data (Struct)
Requiredschema_id (string)
Requiredsecret_id (string)
Requiredupgrade_mode (UpgradeMode)
Required
RegisterDataSourceRequest #
name (string)
Requireddata_source_type (DataSourceType)
Requiredresource_group (ResourceGroup)
Requiredprovider (string)
secret_type (SecretType)
secret_filter (SecretFilter)
template (Struct)
plugin_info (PluginInfo)
tags (Struct)
workspace_id (string)
SecretFilter #
state (SecretFilterState)
Requiredsecrets (string)
RepeatedRequiredservice_accounts (string)
RepeatedRequiredschemas (string)
RepeatedRequired
SyncDataSourceRequest #
data_source_id (string)
Requiredstart (string)
no_preload_cache (bool)
UpdateDataSourcePermissionsRequest #
data_source_id (string)
Requiredpermissions (Struct)
Required
UpdateDataSourcePluginRequest #
data_source_id (string)
Requiredversion (string)
options (Struct)
upgrade_mode (UpgradeMode)
UpdateDataSourceRequest #
data_source_id (string)
Requiredname (string)
secret_filter (SecretFilter)
template (Struct)
tags (Struct)
UpdateSecretDataSourceRequest #
data_source_id (string)
Requiredsecret_schema_id (string)
Requiredsecret_data (Struct)
Required