Plugin

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:

MethodRequestResponse
registerRegisterPluginRequestPluginInfo
updateUpdatePluginRequestPluginInfo
deregisterPluginRequestEmpty
enablePluginRequestPluginInfo
disablePluginRequestPluginInfo
get_versionsRepositoryPluginRequestVersionsInfo
getRepositoryPluginRequestPluginInfo
listPluginQueryPluginsInfo

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

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

{
   "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"
   }
}

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

{
   "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"
}

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

UpdatePluginRequest

  • plugin_id (string) Required

  • name (string)

  • capability (Struct)

  • labels (ListValue)

  • tags (Struct)

{
   "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"
   }
}

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

{
   "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"
}

deregister #

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

POST /repository/v1/plugin/deregister

PluginRequest

  • plugin_id (string) Required
{
   "plugin_id": "plugin-aws-sns-mon-webhook",
}

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

PluginRequest

  • plugin_id (string) Required
{
   "plugin_id": "plugin-aws-sns-mon-webhook",
}

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

{
   "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"
}

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

PluginRequest

  • plugin_id (string) Required
{
   "plugin_id": "plugin-aws-sns-mon-webhook",
}

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

{
   "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"
}

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

RepositoryPluginRequest

  • plugin_id (string) Required

  • repository_id (string)

{
   "plugin_id": "plugin-aws-sns-mon-webhook",
}

VersionsInfo

  • version (string) Repeated Required

    deprecated field

  • total_count (int32) Required

  • results (string) Repeated Required

{
   "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"
   ]
}

get #

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

POST /repository/v1/plugin/get

RepositoryPluginRequest

  • plugin_id (string) Required

  • repository_id (string)

{
   "plugin_id": "plugin-aws-sns-mon-webhook",
}

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

{
   "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"
}

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

PluginQuery

  • query (Query)

  • plugin_id (string)

  • name (string)

  • state (State)

  • resource_type (string)

  • provider (string)

  • registry_type (PublicRegistryType)

  • repository_id (string)

{
   "query": {},
   "repository_id": "repo-123456789012"
}

PluginsInfo

  • results (PluginInfo) Repeated Required

  • total_count (int32) Required

{
   "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
}


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


Calendar May 17, 2024
Edit Edit this page