Collector

Collector #

A Collector is a plugin instance collecting cloud resources. A Collector can collect the resource data manually or by a pre-set schedule.

Package : spaceone.api.inventory.v1



Collector #

Collector Methods:

MethodRequestResponse
createCreateCollectorRequestCollectorInfo
updateUpdateCollectorRequestCollectorInfo
update_pluginUpdatePluginRequestCollectorInfo
verify_pluginVerifyPluginRequestEmpty
deleteCollectorRequestEmpty
getGetCollectorRequestCollectorInfo
listCollectorQueryCollectorsInfo
statCollectorStatQueryStruct
collectCollectRequestJobInfo

create #

Creates a new Collector with information of the plugin to use. Information of the plugin includes version, provider, and upgrade_mode.

POST /inventory/v1/collector/create

CreateCollectorRequest

  • name (string) Required

  • plugin_info (PluginInfo) Required

  • domain_id (string) Required

  • schedule (Scheduled)

  • provider (string)

  • tags (Struct)

  • secret_filter (SecretFilter)

{
   "name": "AWS Collector",
   "plugin_info": {
       "plugin_id": "plugin-30d21ef75a5d",
       "version": "1.13.13",
       "options": {},
       "metadata": {
           "filter_format": [],
           "supported_schedules": [
               "hours"
           ],
           "supported_resource_type": [
               "inventory.CloudService",
               "inventory.CloudServiceType",
               "inventory.Region"
           ],
           "supported_features": [
               "garbage_collection"
           ]
       },
       "upgrade_mode": "AUTO"
   },
   "schedule": {
       "state": "ENABLED",
       "hours": [0, 6, 12, 18]
   },
   "secret_filter": {
       "state": "ENABLED",
       "secrets": ["secret-xxx", "secret-yyy"],
       "service_accounts": ["sa-xxx", "sa-yyy"],
       "schemas": ["schema-xxx", "schema-yyy"]
   },
   "tags": {
       "type": "test"
   },
}

CollectorInfo

  • collector_id (string) Required

  • name (string) Required

  • plugin_info (PluginInfo) Required

  • tags (Struct) Required

  • provider (string) Required

  • capability (Struct) Required

  • schedule (Scheduled) Required

  • secret_filter (SecretFilter) Required

  • created_at (string) Required

  • last_collected_at (string) Required

  • domain_id (string) Required

{
   "collector_id": "collector-2c0847644f39",
   "name": "AWS Collector",
   "plugin_info": {
       "plugin_id": "plugin-30d21ef75a5d",
       "version": "1.13.13",
       "options": {},
       "metadata": {
           "supported_schedules": [
               "hours"
           ],
           "supported_resource_type": [
               "inventory.CloudService",
               "inventory.CloudServiceType",
               "inventory.Region"
           ],
           "filter_format": [],
           "supported_features": [
               "garbage_collection"
           ]
       },
       "upgrade_mode": "AUTO"
   },
   "tags": {
       "type": "test"
   },
   "created_at": "2022-06-17T06:33:27.195Z",
   "domain_id": "domain-58010aa2e451",
   "provider": "aws",
   "capability": {
       "supported_schema": [
           "aws_access_key"
       ]
   },
   "schedule": {
       "state": "ENABLED",
       "hours": [0, 6, 12, 18]
   },
   "secret_filter": {
       "state": "ENABLED",
       "secrets": ["secret-xxx", "secret-yyy"],
       "service_accounts": ["sa-xxx", "sa-yyy"],
       "schemas": ["schema-xxx", "schema-yyy"]
   },
   "last_collected_at": "2022-06-17T06:33:27.195Z"
}

update #

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

POST /inventory/v1/collector/update

UpdateCollectorRequest

  • collector_id (string) Required

  • domain_id (string) Required

  • name (string)

  • schedule (Scheduled)

  • secret_filter (SecretFilter)

  • tags (Struct)

{
   "collector_id": "collector-2c0847644f39",
   "name": "New AWS Collector",
   "plugin_info": {
       "plugin_id": "plugin-30d21ef75a5d",
       "version": "1.14.0",
       "provider": "aws",
       "upgrade_mode": "MANUAL"
   },
   "schedule": {
       "state": "ENABLED",
       "hours": [0, 6, 12, 18]
   },
   "secret_filter": {
       "state": "ENABLED",
       "secrets": ["secret-xxx", "secret-yyy"],
       "service_accounts": ["sa-xxx", "sa-yyy"],
       "schemas": ["schema-xxx", "schema-yyy"]
   },
   "tags": {
       "a": "b"
   }
}

CollectorInfo

  • collector_id (string) Required

  • name (string) Required

  • plugin_info (PluginInfo) Required

  • tags (Struct) Required

  • provider (string) Required

  • capability (Struct) Required

  • schedule (Scheduled) Required

  • secret_filter (SecretFilter) Required

  • created_at (string) Required

  • last_collected_at (string) Required

  • domain_id (string) Required

{
   "collector_id": "collector-2c0847644f39",
   "name": "AWS Collector",
   "plugin_info": {
       "plugin_id": "plugin-30d21ef75a5d",
       "version": "1.13.13",
       "options": {},
       "metadata": {
           "supported_schedules": [
               "hours"
           ],
           "supported_resource_type": [
               "inventory.CloudService",
               "inventory.CloudServiceType",
               "inventory.Region"
           ],
           "filter_format": [],
           "supported_features": [
               "garbage_collection"
           ]
       },
       "upgrade_mode": "AUTO"
   },
   "tags": {
       "type": "test"
   },
   "created_at": "2022-06-17T06:33:27.195Z",
   "domain_id": "domain-58010aa2e451",
   "provider": "aws",
   "capability": {
       "supported_schema": [
           "aws_access_key"
       ]
   },
   "schedule": {
       "state": "ENABLED",
       "hours": [0, 6, 12, 18]
   },
   "secret_filter": {
       "state": "ENABLED",
       "secrets": ["secret-xxx", "secret-yyy"],
       "service_accounts": ["sa-xxx", "sa-yyy"],
       "schemas": ["schema-xxx", "schema-yyy"]
   },
   "last_collected_at": "2022-06-17T06:33:27.195Z"
}

update_plugin #

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

POST /inventory/v1/collector/update-plugin

CollectorInfo

  • collector_id (string) Required

  • name (string) Required

  • plugin_info (PluginInfo) Required

  • tags (Struct) Required

  • provider (string) Required

  • capability (Struct) Required

  • schedule (Scheduled) Required

  • secret_filter (SecretFilter) Required

  • created_at (string) Required

  • last_collected_at (string) Required

  • domain_id (string) Required

{
   "collector_id": "collector-2c0847644f39",
   "name": "AWS Collector",
   "plugin_info": {
       "plugin_id": "plugin-30d21ef75a5d",
       "version": "1.13.13",
       "options": {},
       "metadata": {
           "supported_schedules": [
               "hours"
           ],
           "supported_resource_type": [
               "inventory.CloudService",
               "inventory.CloudServiceType",
               "inventory.Region"
           ],
           "filter_format": [],
           "supported_features": [
               "garbage_collection"
           ]
       },
       "upgrade_mode": "AUTO"
   },
   "tags": {
       "type": "test"
   },
   "created_at": "2022-06-17T06:33:27.195Z",
   "domain_id": "domain-58010aa2e451",
   "provider": "aws",
   "capability": {
       "supported_schema": [
           "aws_access_key"
       ]
   },
   "schedule": {
       "state": "ENABLED",
       "hours": [0, 6, 12, 18]
   },
   "secret_filter": {
       "state": "ENABLED",
       "secrets": ["secret-xxx", "secret-yyy"],
       "service_accounts": ["sa-xxx", "sa-yyy"],
       "schemas": ["schema-xxx", "schema-yyy"]
   },
   "last_collected_at": "2022-06-17T06:33:27.195Z"
}

verify_plugin #

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

POST /inventory/v1/collector/verify-plugin


delete #

Deletes a specific Collector. You must specify the collector_id of the Collector to delete.

POST /inventory/v1/collector/delete

CollectorRequest

  • collector_id (string) Required

  • domain_id (string) Required

{
   "collector_id": "collector-f2e4e9cc7f21"
}

get #

Gets a specific Collector. Prints detailed information about the Collector, including its state, basic information, and the plugin information used for cloud resource collection.

POST /inventory/v1/collector/get

GetCollectorRequest

  • collector_id (string) Required

  • domain_id (string) Required

  • only (string) Repeated

{
   "collector_id": "collector-f2e4e9cc7f21"
}

CollectorInfo

  • collector_id (string) Required

  • name (string) Required

  • plugin_info (PluginInfo) Required

  • tags (Struct) Required

  • provider (string) Required

  • capability (Struct) Required

  • schedule (Scheduled) Required

  • secret_filter (SecretFilter) Required

  • created_at (string) Required

  • last_collected_at (string) Required

  • domain_id (string) Required

{
   "collector_id": "collector-2c0847644f39",
   "name": "AWS Collector",
   "plugin_info": {
       "plugin_id": "plugin-30d21ef75a5d",
       "version": "1.13.13",
       "options": {},
       "metadata": {
           "supported_schedules": [
               "hours"
           ],
           "supported_resource_type": [
               "inventory.CloudService",
               "inventory.CloudServiceType",
               "inventory.Region"
           ],
           "filter_format": [],
           "supported_features": [
               "garbage_collection"
           ]
       },
       "upgrade_mode": "AUTO"
   },
   "tags": {
       "type": "test"
   },
   "created_at": "2022-06-17T06:33:27.195Z",
   "domain_id": "domain-58010aa2e451",
   "provider": "aws",
   "capability": {
       "supported_schema": [
           "aws_access_key"
       ]
   },
   "schedule": {
       "state": "ENABLED",
       "hours": [0, 6, 12, 18]
   },
   "secret_filter": {
       "state": "ENABLED",
       "secrets": ["secret-xxx", "secret-yyy"],
       "service_accounts": ["sa-xxx", "sa-yyy"],
       "schemas": ["schema-xxx", "schema-yyy"]
   },
   "last_collected_at": "2022-06-17T06:33:27.195Z"
}

list #

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

POST /inventory/v1/collector/list

CollectorQuery

  • query (Query) Required

  • collector_id (string) Required

  • name (string) Required

  • state (State) Required

  • priority (int32) Required

  • plugin_id (string) Required

  • domain_id (string) Required

{
   "query": {}
}

CollectorsInfo

  • results (CollectorInfo) Repeated Required

  • total_count (int32) Required

{
    "results": [
       {
         "collector_id": "collector-2c0847644f39",
         "name": "AWS Collector",
         "plugin_info": {
             "plugin_id": "plugin-30d21ef75a5d",
             "version": "1.13.13",
             "options": {},
             "metadata": {
                 "supported_schedules": [
                     "hours"
                 ],
             "supported_resource_type": [
               "inventory.CloudService",
               "inventory.CloudServiceType",
               "inventory.Region"
             ],
             "filter_format": [],
             "supported_features": [
               "garbage_collection"
             ]
         },
         "upgrade_mode": "AUTO"
     },
     "tags": {
         "type": "test"
     },
     "created_at": "2022-06-17T06:33:27.195Z",
     "domain_id": "domain-58010aa2e451",
     "provider": "aws",
     "capability": {
         "supported_schema": [
             "aws_access_key"
         ]
     },
     "schedule": {
         "state": "ENABLED",
         "hours": [0, 6, 12, 18]
     },
     "secret_filter": {
         "state": "ENABLED",
         "secrets": ["secret-xxx", "secret-yyy"],
         "service_accounts": ["sa-xxx", "sa-yyy"],
         "schemas": ["schema-xxx", "schema-yyy"]
     },
     "last_collected_at": "2022-06-17T06:33:27.195Z"
   },
   {
     "collector_id": "collector-2c0847644f39",
     "name": "AWS Collector",
     "plugin_info": {
         "plugin_id": "plugin-30d21ef75a5d",
         "version": "1.13.13",
         "options": {},
         "metadata": {
             "supported_schedules": [
                 "hours"
             ],
             "supported_resource_type": [
                 "inventory.CloudService",
                 "inventory.CloudServiceType",
                 "inventory.Region"
             ],
             "filter_format": [],
             "supported_features": [
               "garbage_collection"
             ]
         },
         "upgrade_mode": "AUTO"
     },
     "tags": {
         "type": "test"
     },
     "created_at": "2022-06-17T06:33:27.195Z",
     "domain_id": "domain-58010aa2e451",
     "provider": "aws",
     "capability": {
         "supported_schema": [
             "aws_access_key"
         ]
     },
     "schedule": {
         "state": "ENABLED",
         "hours": [0, 6, 12, 18]
     },
     "secret_filter": {
         "state": "ENABLED",
         "secrets": ["secret-xxx", "secret-yyy"],
         "service_accounts": ["sa-xxx", "sa-yyy"],
         "schemas": ["schema-xxx", "schema-yyy"]
     },
     "last_collected_at": "2022-06-17T06:33:27.195Z"
   }
   ],
   "total_count": 2
}

stat #

POST /inventory/v1/collector/stat


collect #

POST /inventory/v1/collector/collect

JobInfo

  • job_id (string) Required

  • status (Status) Required

  • total_tasks (int32) Required

  • remained_tasks (int32) Required

  • success_tasks (int32) Required

  • failure_tasks (int32) Required

  • collector_id (string) Required

  • secret_id (string) Required

  • domain_id (string) Required

  • plugin_id (string) Required

  • created_at (string) Required

  • updated_at (string) Required

  • finished_at (string) Required

{
     "job_id": "job-123456789012",
     "status": "ERROR",
     "filter": {},
     "total_tasks": 2,
     "collector_info": {
         "collector_id": "collector-123456789012",
         "name": "Jenkins Collector",
         "state": "ENABLED",
         "plugin_info": {
             "plugin_id": "plugin-jenkins-inven-collector",
             "version": "0.1.1"
         },
         "provider": "jenkins",
         "capability": {},
         "is_public": true
     },
     "domain_id": "domain-123456789012",
     "created_at": "2022-01-01T10:00:01.389Z",
     "updated_at": "2022-01-01T10:00:01.389Z",
     "finished_at": "2022-01-01T10:02:11.270Z"
}


Message #

CollectRequest #

  • collector_id (string) Required

  • domain_id (string) Required

  • filter (Struct)

  • secret_id (string)

  • collect_mode (string)

  • use_cache (bool)


CollectorInfo #

  • collector_id (string) Required

  • name (string) Required

  • plugin_info (PluginInfo) Required

  • tags (Struct) Required

  • provider (string) Required

  • capability (Struct) Required

  • schedule (Scheduled) Required

  • secret_filter (SecretFilter) Required

  • created_at (string) Required

  • last_collected_at (string) Required

  • domain_id (string) Required


CollectorQuery #

  • query (Query) Required

  • collector_id (string) Required

  • name (string) Required

  • state (State) Required

  • priority (int32) Required

  • plugin_id (string) Required

  • domain_id (string) Required


CollectorRequest #

  • collector_id (string) Required

  • domain_id (string) Required


CollectorStatQuery #

  • query (StatisticsQuery) Required

  • domain_id (string) Required


CollectorsInfo #

  • results (CollectorInfo) Repeated Required

  • total_count (int32) Required


CreateCollectorRequest #

  • name (string) Required

  • plugin_info (PluginInfo) Required

  • domain_id (string) Required

  • schedule (Scheduled)

  • provider (string)

  • tags (Struct)

  • secret_filter (SecretFilter)


CreateScheduleRequest #

  • domain_id (string) Required

  • collector_id (string) Required

  • schedule (Scheduled) Required

  • name (string)

  • collect_mode (string)

  • filter (Struct)


DeleteScheduleRequest #

  • domain_id (string) Required

  • schedule_id (string) Required

  • collector_id (string) Required


ErrorInfo #

  • error_code (string) Required

  • message (string) Required

  • additional (Struct) Required


GetCollectorRequest #

  • collector_id (string) Required

  • domain_id (string) Required

  • only (string) Repeated


JobInfo #

  • job_id (string) Required

  • status (Status) Required

  • total_tasks (int32) Required

  • remained_tasks (int32) Required

  • success_tasks (int32) Required

  • failure_tasks (int32) Required

  • collector_id (string) Required

  • secret_id (string) Required

  • domain_id (string) Required

  • plugin_id (string) Required

  • created_at (string) Required

  • updated_at (string) Required

  • finished_at (string) Required


PluginInfo #

  • plugin_id (string) Required

  • version (string) Required

  • options (Struct) Required

  • metadata (Struct) Required

  • upgrade_mode (UpgradeMode) Required


ScheduleInfo #

  • domain_id (string) Required

  • schedule_id (string) Required

  • name (string) Required

  • collect_mode (string) Required

  • schedule (Scheduled) Required

  • created_at (string) Required

  • last_scheduled_at (string) Required

  • collector_info (CollectorInfo) Required

  • filter (Struct) Required


ScheduleQuery #

  • collector_id (string) Required

  • domain_id (string) Required

  • query (Query)

  • schedule_id (string)


ScheduleRequest #

  • domain_id (string) Required

  • schedule_id (string) Required

  • collector_id (string) Required


Scheduled #

  • state (ScheduledState) Required

  • hours (int32) Repeated Required


SchedulesInfo #

  • results (ScheduleInfo) Repeated Required

  • total_count (int32) Required


SecretFilter #

  • state (SecretFilterState) Required

  • secrets (string) Repeated Required

  • service_accounts (string) Repeated Required

  • schemas (string) Repeated Required

  • exclude_secrets (string) Repeated Required

  • exclude_service_accounts (string) Repeated Required

  • exclude_schemas (string) Repeated Required


UpdateCollectorRequest #

  • collector_id (string) Required

  • domain_id (string) Required

  • name (string)

  • schedule (Scheduled)

  • secret_filter (SecretFilter)

  • tags (Struct)


UpdatePluginRequest #

  • collector_id (string) Required

  • domain_id (string) Required

  • version (string)

  • options (Struct)

  • upgrade_mode (UpgradeMode)


UpdateScheduleRequest #

  • domain_id (string) Required

  • schedule_id (string) Required

  • collector_id (string) Required

  • name (string)

  • collect_mode (string)

  • schedule (Scheduled)

  • filter (Struct)


VerifyInfo #

  • status (bool) Required


VerifyPluginRequest #

  • collector_id (string) Required

  • domain_id (string) Required

  • secret_id (string)


Calendar September 22, 2023
Edit Edit this page