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
GetRepositoryPluginRequest
PluginInfo
PluginQuery
PluginRequest
PluginStatQuery
PluginsInfo
RepositoryPluginRequest
UpdatePluginRequest
VersionsInfo