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)
Required
data_source_type (DataSourceType)
Required
resource_group (ResourceGroup)
Required
provider (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)
Required
name (string)
Required
state (State)
Required
data_source_type (DataSourceType)
Required
permissions (Struct)
Required
provider (string)
Required
secret_type (SecretType)
Required
secret_filter (SecretFilter)
Required
plugin_info (PluginInfo)
Required
template (Struct)
Required
tags (Struct)
Required
cost_tag_keys (string)
Repeated
Required
cost_additional_info_keys (string)
Repeated
Required
cost_data_keys (string)
Repeated
Required
data_source_account_count (int32)
Required
connected_workspace_count (int32)
Required
resource_group (ResourceGroup)
Required
domain_id (string)
Required
workspace_id (string)
Required
created_at (string)
Required
updated_at (string)
Required
last_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)
Required
name (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)
Required
name (string)
Required
state (State)
Required
data_source_type (DataSourceType)
Required
permissions (Struct)
Required
provider (string)
Required
secret_type (SecretType)
Required
secret_filter (SecretFilter)
Required
plugin_info (PluginInfo)
Required
template (Struct)
Required
tags (Struct)
Required
cost_tag_keys (string)
Repeated
Required
cost_additional_info_keys (string)
Repeated
Required
cost_data_keys (string)
Repeated
Required
data_source_account_count (int32)
Required
connected_workspace_count (int32)
Required
resource_group (ResourceGroup)
Required
domain_id (string)
Required
workspace_id (string)
Required
created_at (string)
Required
updated_at (string)
Required
last_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)
Required
permissions (Struct)
Required
{
"data_source_id" : "ds-12331222",
"permissions" : {"deny": ["data.PayAsYouGo", "data.ActualCost"]}
}
data_source_id (string)
Required
name (string)
Required
state (State)
Required
data_source_type (DataSourceType)
Required
permissions (Struct)
Required
provider (string)
Required
secret_type (SecretType)
Required
secret_filter (SecretFilter)
Required
plugin_info (PluginInfo)
Required
template (Struct)
Required
tags (Struct)
Required
cost_tag_keys (string)
Repeated
Required
cost_additional_info_keys (string)
Repeated
Required
cost_data_keys (string)
Repeated
Required
data_source_account_count (int32)
Required
connected_workspace_count (int32)
Required
resource_group (ResourceGroup)
Required
domain_id (string)
Required
workspace_id (string)
Required
created_at (string)
Required
updated_at (string)
Required
last_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)
Required
version (string)
options (Struct)
upgrade_mode (UpgradeMode)
{
"data_source_id": "ds-085d1e872789",
"version": "1.0.4",
"options": {},
"upgrade_mode": "AUTO"
}
data_source_id (string)
Required
name (string)
Required
state (State)
Required
data_source_type (DataSourceType)
Required
permissions (Struct)
Required
provider (string)
Required
secret_type (SecretType)
Required
secret_filter (SecretFilter)
Required
plugin_info (PluginInfo)
Required
template (Struct)
Required
tags (Struct)
Required
cost_tag_keys (string)
Repeated
Required
cost_additional_info_keys (string)
Repeated
Required
cost_data_keys (string)
Repeated
Required
data_source_account_count (int32)
Required
connected_workspace_count (int32)
Required
resource_group (ResourceGroup)
Required
domain_id (string)
Required
workspace_id (string)
Required
created_at (string)
Required
updated_at (string)
Required
last_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)
Required
name (string)
Required
state (State)
Required
data_source_type (DataSourceType)
Required
permissions (Struct)
Required
provider (string)
Required
secret_type (SecretType)
Required
secret_filter (SecretFilter)
Required
plugin_info (PluginInfo)
Required
template (Struct)
Required
tags (Struct)
Required
cost_tag_keys (string)
Repeated
Required
cost_additional_info_keys (string)
Repeated
Required
cost_data_keys (string)
Repeated
Required
data_source_account_count (int32)
Required
connected_workspace_count (int32)
Required
resource_group (ResourceGroup)
Required
domain_id (string)
Required
workspace_id (string)
Required
created_at (string)
Required
updated_at (string)
Required
last_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)
Required
name (string)
Required
state (State)
Required
data_source_type (DataSourceType)
Required
permissions (Struct)
Required
provider (string)
Required
secret_type (SecretType)
Required
secret_filter (SecretFilter)
Required
plugin_info (PluginInfo)
Required
template (Struct)
Required
tags (Struct)
Required
cost_tag_keys (string)
Repeated
Required
cost_additional_info_keys (string)
Repeated
Required
cost_data_keys (string)
Repeated
Required
data_source_account_count (int32)
Required
connected_workspace_count (int32)
Required
resource_group (ResourceGroup)
Required
domain_id (string)
Required
workspace_id (string)
Required
created_at (string)
Required
updated_at (string)
Required
last_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)
Required
name (string)
Required
state (State)
Required
data_source_type (DataSourceType)
Required
permissions (Struct)
Required
provider (string)
Required
secret_type (SecretType)
Required
secret_filter (SecretFilter)
Required
plugin_info (PluginInfo)
Required
template (Struct)
Required
tags (Struct)
Required
cost_tag_keys (string)
Repeated
Required
cost_additional_info_keys (string)
Repeated
Required
cost_data_keys (string)
Repeated
Required
data_source_account_count (int32)
Required
connected_workspace_count (int32)
Required
resource_group (ResourceGroup)
Required
domain_id (string)
Required
workspace_id (string)
Required
created_at (string)
Required
updated_at (string)
Required
last_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)
Required
cascade_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)
Required
name (string)
Required
state (State)
Required
data_source_type (DataSourceType)
Required
permissions (Struct)
Required
provider (string)
Required
secret_type (SecretType)
Required
secret_filter (SecretFilter)
Required
plugin_info (PluginInfo)
Required
template (Struct)
Required
tags (Struct)
Required
cost_tag_keys (string)
Repeated
Required
cost_additional_info_keys (string)
Repeated
Required
cost_data_keys (string)
Repeated
Required
data_source_account_count (int32)
Required
connected_workspace_count (int32)
Required
resource_group (ResourceGroup)
Required
domain_id (string)
Required
workspace_id (string)
Required
created_at (string)
Required
updated_at (string)
Required
last_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)
Required
query (Query)
data_source_id (string)
name (string)
state (string)
data_source_type (DataSourceType)
provider (string)
connected_workspace_id (string)
{
"query": {}
}
results (DataSourceInfo)
Repeated
Required
total_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)
Required
name (string)
Required
state (State)
Required
data_source_type (DataSourceType)
Required
permissions (Struct)
Required
provider (string)
Required
secret_type (SecretType)
Required
secret_filter (SecretFilter)
Required
plugin_info (PluginInfo)
Required
template (Struct)
Required
tags (Struct)
Required
cost_tag_keys (string)
Repeated
Required
cost_additional_info_keys (string)
Repeated
Required
cost_data_keys (string)
Repeated
Required
data_source_account_count (int32)
Required
connected_workspace_count (int32)
Required
resource_group (ResourceGroup)
Required
domain_id (string)
Required
workspace_id (string)
Required
created_at (string)
Required
updated_at (string)
Required
last_synchronized_at (string)
Required
DataSourceQuery #
workspace_id (string)
Required
query (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)
Repeated
Required
total_count (int32)
Required
DeregisterDataSourceRequest #
data_source_id (string)
Required
cascade_delete_cost (bool)
Default value is true. If true delete all cost data related to data_source_id
PluginInfo #
plugin_id (string)
Required
version (string)
Required
options (Struct)
Required
metadata (Struct)
Required
secret_data (Struct)
Required
schema_id (string)
Required
secret_id (string)
Required
upgrade_mode (UpgradeMode)
Required
RegisterDataSourceRequest #
name (string)
Required
data_source_type (DataSourceType)
Required
resource_group (ResourceGroup)
Required
provider (string)
secret_type (SecretType)
secret_filter (SecretFilter)
template (Struct)
plugin_info (PluginInfo)
tags (Struct)
workspace_id (string)
SecretFilter #
state (SecretFilterState)
Required
secrets (string)
Repeated
Required
service_accounts (string)
Repeated
Required
schemas (string)
Repeated
Required
SyncDataSourceRequest #
data_source_id (string)
Required
start (string)
no_preload_cache (bool)
UpdateDataSourcePermissionsRequest #
data_source_id (string)
Required
permissions (Struct)
Required
UpdateDataSourcePluginRequest #
data_source_id (string)
Required
version (string)
options (Struct)
upgrade_mode (UpgradeMode)
UpdateDataSourceRequest #
data_source_id (string)
Required
name (string)
secret_filter (SecretFilter)
template (Struct)
tags (Struct)
UpdateSecretDataSourceRequest #
data_source_id (string)
Required
secret_schema_id (string)
Required
secret_data (Struct)
Required