# DataSource

A DataSource is a plugin instance collecting `metric` and `log` data from Cloudforet.

> **Package : spaceone.api.monitoring.v1**

\ <br>

## DataSource

**DataSource Methods:**

| Method                                                                                                                                 | Request                                                                                                                                                           | Response                                                                                                                              |
| -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| [**register**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#register)            | [RegisterDataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#registerdatasourcerequest)         | [DataSourceInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourceinfo)   |
| [**update**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#update)                | [UpdateDataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#updatedatasourcerequest)             | [DataSourceInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourceinfo)   |
| [**enable**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#enable)                | [DataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcerequest)                         | [DataSourceInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourceinfo)   |
| [**disable**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#disable)              | [DataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcerequest)                         | [DataSourceInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourceinfo)   |
| [**deregister**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#deregister)        | [DataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcerequest)                         | [Empty](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#empty)                     |
| [**update\_plugin**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#update_plugin) | [UpdateDataSourcePluginRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#updatedatasourcepluginrequest) | [DataSourceInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourceinfo)   |
| [**verify\_plugin**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#verify_plugin) | [DataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcerequest)                         | [Empty](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#empty)                     |
| [**get**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#get)                      | [DataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcerequest)                         | [DataSourceInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourceinfo)   |
| [**list**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#list)                    | [DataSourceQuery](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcequery)                             | [DataSourcesInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcesinfo) |
| [**stat**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#stat)                    | [DataSourceStatQuery](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcestatquery)                     | [Struct](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#struct)                   |

<br>

### register

Registers a DataSource with information of the plugin to use. Information of the plugin includes `version`, `provider`, `upgrade_mode`.

> **POST** /monitoring/v1/data-source/register

{{< tabs " register " >}}

{{< tab "Request Example" >}}

[RegisterDataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#registerdatasourcerequest)

* **name** (string) `Required`
* **plugin\_info** (DataSourcePluginInfo) `Required`
* **tags** (Struct)

{{< highlight json >}} { "name": "datasource-test", "plugin\_info": {"plugin\_id": "plugin-123456789012", "version": "1.1.4.20220617.135934", "options": {}, "provider": "aws", "metadata": { "supported\_resource\_type": \["inventory.Server", "inventory.CloudService"], "required\_keys": \["data.cloudwatch"], "supported\_stat": \["AVERAGE", "MAX", "MIN", "SUM"]}, "upgrade\_mode": "AUTO" }, "tags": {"a": "b"}, "domain\_id": "domain-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

[DataSourceInfo](#DATASOURCEINFO)

* **data\_source\_id** (string) `Required`
* **name** (string) `Required`
* **state** (State) `Required`
* **monitoring\_type** (MonitoringType) `Required`
* **provider** (string) `Required`
* **capability** (Struct) `Required`
* **plugin\_info** (DataSourcePluginInfo) `Required`
* **tags** (Struct) `Required`
* **domain\_id** (string) `Required`
* **created\_at** (string) `Required`

{{< highlight json >}} { "data\_source\_id": "ds-123456789012", "name": "datasource-test", "state": "ENABLED", "monitoring\_type": "METRIC", "provider": "aws", "capability": { "supported\_schema": \[ "aws\_access\_key", "aws\_assume\_role" ], "use\_resource\_secret": true, "monitoring\_type": "METRIC" }, "plugin\_info": { "plugin\_id": "plugin-123456789012", "version": "1.1.4.20220617.135934", "options": {}, "provider": "aws", "metadata": { "supported\_stat": \[ "AVERAGE", "MAX", "MIN", "SUM" ], "supported\_resource\_type": \[ "inventory.Server", "inventory.CloudService" ], "required\_keys": \[ "data.cloudwatch" ] }, "upgrade\_mode": "AUTO" }, "tags": { "a": "b" }, "domain\_id": "domain-123456789012", "created\_at": "2022-06-21T01:17:12.144Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### update

Updates a specific DataSource. You can make changes in DataSource settings, including `name` and `tags`.

> **POST** /monitoring/v1/data-source/update

{{< tabs " update " >}}

{{< tab "Request Example" >}}

[UpdateDataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#updatedatasourcerequest)

* **data\_source\_id** (string) `Required`
* **name** (string)
* **tags** (Struct)

{{< highlight json >}} { "data\_source\_id": "ds-123456789012", "name": "tmp-datasource\_test", "tags": {"b": "c"}, "domain\_id": "domain-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

[DataSourceInfo](#DATASOURCEINFO)

* **data\_source\_id** (string) `Required`
* **name** (string) `Required`
* **state** (State) `Required`
* **monitoring\_type** (MonitoringType) `Required`
* **provider** (string) `Required`
* **capability** (Struct) `Required`
* **plugin\_info** (DataSourcePluginInfo) `Required`
* **tags** (Struct) `Required`
* **domain\_id** (string) `Required`
* **created\_at** (string) `Required`

{{< highlight json >}} { "data\_source\_id": "ds-123456789012", "name": "datasource-test", "state": "ENABLED", "monitoring\_type": "METRIC", "provider": "aws", "capability": { "supported\_schema": \[ "aws\_access\_key", "aws\_assume\_role" ], "use\_resource\_secret": true, "monitoring\_type": "METRIC" }, "plugin\_info": { "plugin\_id": "plugin-123456789012", "version": "1.1.4.20220617.135934", "options": {}, "provider": "aws", "metadata": { "supported\_stat": \[ "AVERAGE", "MAX", "MIN", "SUM" ], "supported\_resource\_type": \[ "inventory.Server", "inventory.CloudService" ], "required\_keys": \[ "data.cloudwatch" ] }, "upgrade\_mode": "AUTO" }, "tags": { "a": "b" }, "domain\_id": "domain-123456789012", "created\_at": "2022-06-21T01:17:12.144Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### enable

Enables a specific DataSource. By enabling a DataSource, you can communicate with an external cloud service via the plugin.

> **POST** /monitoring/v1/data-source/enable

{{< tabs " enable " >}}

{{< tab "Request Example" >}}

[DataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcerequest)

* **data\_source\_id** (string) `Required`

{{< highlight json >}} { "data\_source\_id": "ds-6167ed6b42f4", "domain\_id": "domain-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

[DataSourceInfo](#DATASOURCEINFO)

* **data\_source\_id** (string) `Required`
* **name** (string) `Required`
* **state** (State) `Required`
* **monitoring\_type** (MonitoringType) `Required`
* **provider** (string) `Required`
* **capability** (Struct) `Required`
* **plugin\_info** (DataSourcePluginInfo) `Required`
* **tags** (Struct) `Required`
* **domain\_id** (string) `Required`
* **created\_at** (string) `Required`

{{< highlight json >}} { "data\_source\_id": "ds-123456789012", "name": "datasource-test", "state": "ENABLED", "monitoring\_type": "METRIC", "provider": "aws", "capability": { "supported\_schema": \[ "aws\_access\_key", "aws\_assume\_role" ], "use\_resource\_secret": true, "monitoring\_type": "METRIC" }, "plugin\_info": { "plugin\_id": "plugin-123456789012", "version": "1.1.4.20220617.135934", "options": {}, "provider": "aws", "metadata": { "supported\_stat": \[ "AVERAGE", "MAX", "MIN", "SUM" ], "supported\_resource\_type": \[ "inventory.Server", "inventory.CloudService" ], "required\_keys": \[ "data.cloudwatch" ] }, "upgrade\_mode": "AUTO" }, "tags": { "a": "b" }, "domain\_id": "domain-123456789012", "created\_at": "2022-06-21T01:17:12.144Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### disable

Disables a specific DataSource. By disabling a DataSource, you can block communication with an external cloud service via the plugin.

> **POST** /monitoring/v1/data-source/disable

{{< tabs " disable " >}}

{{< tab "Request Example" >}}

[DataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcerequest)

* **data\_source\_id** (string) `Required`

{{< highlight json >}} { "data\_source\_id": "ds-6167ed6b42f4", "domain\_id": "domain-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

[DataSourceInfo](#DATASOURCEINFO)

* **data\_source\_id** (string) `Required`
* **name** (string) `Required`
* **state** (State) `Required`
* **monitoring\_type** (MonitoringType) `Required`
* **provider** (string) `Required`
* **capability** (Struct) `Required`
* **plugin\_info** (DataSourcePluginInfo) `Required`
* **tags** (Struct) `Required`
* **domain\_id** (string) `Required`
* **created\_at** (string) `Required`

{{< highlight json >}} { "data\_source\_id": "ds-123456789012", "name": "datasource-test", "state": "ENABLED", "monitoring\_type": "METRIC", "provider": "aws", "capability": { "supported\_schema": \[ "aws\_access\_key", "aws\_assume\_role" ], "use\_resource\_secret": true, "monitoring\_type": "METRIC" }, "plugin\_info": { "plugin\_id": "plugin-123456789012", "version": "1.1.4.20220617.135934", "options": {}, "provider": "aws", "metadata": { "supported\_stat": \[ "AVERAGE", "MAX", "MIN", "SUM" ], "supported\_resource\_type": \[ "inventory.Server", "inventory.CloudService" ], "required\_keys": \[ "data.cloudwatch" ] }, "upgrade\_mode": "AUTO" }, "tags": { "a": "b" }, "domain\_id": "domain-123456789012", "created\_at": "2022-06-21T01:17:12.144Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### deregister

Deregisters and deletes a specific DataSource. You must specify the `data_source_id` of the DataSource to deregister.

> **POST** /monitoring/v1/data-source/deregister

{{< tabs " deregister " >}}

{{< tab "Request Example" >}}

[DataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcerequest)

* **data\_source\_id** (string) `Required`

{{< highlight json >}} { "data\_source\_id": "ds-6167ed6b42f4", "domain\_id": "domain-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### update\_plugin

Updates the plugin of a specific DataSource. This method resets the plugin data in the DataSource to update the `metadata`.

> **POST** /monitoring/v1/data-source/update-plugin

{{< tabs " update\_plugin " >}}

{{< tab "Request Example" >}}

[UpdateDataSourcePluginRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#updatedatasourcepluginrequest)

* **data\_source\_id** (string) `Required`
* **version** (string)
* **options** (Struct)
* **upgrade\_mode** (UpgradeMode)

{{< highlight json >}} { "data\_source\_id": "ds-6167ed6b42f4", "version": "1.1.3", "options": {}, "upgrade\_mode": "MANUAL", "domain\_id": "domain-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

[DataSourceInfo](#DATASOURCEINFO)

* **data\_source\_id** (string) `Required`
* **name** (string) `Required`
* **state** (State) `Required`
* **monitoring\_type** (MonitoringType) `Required`
* **provider** (string) `Required`
* **capability** (Struct) `Required`
* **plugin\_info** (DataSourcePluginInfo) `Required`
* **tags** (Struct) `Required`
* **domain\_id** (string) `Required`
* **created\_at** (string) `Required`

{{< highlight json >}} { "data\_source\_id": "ds-123456789012", "name": "datasource-test", "state": "ENABLED", "monitoring\_type": "METRIC", "provider": "aws", "capability": { "supported\_schema": \[ "aws\_access\_key", "aws\_assume\_role" ], "use\_resource\_secret": true, "monitoring\_type": "METRIC" }, "plugin\_info": { "plugin\_id": "plugin-123456789012", "version": "1.1.4.20220617.135934", "options": {}, "provider": "aws", "metadata": { "supported\_stat": \[ "AVERAGE", "MAX", "MIN", "SUM" ], "supported\_resource\_type": \[ "inventory.Server", "inventory.CloudService" ], "required\_keys": \[ "data.cloudwatch" ] }, "upgrade\_mode": "AUTO" }, "tags": { "a": "b" }, "domain\_id": "domain-123456789012", "created\_at": "2022-06-21T01:17:12.144Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### verify\_plugin

Verifies the plugin of a specific DataSource. This method validates the plugin data, `version` and `endpoint`.

> **POST** /monitoring/v1/data-source/verify-plugin

{{< tabs " verify\_plugin " >}}

{{< tab "Request Example" >}}

[DataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcerequest)

* **data\_source\_id** (string) `Required`

{{< highlight json >}} { "data\_source\_id": "ds-6167ed6b42f4", "domain\_id": "domain-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### get

Gets a specific DataSource. Prints detailed information about the DataSource, including `name`, `state`, and `plugin_info`.

> **POST** /monitoring/v1/data-source/get

{{< tabs " get " >}}

{{< tab "Request Example" >}}

[DataSourceRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcerequest)

* **data\_source\_id** (string) `Required`

{{< highlight json >}} { "data\_source\_id": "ds-6167ed6b42f4", "domain\_id": "domain-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

[DataSourceInfo](#DATASOURCEINFO)

* **data\_source\_id** (string) `Required`
* **name** (string) `Required`
* **state** (State) `Required`
* **monitoring\_type** (MonitoringType) `Required`
* **provider** (string) `Required`
* **capability** (Struct) `Required`
* **plugin\_info** (DataSourcePluginInfo) `Required`
* **tags** (Struct) `Required`
* **domain\_id** (string) `Required`
* **created\_at** (string) `Required`

{{< highlight json >}} { "data\_source\_id": "ds-123456789012", "name": "datasource-test", "state": "ENABLED", "monitoring\_type": "METRIC", "provider": "aws", "capability": { "supported\_schema": \[ "aws\_access\_key", "aws\_assume\_role" ], "use\_resource\_secret": true, "monitoring\_type": "METRIC" }, "plugin\_info": { "plugin\_id": "plugin-123456789012", "version": "1.1.4.20220617.135934", "options": {}, "provider": "aws", "metadata": { "supported\_stat": \[ "AVERAGE", "MAX", "MIN", "SUM" ], "supported\_resource\_type": \[ "inventory.Server", "inventory.CloudService" ], "required\_keys": \[ "data.cloudwatch" ] }, "upgrade\_mode": "AUTO" }, "tags": { "a": "b" }, "domain\_id": "domain-123456789012", "created\_at": "2022-06-21T01:17:12.144Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### list

Gets a list of all DataSources. You can use a query to get a filtered list of DataSources.

> **POST** /monitoring/v1/data-source/list

{{< tabs " list " >}}

{{< tab "Request Example" >}}

[DataSourceQuery](https://github.com/cloudforet-io/api-doc/blob/master/content/en/monitoring/v1/DataSource/README.md#datasourcequery)

* **query** (Query)
* **data\_source\_id** (string)
* **name** (string)
* **state** (string)
* **monitoring\_type** (MonitoringType)
* **provider** (string)

{{< highlight json >}} { "query": {}, "domain\_id": "domain-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

[DataSourcesInfo](#DATASOURCESINFO)

* **results** (DataSourceInfo) `Repeated` `Required`
* **total\_count** (int32) `Required`

{{< highlight json >}} { "results": \[ { "data\_source\_id": "ds-89f1e81528e9", "name": "AWS CloudTrail", "state": "ENABLED", "monitoring\_type": "LOG", "provider": "aws", "capability": { "use\_resource\_secret": true, "monitoring\_type": "LOG", "supported\_schema": \[ "aws\_access\_key", "aws\_assume\_role" ] }, "plugin\_info": { "plugin\_id": "plugin-9881b9b440a4", "version": "1.0-dev2", "options": {}, "provider": "aws", "metadata": { "required\_keys": \[ "reference.resource\_id" ], "supported\_resource\_type": \[ "inventory.Server", "inventory.CloudService" ] }, "upgrade\_mode": "AUTO" }, "tags": {}, "domain\_id": "domain-123456789012", "created\_at": "2021-03-31T08:39:45.532Z" } ], "total\_count": 2 } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### stat

> **POST** /monitoring/v1/data-source/stat

\ <br>

## Message

### DataSourceInfo

* **data\_source\_id** (string) `Required`
* **name** (string) `Required`
* **state** (State) `Required`
* **monitoring\_type** (MonitoringType) `Required`
* **provider** (string) `Required`
* **capability** (Struct) `Required`
* **plugin\_info** (DataSourcePluginInfo) `Required`
* **tags** (Struct) `Required`
* **domain\_id** (string) `Required`
* **created\_at** (string) `Required`

  <br>

### DataSourcePluginInfo

* **plugin\_id** (string) `Required`
* **version** (string) `Required`
* **options** (Struct) `Required`
* **metadata** (Struct) `Required`
* **upgrade\_mode** (UpgradeMode) `Required`
* **secret\_id** (string) `Required`
* **provider** (string) `Required`

  <br>

### DataSourceQuery

* **query** (Query)
* **data\_source\_id** (string)
* **name** (string)
* **state** (string)
* **monitoring\_type** (MonitoringType)
* **provider** (string)

  <br>

### DataSourceRequest

* **data\_source\_id** (string) `Required`

  <br>

### DataSourceStatQuery

* **query** (StatisticsQuery) `Required`

  <br>

### DataSourcesInfo

* **results** (DataSourceInfo) `Repeated` `Required`
* **total\_count** (int32) `Required`

  <br>

### RegisterDataSourceRequest

* **name** (string) `Required`
* **plugin\_info** (DataSourcePluginInfo) `Required`
* **tags** (Struct)

  <br>

### UpdateDataSourcePluginRequest

* **data\_source\_id** (string) `Required`
* **version** (string)
* **options** (Struct)
* **upgrade\_mode** (UpgradeMode)

  <br>

### UpdateDataSourceRequest

* **data\_source\_id** (string) `Required`
* **name** (string)
* **tags** (Struct)

  <br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cloudforet.gitbook.io/cloudforet-apis/content/en/monitoring/v1/datasource.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
