mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-05-07 22:24:32 +08:00
99 lines
2.8 KiB
Go
99 lines
2.8 KiB
Go
// Copyright 2019 Yunion
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package compute
|
|
|
|
import "yunion.io/x/onecloud/pkg/apis"
|
|
|
|
type SDBInstanceAccountPrivilege struct {
|
|
// 数据库名称或Id
|
|
// required: true
|
|
Database string `json:"database"`
|
|
// swagger:ignore
|
|
DBInstancedatabaseId string
|
|
|
|
// 权限类型
|
|
//
|
|
//
|
|
//
|
|
// | 平台 |Rds引擎 | 支持类型 |
|
|
// | ---- |------- | -------- |
|
|
// | Aliyun |MySQL, MariaBD | rw, r, ddl, dml |
|
|
// | Aliyun |SQLServer | rw, r, owner |
|
|
// | Huawei |MySQL, MariaDB | rw, r |
|
|
// 同一平台不同的rds类型支持的权限不尽相同
|
|
// required: true
|
|
Privilege string `json:"privilege"`
|
|
}
|
|
|
|
type DBInstanceAccountCreateInput struct {
|
|
apis.StatusStandaloneResourceCreateInput
|
|
|
|
// rds实例名称或Id,建议使用Id
|
|
//
|
|
//
|
|
//
|
|
// | 平台 |支持Rds引擎 |
|
|
// | ---- |------- |
|
|
// | Aliyun |MySQL, MariaBD, SQLServer |
|
|
// | 华为云 |MySQL, MariaBD |
|
|
// | 腾讯云 |MySQL |
|
|
// required: true
|
|
// 阿里云SQL Server 2017集群版不支持创建账号
|
|
// 实例状态必须是运行中
|
|
DBInstance string `json:"dbinstance"`
|
|
// swagger:ignore
|
|
DBInstanceId string `json:"dbinstance_id"`
|
|
|
|
// 账号密码,若不指定,则会随机生成
|
|
// required: false
|
|
Password string `json:"password"`
|
|
|
|
// 账号权限
|
|
// required: false
|
|
Privileges []SDBInstanceAccountPrivilege `json:"privileges"`
|
|
}
|
|
|
|
type SDBInstanceSetPrivilegesInput struct {
|
|
Privileges []SDBInstanceAccountPrivilege `json:"privileges"`
|
|
}
|
|
|
|
type DBInstancePrivilege struct {
|
|
// 数据库名称
|
|
Database string `json:"database"`
|
|
// 账号名称
|
|
Account string `json:"account"`
|
|
// 数据库Id
|
|
DBInstancedatabaseId string `json:"dbinstancedatabase_id"`
|
|
// 权限
|
|
Privileges string `json:"privileges"`
|
|
}
|
|
|
|
type DBInstanceAccountDetails struct {
|
|
apis.StatusStandaloneResourceDetails
|
|
apis.ProjectizedResourceInfo
|
|
DBInstanceResourceInfo
|
|
|
|
SDBInstanceAccount
|
|
|
|
// 账号权限列表
|
|
DBInstanceprivileges []DBInstancePrivilege `json:"dbinstanceprivileges,allowempty"`
|
|
|
|
ProjectId string `json:"tenant_id"`
|
|
}
|
|
|
|
type DBInstanceAccountUpdateInput struct {
|
|
apis.StatusStandaloneResourceBaseUpdateInput
|
|
}
|