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
name (string)
Requiredresource_type (string)
Requiredimage (string)
Requiredprovider (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
docs (Struct)
{
"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"
}
}plugin_id (string)
Requiredname (string)
Requiredstate (State)
Requiredresource_type (string)
Requiredimage (string)
Requiredprovider (string)
Requiredregistry_type (PublicRegistryType)
Requiredregistry_url (string)
Requiredregistry_config (Struct)
Requiredcapability (Struct)
Requiredlabels (ListValue)
Requiredtags (Struct)
Requireddocs (Struct)
Requireddomain_id (string)
Requiredrepository_info (RepositoryInfo)
Requiredcreated_at (string)
Requiredupdated_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
plugin_id (string)
Requiredname (string)
capability (Struct)
labels (ListValue)
tags (Struct)
docs (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"
}
}plugin_id (string)
Requiredname (string)
Requiredstate (State)
Requiredresource_type (string)
Requiredimage (string)
Requiredprovider (string)
Requiredregistry_type (PublicRegistryType)
Requiredregistry_url (string)
Requiredregistry_config (Struct)
Requiredcapability (Struct)
Requiredlabels (ListValue)
Requiredtags (Struct)
Requireddocs (Struct)
Requireddomain_id (string)
Requiredrepository_info (RepositoryInfo)
Requiredcreated_at (string)
Requiredupdated_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
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
plugin_id (string)
Requiredname (string)
Requiredstate (State)
Requiredresource_type (string)
Requiredimage (string)
Requiredprovider (string)
Requiredregistry_type (PublicRegistryType)
Requiredregistry_url (string)
Requiredregistry_config (Struct)
Requiredcapability (Struct)
Requiredlabels (ListValue)
Requiredtags (Struct)
Requireddocs (Struct)
Requireddomain_id (string)
Requiredrepository_info (RepositoryInfo)
Requiredcreated_at (string)
Requiredupdated_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
plugin_id (string)
Requiredname (string)
Requiredstate (State)
Requiredresource_type (string)
Requiredimage (string)
Requiredprovider (string)
Requiredregistry_type (PublicRegistryType)
Requiredregistry_url (string)
Requiredregistry_config (Struct)
Requiredcapability (Struct)
Requiredlabels (ListValue)
Requiredtags (Struct)
Requireddocs (Struct)
Requireddomain_id (string)
Requiredrepository_info (RepositoryInfo)
Requiredcreated_at (string)
Requiredupdated_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
plugin_id (string)
Requiredrepository_id (string)
{
"plugin_id": "plugin-aws-sns-mon-webhook",
}version (string)
RepeatedRequireddeprecated field
total_count (int32)
Requiredresults (string)
RepeatedRequired
{
"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
plugin_id (string)
Requiredrepository_id (string)
{
"plugin_id": "plugin-aws-sns-mon-webhook",
}plugin_id (string)
Requiredname (string)
Requiredstate (State)
Requiredresource_type (string)
Requiredimage (string)
Requiredprovider (string)
Requiredregistry_type (PublicRegistryType)
Requiredregistry_url (string)
Requiredregistry_config (Struct)
Requiredcapability (Struct)
Requiredlabels (ListValue)
Requiredtags (Struct)
Requireddocs (Struct)
Requireddomain_id (string)
Requiredrepository_info (RepositoryInfo)
Requiredcreated_at (string)
Requiredupdated_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
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"
}results (PluginInfo)
RepeatedRequiredtotal_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)
Requiredname (string)
Requiredstate (State)
Requiredresource_type (string)
Requiredimage (string)
Requiredprovider (string)
Requiredregistry_type (PublicRegistryType)
Requiredregistry_url (string)
Requiredregistry_config (Struct)
Requiredcapability (Struct)
Requiredlabels (ListValue)
Requiredtags (Struct)
Requireddocs (Struct)
Requireddomain_id (string)
Requiredrepository_info (RepositoryInfo)
Requiredcreated_at (string)
Requiredupdated_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
PluginsInfo #
results (PluginInfo)
RepeatedRequiredtotal_count (int32)
Required
RegisterPluginRequest #
name (string)
Requiredresource_type (string)
Requiredimage (string)
Requiredprovider (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
docs (Struct)
RepositoryPluginRequest #
plugin_id (string)
Requiredrepository_id (string)
UpdatePluginRequest #
plugin_id (string)
Requiredname (string)
capability (Struct)
labels (ListValue)
tags (Struct)
docs (Struct)
VersionsInfo #
version (string)
RepeatedRequireddeprecated field
total_count (int32)
Requiredresults (string)
RepeatedRequired