From 7533e23e2f53d3b83478964cc68419691a6adb39 Mon Sep 17 00:00:00 2001 From: Gaius Date: Sat, 9 Oct 2021 20:23:19 +0800 Subject: [PATCH] docs: add apis and preheat (#712) * docs: add apis and preheat Signed-off-by: Gaius --- docs/en/api/api.md | 2599 ++++++++++++++++++++++ docs/en/user-guide/preheat/preheat.md | 39 + docs/en/user-guide/quick-start.md | 1 + docs/zh-CN/api/api.md | 2599 ++++++++++++++++++++++ docs/zh-CN/user-guide/preheat/preheat.md | 40 + docs/zh-CN/user-guide/quick-start.md | 1 + 6 files changed, 5279 insertions(+) create mode 100644 docs/en/api/api.md create mode 100644 docs/en/user-guide/preheat/preheat.md create mode 100644 docs/zh-CN/api/api.md create mode 100644 docs/zh-CN/user-guide/preheat/preheat.md diff --git a/docs/en/api/api.md b/docs/en/api/api.md new file mode 100644 index 000000000..85830fb7a --- /dev/null +++ b/docs/en/api/api.md @@ -0,0 +1,2599 @@ +# Dragonfly Manager + + + +## Overview +Dragonfly Manager Server + + +### Version information +*Version* : 1.0.0 + + +### License information +*License* : Apache 2.0 +*Terms of service* : null + + +### URI scheme +*Host* : localhost:8080 +*BasePath* : /api/v1 + + + + + +## Paths + + +### Create CDNCluster +``` +POST /api/v1/cdn-clusters +``` + + +#### Description +create by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Body**|**CDNCluster**
*required*|DNCluster|[types.CreateCDNClusterRequest](#types-createcdnclusterrequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.CDNCluster](#model-cdncluster)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDNCluster + + + +### Get CDNClusters +``` +GET /api/v1/cdn-clusters +``` + + +#### Description +Get CDNClusters + + +#### Parameters + +|Type|Name|Description|Schema|Default| +|---|---|---|---|---| +|**Query**|**page**
*required*|current page|integer|`0`| +|**Query**|**per_page**
*required*|return max item count, default 10, max 50|integer|`10`| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|< [model.CDNCluster](#model-cdncluster) > array| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDNCluster + + + +### Get CDNCluster +``` +GET /api/v1/cdn-clusters/{id} +``` + + +#### Description +Get CDNCluster by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.CDNCluster](#model-cdncluster)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDNCluster + + + +### Destroy CDNCluster +``` +DELETE /api/v1/cdn-clusters/{id} +``` + + +#### Description +Destroy by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDNCluster + + + +### Update CDNCluster +``` +PATCH /api/v1/cdn-clusters/{id} +``` + + +#### Description +Update by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| +|**Body**|**CDNCluster**
*required*|CDNCluster|[types.UpdateCDNClusterRequest](#types-updatecdnclusterrequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.CDNCluster](#model-cdncluster)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDNCluster + + + +### Add Instance to CDNCluster +``` +PUT /api/v1/cdn-clusters/{id}/cdns/{cdn_id} +``` + + +#### Description +Add CDN to CDNCluster + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**cdn_id**
*required*|cdn id|string| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDNCluster + + + +### Add SchedulerCluster to CDNCluster +``` +PUT /api/v1/cdn-clusters/{id}/scheduler-clusters/{scheduler_cluster_id} +``` + + +#### Description +Add SchedulerCluster to CDNCluster + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| +|**Path**|**scheduler_cluster_id**
*required*|scheduler cluster id|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDNCluster + + + +### Create CDN +``` +POST /api/v1/cdns +``` + + +#### Description +create by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Body**|**CDN**
*required*|CDN|[types.CreateCDNRequest](#types-createcdnrequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.CDN](#model-cdn)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDN + + + +### Get CDNs +``` +GET /api/v1/cdns +``` + + +#### Description +Get CDNs + + +#### Parameters + +|Type|Name|Description|Schema|Default| +|---|---|---|---|---| +|**Query**|**page**
*required*|current page|integer|`0`| +|**Query**|**per_page**
*required*|return max item count, default 10, max 50|integer|`10`| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|< [model.CDN](#model-cdn) > array| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDN + + + +### Get CDN +``` +GET /api/v1/cdns/{id} +``` + + +#### Description +Get CDN by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.CDN](#model-cdn)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDN + + + +### Destroy CDN +``` +DELETE /api/v1/cdns/{id} +``` + + +#### Description +Destroy by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDN + + + +### Update CDN +``` +PATCH /api/v1/cdns/{id} +``` + + +#### Description +Update by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| +|**Body**|**CDN**
*required*|CDN|[types.UpdateCDNRequest](#types-updatecdnrequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.CDN](#model-cdn)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* CDN + + + +### Get Health +``` +GET /api/v1/healthy +``` + + +#### Description +Get app health + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Health + + + +### Create Oauth +``` +POST /api/v1/oauth +``` + + +#### Description +create by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Body**|**Oauth**
*required*|Oauth|[types.CreateOauthRequest](#types-createoauthrequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.Oauth](#model-oauth)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Oauth + + + +### Get Oauths +``` +GET /api/v1/oauth +``` + + +#### Description +Get Oauths + + +#### Parameters + +|Type|Name|Description|Schema|Default| +|---|---|---|---|---| +|**Query**|**page**
*required*|current page|integer|`0`| +|**Query**|**per_page**
*required*|return max item count, default 10, max 50|integer|`10`| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|< [model.Oauth](#model-oauth) > array| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Oauth + + + +### Get Oauth +``` +GET /api/v1/oauth/{id} +``` + + +#### Description +Get Oauth by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.Oauth](#model-oauth)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Oauth + + + +### Destroy Oauth +``` +DELETE /api/v1/oauth/{id} +``` + + +#### Description +Destroy by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Oauth + + + +### Update Oauth +``` +PATCH /api/v1/oauth/{id} +``` + + +#### Description +Update by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| +|**Body**|**Oauth**
*required*|Oauth|[types.UpdateOauthRequest](#types-updateoauthrequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.Oauth](#model-oauth)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Oauth + + + +### Get Permissions +``` +GET /api/v1/permissions +``` + + +#### Description +Get Permissions + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|< [rbac.Permission](#rbac-permission) > array| +|**400**||No Content| +|**500**||No Content| + + +#### Produces + +* `application/json` + + +#### Tags + +* Permission + + + +### Create Preheat +``` +POST /api/v1/preheats +``` + + +#### Description +create by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Body**|**CDN**
*required*|Preheat|[types.CreatePreheatRequest](#types-createpreheatrequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[types.Preheat](#types-preheat)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Preheat + + + +### Get Preheat +``` +GET /api/v1/preheats/{id} +``` + + +#### Description +Get Preheat by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[types.Preheat](#types-preheat)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Preheat + + + +### Create Role +``` +POST /api/v1/roles +``` + + +#### Description +Create Role by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Body**|**Role**
*required*|Role|[types.CreateRoleRequest](#types-createrolerequest)| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Role + + + +### Get Roles +``` +GET /api/v1/roles +``` + + +#### Description +Get roles + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Role + + + +### Get Role +``` +GET /api/v1/roles/:role +``` + + +#### Description +Get Role + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**role**
*required*|role|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Role + + + +### Destroy Role +``` +DELETE /api/v1/roles/:role +``` + + +#### Description +Destroy role by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**role**
*required*|role|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Role + + + +### Add Permission For Role +``` +POST /api/v1/roles/:role/permissions +``` + + +#### Description +Add Permission by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**role**
*required*|role|string| +|**Body**|**Permission**
*required*|Permission|[types.AddPermissionForRoleRequest](#types-addpermissionforrolerequest)| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Role + + + +### Update Role +``` +DELETE /api/v1/roles/:role/permissions +``` + + +#### Description +Remove Role Permission by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**role**
*required*|role|string| +|**Body**|**Permission**
*required*|Permission|[types.DeletePermissionForRoleRequest](#types-deletepermissionforrolerequest)| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Role + + + +### Create SchedulerCluster +``` +POST /api/v1/scheduler-clusters +``` + + +#### Description +create by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Body**|**SchedulerCluster**
*required*|SchedulerCluster|[types.CreateSchedulerClusterRequest](#types-createschedulerclusterrequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.SchedulerCluster](#model-schedulercluster)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SchedulerCluster + + + +### Get SchedulerClusters +``` +GET /api/v1/scheduler-clusters +``` + + +#### Description +Get SchedulerClusters + + +#### Parameters + +|Type|Name|Description|Schema|Default| +|---|---|---|---|---| +|**Query**|**page**
*required*|current page|integer|`0`| +|**Query**|**per_page**
*required*|return max item count, default 10, max 50|integer|`10`| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|< [model.SchedulerCluster](#model-schedulercluster) > array| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SchedulerCluster + + + +### Get SchedulerCluster +``` +GET /api/v1/scheduler-clusters/{id} +``` + + +#### Description +Get SchedulerCluster by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.SchedulerCluster](#model-schedulercluster)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SchedulerCluster + + + +### Destroy SchedulerCluster +``` +DELETE /api/v1/scheduler-clusters/{id} +``` + + +#### Description +Destroy by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SchedulerCluster + + + +### Update SchedulerCluster +``` +PATCH /api/v1/scheduler-clusters/{id} +``` + + +#### Description +Update by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| +|**Body**|**SchedulerCluster**
*required*|SchedulerCluster|[types.UpdateSchedulerClusterRequest](#types-updateschedulerclusterrequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.SchedulerCluster](#model-schedulercluster)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SchedulerCluster + + + +### Add Scheduler to schedulerCluster +``` +PUT /api/v1/scheduler-clusters/{id}/schedulers/{scheduler_id} +``` + + +#### Description +Add Scheduler to schedulerCluster + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| +|**Path**|**scheduler_id**
*required*|scheduler id|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SchedulerCluster + + + +### Create Scheduler +``` +POST /api/v1/schedulers +``` + + +#### Description +create by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Body**|**Scheduler**
*required*|Scheduler|[types.CreateSchedulerRequest](#types-createschedulerrequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.Scheduler](#model-scheduler)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Scheduler + + + +### Get Schedulers +``` +GET /api/v1/schedulers +``` + + +#### Description +Get Schedulers + + +#### Parameters + +|Type|Name|Description|Schema|Default| +|---|---|---|---|---| +|**Query**|**page**
*required*|current page|integer|`0`| +|**Query**|**per_page**
*required*|return max item count, default 10, max 50|integer|`10`| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|< [model.Scheduler](#model-scheduler) > array| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Scheduler + + + +### Get Scheduler +``` +GET /api/v1/schedulers/{id} +``` + + +#### Description +Get Scheduler by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.Scheduler](#model-scheduler)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Scheduler + + + +### Destroy Scheduler +``` +DELETE /api/v1/schedulers/{id} +``` + + +#### Description +Destroy by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Scheduler + + + +### Update Scheduler +``` +PATCH /api/v1/schedulers/{id} +``` + + +#### Description +Update by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| +|**Body**|**Scheduler**
*required*|Scheduler|[types.UpdateSchedulerRequest](#types-updateschedulerrequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.Scheduler](#model-scheduler)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Scheduler + + + +### Create SecurityGroup +``` +POST /api/v1/security-groups +``` + + +#### Description +create by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Body**|**SecurityGroup**
*required*|SecurityGroup|[types.CreateSecurityGroupRequest](#types-createsecuritygrouprequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.SecurityGroup](#model-securitygroup)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SecurityGroup + + + +### Get SecurityGroups +``` +GET /api/v1/security-groups +``` + + +#### Description +Get SecurityGroups + + +#### Parameters + +|Type|Name|Description|Schema|Default| +|---|---|---|---|---| +|**Query**|**page**
*required*|current page|integer|`0`| +|**Query**|**per_page**
*required*|return max item count, default 10, max 50|integer|`10`| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|< [model.SecurityGroup](#model-securitygroup) > array| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SecurityGroup + + + +### Get SecurityGroup +``` +GET /api/v1/security-groups/{id} +``` + + +#### Description +Get SecurityGroup by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.SecurityGroup](#model-securitygroup)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SecurityGroup + + + +### Update SecurityGroup +``` +PATCH /api/v1/security-groups/{id} +``` + + +#### Description +Update by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| +|**Body**|**SecurityGroup**
*required*|SecurityGroup|[types.UpdateSecurityGroupRequest](#types-updatesecuritygrouprequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.SecurityGroup](#model-securitygroup)| +|**400**||No Content| +|**404**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SecurityGroup + + + +### Add CDN to SecurityGroup +``` +PUT /api/v1/security-groups/{id}/cdn-clusters/{cdn_cluster_id} +``` + + +#### Description +Add CDN to SecurityGroup + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**cdn_cluster_id**
*required*|cdn cluster id|string| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SecurityGroup + + + +### Add Scheduler to SecurityGroup +``` +PUT /api/v1/security-groups/{id}/scheduler-clusters/{scheduler_cluster_id} +``` + + +#### Description +Add Scheduler to SecurityGroup + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| +|**Path**|**scheduler_cluster_id**
*required*|scheduler cluster id|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SecurityGroup + + + +### Destroy SecurityGroup +``` +DELETE /api/v1/securityGroups/{id} +``` + + +#### Description +Destroy by id + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* SecurityGroup + + + +### Oauth Signin +``` +GET /api/v1/user/signin/{name} +``` + + +#### Description +oauth signin by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**name**
*required*|name|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* User + + + +### Oauth Signin Callback +``` +GET /api/v1/user/signin/{name}/callback +``` + + +#### Description +oauth signin callback by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**name**
*required*|name|string| +|**Query**|**code**
*required*|code|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**404**|No Content| +|**500**|No Content| + + +#### Tags + +* Oauth + + + +### SignUp user +``` +POST /api/v1/user/signup +``` + + +#### Description +signup by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Body**|**User**
*required*|User|[types.SignUpRequest](#types-signuprequest)| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|[model.User](#model-user)| +|**400**||No Content| +|**500**||No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* User + + + +### Reset Password For User +``` +POST /api/v1/users/:id/reset_password +``` + + +#### Description +reset password by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Body**|**User**
*required*|User|[types.ResetPasswordRequest](#types-resetpasswordrequest)| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* User + + + +### Get User Roles +``` +GET /api/v1/users/:id/roles +``` + + +#### Description +get roles by json config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| + + +#### Responses + +|HTTP Code|Description|Schema| +|---|---|---| +|**200**|OK|< string > array| +|**400**||No Content| +|**500**||No Content| + + +#### Produces + +* `application/json` + + +#### Tags + +* User + + + +### Add Role For User +``` +PUT /api/v1/users/:id/roles/:role +``` + + +#### Description +add role to user by uri config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| +|**Path**|**role**
*required*|role|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Users + + + +### Delete Role For User +``` +DELETE /api/v1/users/:id/roles/:role +``` + + +#### Description +delete role by uri config + + +#### Parameters + +|Type|Name|Description|Schema| +|---|---|---|---| +|**Path**|**id**
*required*|id|string| +|**Path**|**role**
*required*|role|string| + + +#### Responses + +|HTTP Code|Schema| +|---|---| +|**200**|No Content| +|**400**|No Content| +|**500**|No Content| + + +#### Consumes + +* `application/json` + + +#### Produces + +* `application/json` + + +#### Tags + +* Users + + + + + +## Definitions + + +### model.Assertion + +|Name|Schema| +|---|---| +|**key**
*optional*|string| +|**policy**
*optional*|< < string > array > array| +|**policyMap**
*optional*|< string, integer > map| +|**rm**
*optional*|[rbac.RoleManager](#rbac-rolemanager)| +|**tokens**
*optional*|< string > array| +|**value**
*optional*|string| + + + +### model.AssertionMap +*Type* : < string, [model.Assertion](#model-assertion) > map + + + +### model.CDN + +|Name|Schema| +|---|---| +|**cdnclusterID**
*optional*|integer| +|**download_port**
*optional*|integer| +|**host_name**
*optional*|string| +|**idc**
*optional*|string| +|**ip**
*optional*|string| +|**location**
*optional*|string| +|**port**
*optional*|integer| +|**status**
*optional*|string| + + + +### model.CDNCluster + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**config**
*optional*|[model.JSONMap](#model-jsonmap)| +|**is_default**
*optional*|boolean| +|**name**
*optional*|string| +|**securityGroupID**
*optional*|integer| + + + +### model.JSONMap +*Type* : object + + + +### model.Oauth + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**client_id**
*optional*|string| +|**client_secret**
*optional*|string| +|**name**
*optional*|string| +|**redirect_url**
*optional*|string| + + + +### model.Scheduler + +|Name|Schema| +|---|---| +|**host_name**
*optional*|string| +|**idc**
*optional*|string| +|**ip**
*optional*|string| +|**location**
*optional*|string| +|**net_config**
*optional*|[model.JSONMap](#model-jsonmap)| +|**port**
*optional*|integer| +|**schedulerClusterID**
*optional*|integer| +|**status**
*optional*|string| +|**vips**
*optional*|string| + + + +### model.SchedulerCluster + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**client_config**
*optional*|[model.JSONMap](#model-jsonmap)| +|**config**
*optional*|[model.JSONMap](#model-jsonmap)| +|**is_default**
*optional*|boolean| +|**name**
*optional*|string| +|**scopes**
*optional*|[model.JSONMap](#model-jsonmap)| +|**securityGroupID**
*optional*|integer| + + + +### model.SecurityGroup + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**domain**
*optional*|string| +|**name**
*optional*|string| +|**proxy_domain**
*optional*|string| + + + +### model.User + +|Name|Schema| +|---|---| +|**avatar**
*optional*|string| +|**bio**
*optional*|string| +|**email**
*optional*|string| +|**location**
*optional*|string| +|**name**
*optional*|string| +|**phone**
*optional*|string| +|**private_token**
*optional*|string| +|**state**
*optional*|string| + + + +### rbac.Permission + +|Name|Schema| +|---|---| +|**action**
*required*|string| +|**object**
*required*|string| + + + +### rbac.RoleManager +*Type* : object + + + +### types.AddPermissionForRoleRequest + +|Name|Schema| +|---|---| +|**action**
*required*|string| +|**object**
*required*|string| + + + +### types.CreateCDNClusterRequest + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**config**
*required*|object| +|**name**
*required*|string| +|**security_group_domain**
*optional*|string| + + + +### types.CreateCDNRequest + +|Name|Schema| +|---|---| +|**cdn_cluster_id**
*required*|integer| +|**download_port**
*required*|integer| +|**host_name**
*required*|string| +|**idc**
*required*|string| +|**ip**
*required*|string| +|**location**
*optional*|string| +|**port**
*required*|integer| + + + +### types.CreateOauthRequest + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**client_id**
*required*|string| +|**client_secret**
*required*|string| +|**name**
*required*|string| +|**redirect_url**
*optional*|string| + + + +### types.CreatePreheatRequest + +|Name|Schema| +|---|---| +|**filter**
*optional*|string| +|**headers**
*optional*|< string, string > map| +|**scheduler_cluster_id**
*optional*|integer| +|**type**
*required*|string| +|**url**
*required*|string| + + + +### types.CreateRoleRequest + +|Name|Schema| +|---|---| +|**permissions**
*required*|< [rbac.Permission](#rbac-permission) > array| +|**role**
*required*|string| + + + +### types.CreateSchedulerClusterRequest + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**cdn_cluster_id**
*optional*|integer| +|**client_config**
*required*|object| +|**config**
*required*|object| +|**is_default**
*optional*|boolean| +|**name**
*required*|string| +|**scopes**
*optional*|object| +|**security_group_domain**
*optional*|string| + + + +### types.CreateSchedulerRequest + +|Name|Schema| +|---|---| +|**host_name**
*required*|string| +|**idc**
*required*|string| +|**ip**
*required*|string| +|**location**
*optional*|string| +|**net_config**
*optional*|object| +|**port**
*required*|integer| +|**scheduler_cluster_id**
*required*|integer| +|**vips**
*optional*|string| + + + +### types.CreateSecurityGroupRequest + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**domain**
*required*|string| +|**name**
*required*|string| +|**proxy_domain**
*optional*|string| + + + +### types.DeletePermissionForRoleRequest + +|Name|Schema| +|---|---| +|**action**
*required*|string| +|**object**
*required*|string| + + + +### types.Preheat + +|Name|Schema| +|---|---| +|**create_at**
*optional*|string| +|**id**
*optional*|string| +|**status**
*optional*|string| + + + +### types.ResetPasswordRequest + +|Name|Schema| +|---|---| +|**new_password**
*required*|string| +|**old_password**
*required*|string| + + + +### types.SignUpRequest + +|Name|Schema| +|---|---| +|**avatar**
*optional*|string| +|**bio**
*optional*|string| +|**email**
*required*|string| +|**location**
*optional*|string| +|**name**
*required*|string| +|**password**
*required*|string| +|**phone**
*optional*|string| + + + +### types.UpdateCDNClusterRequest + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**config**
*optional*|object| +|**name**
*optional*|string| +|**security_group_domain**
*optional*|string| + + + +### types.UpdateCDNRequest + +|Name|Schema| +|---|---| +|**cdn_cluster_id**
*optional*|integer| +|**download_port**
*optional*|integer| +|**idc**
*optional*|string| +|**ip**
*optional*|string| +|**location**
*optional*|string| +|**port**
*optional*|integer| + + + +### types.UpdateOauthRequest + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**client_id**
*optional*|string| +|**client_secret**
*optional*|string| +|**name**
*optional*|string| +|**redirect_url**
*optional*|string| + + + +### types.UpdateSchedulerClusterRequest + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**cdn_cluster_id**
*optional*|integer| +|**client_config**
*optional*|object| +|**config**
*optional*|object| +|**is_default**
*optional*|boolean| +|**name**
*optional*|string| +|**scopes**
*optional*|object| +|**security_group_domain**
*optional*|string| + + + +### types.UpdateSchedulerRequest + +|Name|Schema| +|---|---| +|**idc**
*optional*|string| +|**ip**
*optional*|string| +|**location**
*optional*|string| +|**net_config**
*optional*|object| +|**port**
*optional*|integer| +|**scheduler_cluster_id**
*optional*|integer| +|**scheduler_id**
*optional*|integer| +|**vips**
*optional*|string| + + + +### types.UpdateSecurityGroupRequest + +|Name|Schema| +|---|---| +|**bio**
*optional*|string| +|**domain**
*optional*|string| +|**name**
*optional*|string| +|**proxy_domain**
*optional*|string| + + + + + diff --git a/docs/en/user-guide/preheat/preheat.md b/docs/en/user-guide/preheat/preheat.md new file mode 100644 index 000000000..223ab74c7 --- /dev/null +++ b/docs/en/user-guide/preheat/preheat.md @@ -0,0 +1,39 @@ +# Preheat + +P2P provides two types of preheating: `image` and `file`. Users can be preheat in the `console` or directly call `preheat api` for preheating + +## Console + +TODO + +## API + +Use preheat apis for preheating. First create a POST request for preheating, you can refer to [create preheat api document](../../api/api.md#create-preheat) + +```bash +curl --request POST 'http://dragonfly-manager:8080/api/v1/preheats' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "type": "image", + "url": "https://registry-1.docker.io/v2/library/busybox/manifests/latest", + "scheduler_cluster_id": 1 +}' +``` + +If the output of command above has content like + +```bash +{"id":"group_28439e0b-d4c3-43bf-945e-482b54c49dc5","status":"PENDING","create_at":"2021-10-09T11:54:50.6182794Z"} +``` + +Polling the preheating status with id. if status is `SUCCESS`, preheating is successful, you can refer to [get preheat api document](../../api/api.md#get-preheat) + +```bash +curl --request GET 'http://manager-domain:8080/api/v1/preheats/group_28439e0b-d4c3-43bf-945e-482b54c49dc5' +``` + +If the status is `SUCCESS`, the preheating is successful. + +```bash +{"id":"group_28439e0b-d4c3-43bf-945e-482b54c49dc5","status":"SUCCESS","create_at":"2021-10-09T11:54:50.5712334Z"} +``` diff --git a/docs/en/user-guide/quick-start.md b/docs/en/user-guide/quick-start.md index 596d9452f..6564ccdd6 100644 --- a/docs/en/user-guide/quick-start.md +++ b/docs/en/user-guide/quick-start.md @@ -23,3 +23,4 @@ This table describes some container runtimes version and documents. - Container Runtimes - [cri-o mirror](../user-guide/registry-mirror/cri-o.md) - make Dragonfly as Registry Mirror for CRIO daemon - [cri-containerd mirror](../user-guide/registry-mirror/cri-containerd.md) - make Dragonfly as Registry Mirror for containerd daemon +- [preheat](../user-guide/preheat/preheat.md) - preheat feature diff --git a/docs/zh-CN/api/api.md b/docs/zh-CN/api/api.md new file mode 100644 index 000000000..325e937fa --- /dev/null +++ b/docs/zh-CN/api/api.md @@ -0,0 +1,2599 @@ +# Dragonfly Manager + + + +## 概览 +Dragonfly Manager Server + + +### 版本信息 +*版本* : 1.0.0 + + +### 许可信息 +*许可证* : Apache 2.0 +*服务条款* : null + + +### URI scheme +*域名* : localhost:8080 +*基础路径* : /api/v1 + + + + + +## 路径 + + +### Create CDNCluster +``` +POST /api/v1/cdn-clusters +``` + + +#### 说明 +create by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Body**|**CDNCluster**
*必填*|DNCluster|[types.CreateCDNClusterRequest](#types-createcdnclusterrequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.CDNCluster](#model-cdncluster)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDNCluster + + + +### Get CDNClusters +``` +GET /api/v1/cdn-clusters +``` + + +#### 说明 +Get CDNClusters + + +#### 参数 + +|类型|名称|说明|类型|默认值| +|---|---|---|---|---| +|**Query**|**page**
*必填*|current page|integer|`0`| +|**Query**|**per_page**
*必填*|return max item count, default 10, max 50|integer|`10`| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|< [model.CDNCluster](#model-cdncluster) > array| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDNCluster + + + +### Get CDNCluster +``` +GET /api/v1/cdn-clusters/{id} +``` + + +#### 说明 +Get CDNCluster by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.CDNCluster](#model-cdncluster)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDNCluster + + + +### Destroy CDNCluster +``` +DELETE /api/v1/cdn-clusters/{id} +``` + + +#### 说明 +Destroy by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDNCluster + + + +### Update CDNCluster +``` +PATCH /api/v1/cdn-clusters/{id} +``` + + +#### 说明 +Update by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| +|**Body**|**CDNCluster**
*必填*|CDNCluster|[types.UpdateCDNClusterRequest](#types-updatecdnclusterrequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.CDNCluster](#model-cdncluster)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDNCluster + + + +### Add Instance to CDNCluster +``` +PUT /api/v1/cdn-clusters/{id}/cdns/{cdn_id} +``` + + +#### 说明 +Add CDN to CDNCluster + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**cdn_id**
*必填*|cdn id|string| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDNCluster + + + +### Add SchedulerCluster to CDNCluster +``` +PUT /api/v1/cdn-clusters/{id}/scheduler-clusters/{scheduler_cluster_id} +``` + + +#### 说明 +Add SchedulerCluster to CDNCluster + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| +|**Path**|**scheduler_cluster_id**
*必填*|scheduler cluster id|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDNCluster + + + +### Create CDN +``` +POST /api/v1/cdns +``` + + +#### 说明 +create by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Body**|**CDN**
*必填*|CDN|[types.CreateCDNRequest](#types-createcdnrequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.CDN](#model-cdn)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDN + + + +### Get CDNs +``` +GET /api/v1/cdns +``` + + +#### 说明 +Get CDNs + + +#### 参数 + +|类型|名称|说明|类型|默认值| +|---|---|---|---|---| +|**Query**|**page**
*必填*|current page|integer|`0`| +|**Query**|**per_page**
*必填*|return max item count, default 10, max 50|integer|`10`| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|< [model.CDN](#model-cdn) > array| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDN + + + +### Get CDN +``` +GET /api/v1/cdns/{id} +``` + + +#### 说明 +Get CDN by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.CDN](#model-cdn)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDN + + + +### Destroy CDN +``` +DELETE /api/v1/cdns/{id} +``` + + +#### 说明 +Destroy by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDN + + + +### Update CDN +``` +PATCH /api/v1/cdns/{id} +``` + + +#### 说明 +Update by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| +|**Body**|**CDN**
*必填*|CDN|[types.UpdateCDNRequest](#types-updatecdnrequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.CDN](#model-cdn)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* CDN + + + +### Get Health +``` +GET /api/v1/healthy +``` + + +#### 说明 +Get app health + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Health + + + +### Create Oauth +``` +POST /api/v1/oauth +``` + + +#### 说明 +create by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Body**|**Oauth**
*必填*|Oauth|[types.CreateOauthRequest](#types-createoauthrequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.Oauth](#model-oauth)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Oauth + + + +### Get Oauths +``` +GET /api/v1/oauth +``` + + +#### 说明 +Get Oauths + + +#### 参数 + +|类型|名称|说明|类型|默认值| +|---|---|---|---|---| +|**Query**|**page**
*必填*|current page|integer|`0`| +|**Query**|**per_page**
*必填*|return max item count, default 10, max 50|integer|`10`| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|< [model.Oauth](#model-oauth) > array| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Oauth + + + +### Get Oauth +``` +GET /api/v1/oauth/{id} +``` + + +#### 说明 +Get Oauth by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.Oauth](#model-oauth)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Oauth + + + +### Destroy Oauth +``` +DELETE /api/v1/oauth/{id} +``` + + +#### 说明 +Destroy by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Oauth + + + +### Update Oauth +``` +PATCH /api/v1/oauth/{id} +``` + + +#### 说明 +Update by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| +|**Body**|**Oauth**
*必填*|Oauth|[types.UpdateOauthRequest](#types-updateoauthrequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.Oauth](#model-oauth)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Oauth + + + +### Get Permissions +``` +GET /api/v1/permissions +``` + + +#### 说明 +Get Permissions + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|< [rbac.Permission](#rbac-permission) > array| +|**400**||无内容| +|**500**||无内容| + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Permission + + + +### Create Preheat +``` +POST /api/v1/preheats +``` + + +#### 说明 +create by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Body**|**CDN**
*必填*|Preheat|[types.CreatePreheatRequest](#types-createpreheatrequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[types.Preheat](#types-preheat)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Preheat + + + +### Get Preheat +``` +GET /api/v1/preheats/{id} +``` + + +#### 说明 +Get Preheat by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[types.Preheat](#types-preheat)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Preheat + + + +### Create Role +``` +POST /api/v1/roles +``` + + +#### 说明 +Create Role by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Body**|**Role**
*必填*|Role|[types.CreateRoleRequest](#types-createrolerequest)| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Role + + + +### Get Roles +``` +GET /api/v1/roles +``` + + +#### 说明 +Get roles + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Role + + + +### Get Role +``` +GET /api/v1/roles/:role +``` + + +#### 说明 +Get Role + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**role**
*必填*|role|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Role + + + +### Destroy Role +``` +DELETE /api/v1/roles/:role +``` + + +#### 说明 +Destroy role by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**role**
*必填*|role|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Role + + + +### Add Permission For Role +``` +POST /api/v1/roles/:role/permissions +``` + + +#### 说明 +Add Permission by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**role**
*必填*|role|string| +|**Body**|**Permission**
*必填*|Permission|[types.AddPermissionForRoleRequest](#types-addpermissionforrolerequest)| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Role + + + +### Update Role +``` +DELETE /api/v1/roles/:role/permissions +``` + + +#### 说明 +Remove Role Permission by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**role**
*必填*|role|string| +|**Body**|**Permission**
*必填*|Permission|[types.DeletePermissionForRoleRequest](#types-deletepermissionforrolerequest)| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Role + + + +### Create SchedulerCluster +``` +POST /api/v1/scheduler-clusters +``` + + +#### 说明 +create by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Body**|**SchedulerCluster**
*必填*|SchedulerCluster|[types.CreateSchedulerClusterRequest](#types-createschedulerclusterrequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.SchedulerCluster](#model-schedulercluster)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SchedulerCluster + + + +### Get SchedulerClusters +``` +GET /api/v1/scheduler-clusters +``` + + +#### 说明 +Get SchedulerClusters + + +#### 参数 + +|类型|名称|说明|类型|默认值| +|---|---|---|---|---| +|**Query**|**page**
*必填*|current page|integer|`0`| +|**Query**|**per_page**
*必填*|return max item count, default 10, max 50|integer|`10`| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|< [model.SchedulerCluster](#model-schedulercluster) > array| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SchedulerCluster + + + +### Get SchedulerCluster +``` +GET /api/v1/scheduler-clusters/{id} +``` + + +#### 说明 +Get SchedulerCluster by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.SchedulerCluster](#model-schedulercluster)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SchedulerCluster + + + +### Destroy SchedulerCluster +``` +DELETE /api/v1/scheduler-clusters/{id} +``` + + +#### 说明 +Destroy by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SchedulerCluster + + + +### Update SchedulerCluster +``` +PATCH /api/v1/scheduler-clusters/{id} +``` + + +#### 说明 +Update by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| +|**Body**|**SchedulerCluster**
*必填*|SchedulerCluster|[types.UpdateSchedulerClusterRequest](#types-updateschedulerclusterrequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.SchedulerCluster](#model-schedulercluster)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SchedulerCluster + + + +### Add Scheduler to schedulerCluster +``` +PUT /api/v1/scheduler-clusters/{id}/schedulers/{scheduler_id} +``` + + +#### 说明 +Add Scheduler to schedulerCluster + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| +|**Path**|**scheduler_id**
*必填*|scheduler id|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SchedulerCluster + + + +### Create Scheduler +``` +POST /api/v1/schedulers +``` + + +#### 说明 +create by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Body**|**Scheduler**
*必填*|Scheduler|[types.CreateSchedulerRequest](#types-createschedulerrequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.Scheduler](#model-scheduler)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Scheduler + + + +### Get Schedulers +``` +GET /api/v1/schedulers +``` + + +#### 说明 +Get Schedulers + + +#### 参数 + +|类型|名称|说明|类型|默认值| +|---|---|---|---|---| +|**Query**|**page**
*必填*|current page|integer|`0`| +|**Query**|**per_page**
*必填*|return max item count, default 10, max 50|integer|`10`| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|< [model.Scheduler](#model-scheduler) > array| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Scheduler + + + +### Get Scheduler +``` +GET /api/v1/schedulers/{id} +``` + + +#### 说明 +Get Scheduler by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.Scheduler](#model-scheduler)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Scheduler + + + +### Destroy Scheduler +``` +DELETE /api/v1/schedulers/{id} +``` + + +#### 说明 +Destroy by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Scheduler + + + +### Update Scheduler +``` +PATCH /api/v1/schedulers/{id} +``` + + +#### 说明 +Update by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| +|**Body**|**Scheduler**
*必填*|Scheduler|[types.UpdateSchedulerRequest](#types-updateschedulerrequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.Scheduler](#model-scheduler)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Scheduler + + + +### Create SecurityGroup +``` +POST /api/v1/security-groups +``` + + +#### 说明 +create by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Body**|**SecurityGroup**
*必填*|SecurityGroup|[types.CreateSecurityGroupRequest](#types-createsecuritygrouprequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.SecurityGroup](#model-securitygroup)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SecurityGroup + + + +### Get SecurityGroups +``` +GET /api/v1/security-groups +``` + + +#### 说明 +Get SecurityGroups + + +#### 参数 + +|类型|名称|说明|类型|默认值| +|---|---|---|---|---| +|**Query**|**page**
*必填*|current page|integer|`0`| +|**Query**|**per_page**
*必填*|return max item count, default 10, max 50|integer|`10`| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|< [model.SecurityGroup](#model-securitygroup) > array| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SecurityGroup + + + +### Get SecurityGroup +``` +GET /api/v1/security-groups/{id} +``` + + +#### 说明 +Get SecurityGroup by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.SecurityGroup](#model-securitygroup)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SecurityGroup + + + +### Update SecurityGroup +``` +PATCH /api/v1/security-groups/{id} +``` + + +#### 说明 +Update by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| +|**Body**|**SecurityGroup**
*必填*|SecurityGroup|[types.UpdateSecurityGroupRequest](#types-updatesecuritygrouprequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.SecurityGroup](#model-securitygroup)| +|**400**||无内容| +|**404**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SecurityGroup + + + +### Add CDN to SecurityGroup +``` +PUT /api/v1/security-groups/{id}/cdn-clusters/{cdn_cluster_id} +``` + + +#### 说明 +Add CDN to SecurityGroup + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**cdn_cluster_id**
*必填*|cdn cluster id|string| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SecurityGroup + + + +### Add Scheduler to SecurityGroup +``` +PUT /api/v1/security-groups/{id}/scheduler-clusters/{scheduler_cluster_id} +``` + + +#### 说明 +Add Scheduler to SecurityGroup + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| +|**Path**|**scheduler_cluster_id**
*必填*|scheduler cluster id|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SecurityGroup + + + +### Destroy SecurityGroup +``` +DELETE /api/v1/securityGroups/{id} +``` + + +#### 说明 +Destroy by id + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* SecurityGroup + + + +### Oauth Signin +``` +GET /api/v1/user/signin/{name} +``` + + +#### 说明 +oauth signin by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**name**
*必填*|name|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* User + + + +### Oauth Signin Callback +``` +GET /api/v1/user/signin/{name}/callback +``` + + +#### 说明 +oauth signin callback by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**name**
*必填*|name|string| +|**Query**|**code**
*必填*|code|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**404**|无内容| +|**500**|无内容| + + +#### 标签 + +* Oauth + + + +### SignUp user +``` +POST /api/v1/user/signup +``` + + +#### 说明 +signup by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Body**|**User**
*必填*|User|[types.SignUpRequest](#types-signuprequest)| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|[model.User](#model-user)| +|**400**||无内容| +|**500**||无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* User + + + +### Reset Password For User +``` +POST /api/v1/users/:id/reset_password +``` + + +#### 说明 +reset password by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Body**|**User**
*必填*|User|[types.ResetPasswordRequest](#types-resetpasswordrequest)| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* User + + + +### Get User Roles +``` +GET /api/v1/users/:id/roles +``` + + +#### 说明 +get roles by json config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| + + +#### 响应 + +|HTTP代码|说明|类型| +|---|---|---| +|**200**|OK|< string > array| +|**400**||无内容| +|**500**||无内容| + + +#### 生成 + +* `application/json` + + +#### 标签 + +* User + + + +### Add Role For User +``` +PUT /api/v1/users/:id/roles/:role +``` + + +#### 说明 +add role to user by uri config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| +|**Path**|**role**
*必填*|role|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Users + + + +### Delete Role For User +``` +DELETE /api/v1/users/:id/roles/:role +``` + + +#### 说明 +delete role by uri config + + +#### 参数 + +|类型|名称|说明|类型| +|---|---|---|---| +|**Path**|**id**
*必填*|id|string| +|**Path**|**role**
*必填*|role|string| + + +#### 响应 + +|HTTP代码|类型| +|---|---| +|**200**|无内容| +|**400**|无内容| +|**500**|无内容| + + +#### 消耗 + +* `application/json` + + +#### 生成 + +* `application/json` + + +#### 标签 + +* Users + + + + + +## 定义 + + +### model.Assertion + +|名称|类型| +|---|---| +|**key**
*可选*|string| +|**policy**
*可选*|< < string > array > array| +|**policyMap**
*可选*|< string, integer > map| +|**rm**
*可选*|[rbac.RoleManager](#rbac-rolemanager)| +|**tokens**
*可选*|< string > array| +|**value**
*可选*|string| + + + +### model.AssertionMap +*类型* : < string, [model.Assertion](#model-assertion) > map + + + +### model.CDN + +|名称|类型| +|---|---| +|**cdnclusterID**
*可选*|integer| +|**download_port**
*可选*|integer| +|**host_name**
*可选*|string| +|**idc**
*可选*|string| +|**ip**
*可选*|string| +|**location**
*可选*|string| +|**port**
*可选*|integer| +|**status**
*可选*|string| + + + +### model.CDNCluster + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**config**
*可选*|[model.JSONMap](#model-jsonmap)| +|**is_default**
*可选*|boolean| +|**name**
*可选*|string| +|**securityGroupID**
*可选*|integer| + + + +### model.JSONMap +*类型* : object + + + +### model.Oauth + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**client_id**
*可选*|string| +|**client_secret**
*可选*|string| +|**name**
*可选*|string| +|**redirect_url**
*可选*|string| + + + +### model.Scheduler + +|名称|类型| +|---|---| +|**host_name**
*可选*|string| +|**idc**
*可选*|string| +|**ip**
*可选*|string| +|**location**
*可选*|string| +|**net_config**
*可选*|[model.JSONMap](#model-jsonmap)| +|**port**
*可选*|integer| +|**schedulerClusterID**
*可选*|integer| +|**status**
*可选*|string| +|**vips**
*可选*|string| + + + +### model.SchedulerCluster + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**client_config**
*可选*|[model.JSONMap](#model-jsonmap)| +|**config**
*可选*|[model.JSONMap](#model-jsonmap)| +|**is_default**
*可选*|boolean| +|**name**
*可选*|string| +|**scopes**
*可选*|[model.JSONMap](#model-jsonmap)| +|**securityGroupID**
*可选*|integer| + + + +### model.SecurityGroup + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**domain**
*可选*|string| +|**name**
*可选*|string| +|**proxy_domain**
*可选*|string| + + + +### model.User + +|名称|类型| +|---|---| +|**avatar**
*可选*|string| +|**bio**
*可选*|string| +|**email**
*可选*|string| +|**location**
*可选*|string| +|**name**
*可选*|string| +|**phone**
*可选*|string| +|**private_token**
*可选*|string| +|**state**
*可选*|string| + + + +### rbac.Permission + +|名称|类型| +|---|---| +|**action**
*必填*|string| +|**object**
*必填*|string| + + + +### rbac.RoleManager +*类型* : object + + + +### types.AddPermissionForRoleRequest + +|名称|类型| +|---|---| +|**action**
*必填*|string| +|**object**
*必填*|string| + + + +### types.CreateCDNClusterRequest + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**config**
*必填*|object| +|**name**
*必填*|string| +|**security_group_domain**
*可选*|string| + + + +### types.CreateCDNRequest + +|名称|类型| +|---|---| +|**cdn_cluster_id**
*必填*|integer| +|**download_port**
*必填*|integer| +|**host_name**
*必填*|string| +|**idc**
*必填*|string| +|**ip**
*必填*|string| +|**location**
*可选*|string| +|**port**
*必填*|integer| + + + +### types.CreateOauthRequest + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**client_id**
*必填*|string| +|**client_secret**
*必填*|string| +|**name**
*必填*|string| +|**redirect_url**
*可选*|string| + + + +### types.CreatePreheatRequest + +|名称|类型| +|---|---| +|**filter**
*可选*|string| +|**headers**
*可选*|< string, string > map| +|**scheduler_cluster_id**
*可选*|integer| +|**type**
*必填*|string| +|**url**
*必填*|string| + + + +### types.CreateRoleRequest + +|名称|类型| +|---|---| +|**permissions**
*必填*|< [rbac.Permission](#rbac-permission) > array| +|**role**
*必填*|string| + + + +### types.CreateSchedulerClusterRequest + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**cdn_cluster_id**
*可选*|integer| +|**client_config**
*必填*|object| +|**config**
*必填*|object| +|**is_default**
*可选*|boolean| +|**name**
*必填*|string| +|**scopes**
*可选*|object| +|**security_group_domain**
*可选*|string| + + + +### types.CreateSchedulerRequest + +|名称|类型| +|---|---| +|**host_name**
*必填*|string| +|**idc**
*必填*|string| +|**ip**
*必填*|string| +|**location**
*可选*|string| +|**net_config**
*可选*|object| +|**port**
*必填*|integer| +|**scheduler_cluster_id**
*必填*|integer| +|**vips**
*可选*|string| + + + +### types.CreateSecurityGroupRequest + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**domain**
*必填*|string| +|**name**
*必填*|string| +|**proxy_domain**
*可选*|string| + + + +### types.DeletePermissionForRoleRequest + +|名称|类型| +|---|---| +|**action**
*必填*|string| +|**object**
*必填*|string| + + + +### types.Preheat + +|名称|类型| +|---|---| +|**create_at**
*可选*|string| +|**id**
*可选*|string| +|**status**
*可选*|string| + + + +### types.ResetPasswordRequest + +|名称|类型| +|---|---| +|**new_password**
*必填*|string| +|**old_password**
*必填*|string| + + + +### types.SignUpRequest + +|名称|类型| +|---|---| +|**avatar**
*可选*|string| +|**bio**
*可选*|string| +|**email**
*必填*|string| +|**location**
*可选*|string| +|**name**
*必填*|string| +|**password**
*必填*|string| +|**phone**
*可选*|string| + + + +### types.UpdateCDNClusterRequest + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**config**
*可选*|object| +|**name**
*可选*|string| +|**security_group_domain**
*可选*|string| + + + +### types.UpdateCDNRequest + +|名称|类型| +|---|---| +|**cdn_cluster_id**
*可选*|integer| +|**download_port**
*可选*|integer| +|**idc**
*可选*|string| +|**ip**
*可选*|string| +|**location**
*可选*|string| +|**port**
*可选*|integer| + + + +### types.UpdateOauthRequest + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**client_id**
*可选*|string| +|**client_secret**
*可选*|string| +|**name**
*可选*|string| +|**redirect_url**
*可选*|string| + + + +### types.UpdateSchedulerClusterRequest + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**cdn_cluster_id**
*可选*|integer| +|**client_config**
*可选*|object| +|**config**
*可选*|object| +|**is_default**
*可选*|boolean| +|**name**
*可选*|string| +|**scopes**
*可选*|object| +|**security_group_domain**
*可选*|string| + + + +### types.UpdateSchedulerRequest + +|名称|类型| +|---|---| +|**idc**
*可选*|string| +|**ip**
*可选*|string| +|**location**
*可选*|string| +|**net_config**
*可选*|object| +|**port**
*可选*|integer| +|**scheduler_cluster_id**
*可选*|integer| +|**scheduler_id**
*可选*|integer| +|**vips**
*可选*|string| + + + +### types.UpdateSecurityGroupRequest + +|名称|类型| +|---|---| +|**bio**
*可选*|string| +|**domain**
*可选*|string| +|**name**
*可选*|string| +|**proxy_domain**
*可选*|string| + + + + + diff --git a/docs/zh-CN/user-guide/preheat/preheat.md b/docs/zh-CN/user-guide/preheat/preheat.md new file mode 100644 index 000000000..c7ccd1c91 --- /dev/null +++ b/docs/zh-CN/user-guide/preheat/preheat.md @@ -0,0 +1,40 @@ +# 预热 + +P2P 加速可预热两种类型数据 `image` 和 `file`, 用户可以在控制台操作或者直接调用 api 进行预热。 + +## Console + +TODO + +## API + +用户使用 api 进行预热。首先发送 POST 请求创建预热任务,具体 api 可以参考文档 [create preheat api document](../../api/api.md#create-preheat)。 + +```bash +curl --request POST 'http://dragonfly-manager:8080/api/v1/preheats' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "type": "image", + "url": "https://registry-1.docker.io/v2/library/busybox/manifests/latest", + "scheduler_cluster_id": 1 +}' +``` + +命令行日志返回预热任务 ID。 + +```bash +{"id":"group_28439e0b-d4c3-43bf-945e-482b54c49dc5","status":"PENDING","create_at":"2021-10-09T11:54:50.6182794Z"} +``` + +使用预热任务 ID 轮训查询任务是否成功,具体 api 可以参考文档 [get preheat api document](../../api/api.md#get-preheat)。 + + +```bash +curl --request GET 'http://manager-domain:8080/api/v1/preheats/group_28439e0b-d4c3-43bf-945e-482b54c49dc5' +``` + +如果返回预热任务状态为 `SUCCESS`,表示预热成功。 + +```bash +{"id":"group_28439e0b-d4c3-43bf-945e-482b54c49dc5","status":"SUCCESS","create_at":"2021-10-09T11:54:50.5712334Z"} +``` diff --git a/docs/zh-CN/user-guide/quick-start.md b/docs/zh-CN/user-guide/quick-start.md index 8eb9d95fd..336a1e714 100644 --- a/docs/zh-CN/user-guide/quick-start.md +++ b/docs/zh-CN/user-guide/quick-start.md @@ -22,3 +22,4 @@ - Container Runtimes - [cri-o mirror](../user-guide/registry-mirror/cri-o.md) - 使用 Dragonfly 作为 CRIO daemon 的 Registry Mirror - [cri-containerd mirror](../user-guide/registry-mirror/cri-containerd.md) - 使用 Dragonfly 作为 containerd daemon 的 Registry Mirror +- [preheat](../user-guide/preheat/preheat.md) - 预热功能