Repository V1 Plugin A Plugin is a resource containing data of deployable plugins such as container image and registry URL.
Package : spaceone.api.repository.v1
Plugin
register
POST /repository/v1/plugins
Registers a Plugin. The parameter registry_type
, meaning container registry type, can be either DOCKER_HUB
or AWS_PUBLIC_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.
Request Example Response Example
Copy {
"name": "JIRA Issue notification",
"service_type": "notification.Procotol",
"image": "pyengine/plugin-jira-noti-protocol",
"registry_type": "DOCKER_HUB",
"registry_config": {},
"provider": "atlassian",
"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"
}
}
Copy {
"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
PUT /repository/v1/plugin/{plugin_id}
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
.
Request Example Response Example
Copy {
"name": "JIRA Issue notification",
"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"
}
}
Copy {
"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",
"spaceone:plugin_name": "plugin-jira-noti-protocol",
"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
DELETE /repository/v1/plugin/{plugin_id}
Deregisters and deletes a specific Plugin. You must specify the plugin_id
of the Plugin to deregister.
Request Example Response Example
Copy {
"plugin_id": "plugin-aws-sns-mon-webhook",
"domain_id": "domain-123456789012"
}
Copy {
"plugin_id": "plugin-aws-sns-mon-webhook",
"name": "AWS SNS Webhook",
"image": "pyengine/plugin-aws-sns-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-path/Amazon-SNS.svg"
},
"repository_info": {
"repository_id": "repo-123456789012",
"name": "Marketplace",
"repository_type": "remote"
},
"domain_id": "domain-987654321098",
"created_at": "2022-01-01T08:14:23.175Z",
"updated_at": "2022-01-01T08:14:23.175Z"
}
enable
PUT /repository/v1/plugin/{plugin_id}/enable
Enables a specific Plugin. If the Plugin is enabled, the Plugin can be used as its parameter state
becomes ENABLED
.
Request Example Response Example
Copy {
"plugin_id": "plugin-aws-sns-mon-webhook",
"domain_id": "domain-123456789012"
}
Copy {
"plugin_id": "plugin-aws-sns-mon-webhook",
"name": "AWS SNS Webhook",
"image": "pyengine/plugin-aws-sns-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-path/Amazon-SNS.svg"
},
"repository_info": {
"repository_id": "repo-123456789012",
"name": "Marketplace",
"repository_type": "remote"
},
"domain_id": "domain-987654321098",
"created_at": "2022-01-01T08:14:23.175Z",
"updated_at": "2022-01-01T08:14:23.175Z"
}
disable
PUT /repository/v1/plugin/{plugin_id}/disable
Disables a specific Plugin. If the Plugin is disabled, the Plugin cannot be used as its parameter state
becomes DISABLED
.
Request Example Response Example
Copy {
"plugin_id": "plugin-aws-sns-mon-webhook",
"domain_id": "domain-123456789012"
}
Copy {
"plugin_id": "plugin-aws-sns-mon-webhook",
"name": "AWS SNS Webhook",
"image": "pyengine/plugin-aws-sns-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-path/Amazon-SNS.svg"
},
"repository_info": {
"repository_id": "repo-123456789012",
"name": "Marketplace",
"repository_type": "remote"
},
"domain_id": "domain-987654321098",
"created_at": "2022-01-01T08:14:23.175Z",
"updated_at": "2022-01-01T08:14:23.175Z"
}
get_versions
GET /repository/v1/plugins/{plugin_id}/versions
get
GET /repository/v1/plugins/{plugin_id}
Gets a specific Plugin. Prints detailed information about the Plugin, including image
, registry_url
, and state
.
Request Example Response Example
Copy {
"plugin_id": "plugin-aws-sns-mon-webhook",
"domain_id": "domain-123456789012"
}
Copy {
"plugin_id": "plugin-aws-sns-mon-webhook",
"name": "AWS SNS Webhook",
"image": "pyengine/plugin-aws-sns-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/Amazon-SNS.svg"
},
"repository_info": {
"repository_id": "repo-123456789012",
"name": "Marketplace",
"repository_type": "remote"
},
"domain_id": "domain-987654321098",
"created_at": "2021-06-14T08:14:23.175Z",
"updated_at": "2021-06-14T08:14:23.175Z"
}
list
GET /repository/v1/plugins
POST /repository/v1/plugins/search
stat
POST /repository/v1/plugins/stat
Message
CreatePluginRequest
Field
Type
Required
Description
GetRepositoryPluginRequest
Field
Type
Required
Description
PluginInfo
PluginQuery
Field
Type
Required
Description
PluginRequest
Field
Type
Required
Description
PluginStatQuery
Field
Type
Required
Description
PluginsInfo
RepositoryPluginRequest
Field
Type
Required
Description
UpdatePluginRequest
Field
Type
Required
Description
VersionsInfo