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)
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
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)
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
docs (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
plugin_id (string)
Required
name (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)
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
docs (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
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)
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
docs (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
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
docs (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
plugin_id (string)
Required
repository_id (string)
{
"plugin_id": "plugin-aws-sns-mon-webhook",
}
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
plugin_id (string)
Required
repository_id (string)
{
"plugin_id": "plugin-aws-sns-mon-webhook",
}
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
docs (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
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)
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
docs (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
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
docs (Struct)
RepositoryPluginRequest #
plugin_id (string)
Required
repository_id (string)
UpdatePluginRequest #
plugin_id (string)
Required
name (string)
capability (Struct)
labels (ListValue)
tags (Struct)
docs (Struct)
VersionsInfo #
version (string)
Repeated
Required
deprecated field
total_count (int32)
Required
results (string)
Repeated
Required