Plugin

A Plugin is a resource containing data of deployable plugins such as container image and registry URL.

Package : spaceone.api.repository.v1

Plugin

Plugin Methods:

register

Registers a Plugin. The parameter registry_type, meaning container registry type, can be either DOCKER_HUB or AWS_PRIVATE_ECR. The default value of the registry_type is DOCKER_HUB. The parameter registry_url is required if the registry_type is not DOCKER_HUB. The parameter image is limited to 40 characters.

POST /repository/v1/plugin/register

{{< tabs " register " >}}

{{< tab "Request Example" >}}

RegisterPluginRequest

  • name (string) Required

  • resource_type (string) Required

  • image (string) Required

  • provider (string)

  • registry_type (PublicRegistryType)

  • registry_config (Struct)

  • capability (Struct)

  • labels (ListValue)

  • tags (Struct)

  • plugin_id (string)

    if plugin_id is not provided, it will be generated by image name

{{< highlight json >}} { "name": "JIRA Software Collector", "service_type": "inventory.Collector", "image": "cloudforet/plugin-jira-noti-protocol", "registry_type": "DOCKER_HUB", "registry_config": {}, "provider": "jira", "capability": { "supported_schema": [ "jira-software-secret-api-token" ] }, "labels": [ "jira", "atlassian", "notification" ], "tags": { "description": "Atlassian JIRA Issue notification", "icon": "https://icon-path/jira-icon.png" } } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

PluginInfo

  • plugin_id (string) Required

  • name (string) Required

  • state (State) Required

  • resource_type (string) Required

  • image (string) Required

  • provider (string) Required

  • registry_type (PublicRegistryType) Required

  • registry_url (string) Required

  • registry_config (Struct) Required

  • capability (Struct) Required

  • labels (ListValue) Required

  • tags (Struct) Required

  • domain_id (string) Required

  • repository_info (RepositoryInfo) Required

  • created_at (string) Required

  • updated_at (string) Required

{{< highlight json >}} { "plugin_id": "plugin-jira-noti-protocol", "name": "JIRA Issue notification", "image": "pyengine/plugin-jira-noti-protocol", "registry_url": "registry.hub.docker.com", "state": "ENABLED", "service_type": "notification.Procotol", "provider": "atlassian", "registry_type": "DOCKER_HUB", "registry_config": {}, "capability": { "supported_schema": [ "atlassian_jira" ] }, "template": { "options": { "schema": { "type": "object", "required": [], "properties": { "project_id": { "type": "string", "title": "Project ID", "minLength": 4.0 }, "sa_name": { "title": "Service Account", "type": "string", "minLength": 4.0 } } } } }, "labels": [ "jira", "atlassian", "notification" ], "tags": { "description": "Atlassian JIRA Issue notification", "icon": "https://icon-path/jira-icon.png" }, "repository_info": { "repository_id": "repo-123456789012", "name": "Marketplace", "repository_type": "remote" }, "domain_id": "domain-123456789012", "created_at": "2022-01-01T08:02:38.094Z", "updated_at": "2022-01-01T08:02:38.094Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

update

Updates a specific Plugin registered. A Plugin can be updated only if its Repository's repository_type is local. You can make changes in Plugin settings, including template and its options, schema.

POST /repository/v1/plugin/update

{{< tabs " update " >}}

{{< tab "Request Example" >}}

UpdatePluginRequest

  • plugin_id (string) Required

  • name (string)

  • capability (Struct)

  • labels (ListValue)

  • tags (Struct)

{{< highlight json >}} { "name": "JIRA Software Collector", "capability": { "supported_schema": [ "jira-software-secret-api-token" ] }, "labels": [ "jira", "atlassian", "notification" ], "tags": { "description": "Atlassian JIRA Issue notification", "icon": "https://icon-path/jira-icon.png" } } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

PluginInfo

  • plugin_id (string) Required

  • name (string) Required

  • state (State) Required

  • resource_type (string) Required

  • image (string) Required

  • provider (string) Required

  • registry_type (PublicRegistryType) Required

  • registry_url (string) Required

  • registry_config (Struct) Required

  • capability (Struct) Required

  • labels (ListValue) Required

  • tags (Struct) Required

  • domain_id (string) Required

  • repository_info (RepositoryInfo) Required

  • created_at (string) Required

  • updated_at (string) Required

{{< highlight json >}} { "plugin_id": "plugin-jira-noti-protocol", "name": "JIRA Issue notification", "image": "pyengine/plugin-jira-noti-protocol", "registry_url": "registry.hub.docker.com", "state": "ENABLED", "service_type": "notification.Procotol", "provider": "atlassian", "registry_type": "DOCKER_HUB", "registry_config": {}, "capability": { "supported_schema": [ "atlassian_jira" ] }, "template": { "options": { "schema": { "type": "object", "required": [], "properties": { "project_id": { "type": "string", "title": "Project ID", "minLength": 4.0 }, "sa_name": { "title": "Service Account", "type": "string", "minLength": 4.0 } } } } }, "labels": [ "jira", "atlassian", "notification" ], "tags": { "description": "Atlassian JIRA Issue notification", "icon": "https://icon-path/jira-icon.png" }, "repository_info": { "repository_id": "repo-123456789012", "name": "Marketplace", "repository_type": "remote" }, "domain_id": "domain-123456789012", "created_at": "2022-01-01T08:02:38.094Z", "updated_at": "2022-01-01T08:02:38.094Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

deregister

Deregisters and deletes a specific Plugin. You must specify the plugin_id of the Plugin to deregister.

POST /repository/v1/plugin/deregister

{{< tabs " deregister " >}}

{{< tab "Request Example" >}}

PluginRequest

  • plugin_id (string) Required

{{< highlight json >}} { "plugin_id": "plugin-aws-sns-mon-webhook", } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

enable

Enables a specific Plugin. If the Plugin is enabled, the Plugin can be used as its parameter state becomes ENABLED.

POST /repository/v1/plugin/enable

{{< tabs " enable " >}}

{{< tab "Request Example" >}}

PluginRequest

  • plugin_id (string) Required

{{< highlight json >}} { "plugin_id": "plugin-aws-sns-mon-webhook", } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

PluginInfo

  • plugin_id (string) Required

  • name (string) Required

  • state (State) Required

  • resource_type (string) Required

  • image (string) Required

  • provider (string) Required

  • registry_type (PublicRegistryType) Required

  • registry_url (string) Required

  • registry_config (Struct) Required

  • capability (Struct) Required

  • labels (ListValue) Required

  • tags (Struct) Required

  • domain_id (string) Required

  • repository_info (RepositoryInfo) Required

  • created_at (string) Required

  • updated_at (string) Required

{{< highlight json >}} { "plugin_id": "plugin-jira-noti-protocol", "name": "JIRA Issue notification", "image": "pyengine/plugin-jira-noti-protocol", "registry_url": "registry.hub.docker.com", "state": "ENABLED", "service_type": "notification.Procotol", "provider": "atlassian", "registry_type": "DOCKER_HUB", "registry_config": {}, "capability": { "supported_schema": [ "atlassian_jira" ] }, "template": { "options": { "schema": { "type": "object", "required": [], "properties": { "project_id": { "type": "string", "title": "Project ID", "minLength": 4.0 }, "sa_name": { "title": "Service Account", "type": "string", "minLength": 4.0 } } } } }, "labels": [ "jira", "atlassian", "notification" ], "tags": { "description": "Atlassian JIRA Issue notification", "icon": "https://icon-path/jira-icon.png" }, "repository_info": { "repository_id": "repo-123456789012", "name": "Marketplace", "repository_type": "remote" }, "domain_id": "domain-123456789012", "created_at": "2022-01-01T08:02:38.094Z", "updated_at": "2022-01-01T08:02:38.094Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

disable

Disables a specific Plugin. If the Plugin is disabled, the Plugin cannot be used as its parameter state becomes DISABLED.

POST /repository/v1/plugin/disable

{{< tabs " disable " >}}

{{< tab "Request Example" >}}

PluginRequest

  • plugin_id (string) Required

{{< highlight json >}} { "plugin_id": "plugin-aws-sns-mon-webhook", } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

PluginInfo

  • plugin_id (string) Required

  • name (string) Required

  • state (State) Required

  • resource_type (string) Required

  • image (string) Required

  • provider (string) Required

  • registry_type (PublicRegistryType) Required

  • registry_url (string) Required

  • registry_config (Struct) Required

  • capability (Struct) Required

  • labels (ListValue) Required

  • tags (Struct) Required

  • domain_id (string) Required

  • repository_info (RepositoryInfo) Required

  • created_at (string) Required

  • updated_at (string) Required

{{< highlight json >}} { "plugin_id": "plugin-jira-noti-protocol", "name": "JIRA Issue notification", "image": "pyengine/plugin-jira-noti-protocol", "registry_url": "registry.hub.docker.com", "state": "ENABLED", "service_type": "notification.Procotol", "provider": "atlassian", "registry_type": "DOCKER_HUB", "registry_config": {}, "capability": { "supported_schema": [ "atlassian_jira" ] }, "template": { "options": { "schema": { "type": "object", "required": [], "properties": { "project_id": { "type": "string", "title": "Project ID", "minLength": 4.0 }, "sa_name": { "title": "Service Account", "type": "string", "minLength": 4.0 } } } } }, "labels": [ "jira", "atlassian", "notification" ], "tags": { "description": "Atlassian JIRA Issue notification", "icon": "https://icon-path/jira-icon.png" }, "repository_info": { "repository_id": "repo-123456789012", "name": "Marketplace", "repository_type": "remote" }, "domain_id": "domain-123456789012", "created_at": "2022-01-01T08:02:38.094Z", "updated_at": "2022-01-01T08:02:38.094Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

get_versions

Gets all version data of a specific Plugin from its Repository. The parameter plugin_id is used as an identifier of a Plugin to get version data.

POST /repository/v1/plugin/get-versions

{{< tabs " get_versions " >}}

{{< tab "Request Example" >}}

RepositoryPluginRequest

  • plugin_id (string) Required

  • repository_id (string)

{{< highlight json >}} { "plugin_id": "plugin-aws-sns-mon-webhook", } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

VersionsInfo

  • version (string) Repeated Required

    deprecated field

  • total_count (int32) Required

  • results (string) Repeated Required

{{< highlight json >}} { "total_count": 1, "results": [ "1.2.2", "1.2.1.20220429.104002", "1.2.1.20220422.161421", "1.2.1.20220411.113807", "1.2.1" ] } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

get

Gets a specific Plugin. Prints detailed information about the Plugin, including image, registry_url, and state.

POST /repository/v1/plugin/get

{{< tabs " get " >}}

{{< tab "Request Example" >}}

RepositoryPluginRequest

  • plugin_id (string) Required

  • repository_id (string)

{{< highlight json >}} { "plugin_id": "plugin-aws-sns-mon-webhook", } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

PluginInfo

  • plugin_id (string) Required

  • name (string) Required

  • state (State) Required

  • resource_type (string) Required

  • image (string) Required

  • provider (string) Required

  • registry_type (PublicRegistryType) Required

  • registry_url (string) Required

  • registry_config (Struct) Required

  • capability (Struct) Required

  • labels (ListValue) Required

  • tags (Struct) Required

  • domain_id (string) Required

  • repository_info (RepositoryInfo) Required

  • created_at (string) Required

  • updated_at (string) Required

{{< highlight json >}} { "plugin_id": "plugin-jira-noti-protocol", "name": "JIRA Issue notification", "image": "pyengine/plugin-jira-noti-protocol", "registry_url": "registry.hub.docker.com", "state": "ENABLED", "service_type": "notification.Procotol", "provider": "atlassian", "registry_type": "DOCKER_HUB", "registry_config": {}, "capability": { "supported_schema": [ "atlassian_jira" ] }, "template": { "options": { "schema": { "type": "object", "required": [], "properties": { "project_id": { "type": "string", "title": "Project ID", "minLength": 4.0 }, "sa_name": { "title": "Service Account", "type": "string", "minLength": 4.0 } } } } }, "labels": [ "jira", "atlassian", "notification" ], "tags": { "description": "Atlassian JIRA Issue notification", "icon": "https://icon-path/jira-icon.png" }, "repository_info": { "repository_id": "repo-123456789012", "name": "Marketplace", "repository_type": "remote" }, "domain_id": "domain-123456789012", "created_at": "2022-01-01T08:02:38.094Z", "updated_at": "2022-01-01T08:02:38.094Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

list

Gets a list of all Plugins registered in a specific Repository. The parameter repository_id is used as an identifier of a Repository to get its list of Plugins. You can use a query to get a filtered list of Plugins.

POST /repository/v1/plugin/list

{{< tabs " list " >}}

{{< tab "Request Example" >}}

PluginQuery

  • query (Query)

  • plugin_id (string)

  • name (string)

  • state (State)

  • resource_type (string)

  • provider (string)

  • registry_type (PublicRegistryType)

  • repository_id (string)

{{< highlight json >}} { "query": {}, "repository_id": "repo-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

PluginsInfo

  • results (PluginInfo) Repeated Required

  • total_count (int32) Required

{{< highlight json >}} { "results": [ { "plugin_id": "plugin-api-direct-mon-webhook", "name": "API Direct Webhook", "image": "pyengine/plugin-api-direct-mon-webhook", "registry_url": "registry.hub.docker.com", "state": "ENABLED", "service_type": "monitoring.Webhook", "registry_type": "DOCKER_HUB", "registry_config": {}, "capability": {}, "template": {}, "labels": [], "tags": { "icon": "https://icon-url/icon.svg" }, "repository_info": { "repository_id": "repo-123456789012", "name": "Marketplace", "repository_type": "remote" }, "domain_id": "domain-987654321098", "created_at": "2022-01-01T03:25:10.408Z", "updated_at": "2022-01-01T03:25:10.408Z" }, { "plugin_id": "plugin-aws-hyperbilling-cost-datasource", "name": "AWS HyperBilling Cost Analysis Data Source", "image": "pyengine/plugin-aws-hyperbilling-cost-datasource", "registry_url": "registry.hub.docker.com", "state": "ENABLED", "service_type": "cost_analysis.DataSoruce", "registry_type": "DOCKER_HUB", "registry_config": {}, "capability": {}, "template": {}, "labels": [], "tags": {}, "repository_info": { "repository_id": "repo-123456789012", "name": "Marketplace", "repository_type": "remote" }, "domain_id": "domain-987654321098", "created_at": "2022-01-01T04:56:55.082Z", "updated_at": "2022-01-01T04:56:55.082Z" } ], "total_count": 2 } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

Message

PluginInfo

  • plugin_id (string) Required

  • name (string) Required

  • state (State) Required

  • resource_type (string) Required

  • image (string) Required

  • provider (string) Required

  • registry_type (PublicRegistryType) Required

  • registry_url (string) Required

  • registry_config (Struct) Required

  • capability (Struct) Required

  • labels (ListValue) Required

  • tags (Struct) Required

  • domain_id (string) Required

  • repository_info (RepositoryInfo) Required

  • created_at (string) Required

  • updated_at (string) Required

PluginQuery

  • query (Query)

  • plugin_id (string)

  • name (string)

  • state (State)

  • resource_type (string)

  • provider (string)

  • registry_type (PublicRegistryType)

  • repository_id (string)

PluginRequest

  • plugin_id (string) Required

PluginStatQuery

  • query (StatisticsQuery) Required

  • repository_id (string) Required

PluginsInfo

  • results (PluginInfo) Repeated Required

  • total_count (int32) Required

RegisterPluginRequest

  • name (string) Required

  • resource_type (string) Required

  • image (string) Required

  • provider (string)

  • registry_type (PublicRegistryType)

  • registry_config (Struct)

  • capability (Struct)

  • labels (ListValue)

  • tags (Struct)

  • plugin_id (string)

    if plugin_id is not provided, it will be generated by image name

RepositoryPluginRequest

  • plugin_id (string) Required

  • repository_id (string)

UpdatePluginRequest

  • plugin_id (string) Required

  • name (string)

  • capability (Struct)

  • labels (ListValue)

  • tags (Struct)

VersionsInfo

  • version (string) Repeated Required

    deprecated field

  • total_count (int32) Required

  • results (string) Repeated Required

Last updated